View Issue Details

IDProjectCategoryView StatusLast Update
4916Composrpointspublic2022-09-12 19:20
ReporterPDStig Assigned ToPDStig  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Summary4916: Sweeping points system changes
DescriptionMassively overhaul the points system.

* Tighten the terminology and make it more appropriate for a robustly designed micro-economy
* Add new points escrow system via 4778; members should be able to escrow points to each other as a trust / payment for some outside product or service (which includes a written agreement sent between the members). The points are held in the system until both members indicate the escrow is satisfied. Any member can dispute an escrow. And those with moderate escrow privilege can either cancel (refund the points to the sender), complete (give the points to the recipient), partially complete (give some of the points to the recipient and refund the rest to the sender), or edit the text of an escrow.
* Conform the language, especially points.ini, with the new terminology and escrow
* Combine the gifts and chargelog tables into one points_ledger table (be sure to modify cms_merge as well)
* Ensure records in the ledger are never deleted anymore; create new records to "reverse" old records by using a status column and an AUTO_LINK column relating the two transactions
* Ledger records added from content submissions should be linked to said content via a JSON encoded column so the transaction can easily and reliably be reversed when the content is removed (and reverse points is ticked).
* Add single point ledger transaction screen so staff can view individual transactions, including which transaction it reverses or is being reversed by when applicable.
* Rename the points privileges as applicable using our new terminology set
* Remove all privileges pertaining to negative points, and never allow transacting negative points or having negative points anymore (except as a consequence of a warnings charge)
* Add privilege to replace has_actual_page_access for admin_points when viewing the points ledger.
* Add ability to edit the reasons in points ledger if member has privilege
* Add privileges for reversing or editing points transactions (separate privilege each)
* Reversing or editing transactions should be able to be done on member points profile, not just points ledger, so add an actions column when the viewing member has privilege
* When sending or escrowing points, and gift points are enabled, system should prioritise the gift points balance, and if there are not enough gift points, the rest should be sent from the member's regular points.
* Add confirmation screens when about to perform point transactions to ensure member knows exactly what is about to happen, including how many points in a transaction will be sent as gift points. Add a current timestamp to indicate "accurate as of (date/time)" in case their balance changes before proceeding.
* Overhaul point transaction notifications to include notifications for all types of point transactions (sending, receiving, debiting, crediting, and refunding), not just for receiving points. Language strings should be constructed as appropriate.
* Ensure members can view their own anonymous transactions (but not who sent the points), which was not the case before.
TagsRoadmap: v11
Attach Tags
Time estimation (hours)
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 4778 ResolvedPDStig Points escrow 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2022-09-01 19:31 PDStig New Issue
2022-09-01 19:31 PDStig Assigned To => user4172
2022-09-01 19:31 PDStig Status Not Assigned => Assigned
2022-09-01 19:31 PDStig Tag Attached: Roadmap: v11
2022-09-02 20:54 PDStig Description Updated
2022-09-02 20:54 PDStig Relationship added related to 4778
2022-09-03 20:30 Chris Graham Summary Changelog of points system changes => Sweeping points system changes
2022-09-12 19:20 PDStig Status Assigned => Resolved
2022-09-12 19:20 PDStig Resolution open => fixed