Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev: Governance Setting – Pending Requests/History #135

Closed
31 of 32 tasks
ori-near opened this issue Nov 27, 2024 · 0 comments · Fixed by #172
Closed
31 of 32 tasks

Dev: Governance Setting – Pending Requests/History #135

ori-near opened this issue Nov 27, 2024 · 0 comments · Fixed by #172
Assignees

Comments

@ori-near
Copy link

ori-near commented Nov 27, 2024

Background

We recently introduced a Governance Setting page for admin to configure various settings (see #90, #116, #124). The admin is able to make various setting policy requests, but currently there is no way to vote on them and take effect once the required voting threshold is met. This prevents the admin from actually applying these changes, leaving them in an infinite pending state.

This ticket focuses on implementing a "Pending Requests" component within the Settings page, which would allow users with voting permissions to see all pending setting policy requests and vote on them, which ultimately will enable the teams to apply the changes.

User Story

As an admin with vote permissions, I want the ability to vote on pending setting requests so that the policy changes we want take effect.

Acceptance Criteria

1. Requests Configuration Section

  • A new "Requests" section is added to the Treasury Settings left sidebar. It is the first page that users see when they click on the global "Settings" tab.
  • The right side of the Requests section is broken into two tabs, displaying the total number of requests next to their titles
    • Pending Requests
    • History
    • There is pagination at the bottom to handle a large number of requests (e.g. greater than 20).
    • Sorting options are available to organize the requests by clicking on the column header.
  • Permissions:
    • All users can view the new Requests section, but cannot take any action unless they have permissions
    • Users with Vote permissions can approve or reject pending request
    • Users with Create Request can delete pending requests ** NOTE – need to confirm this with @Megha-Dev-19

2. Pending Requests Tab

  • The "Pending Requests" tab displays a list of all pending Settings requests, including the following columns
    • ID: The ID of the pending request (default sort, ascending order from 01)
    • Created Date: The date the pending request was created (Note: sorted by default by most recent at the top)
    • Title: Shows the pending request type
    • Created By: Shows the username of the person who created this request
    • Required Votes: Shows how many votes are required
    • Votes: Shows voting distribution
    • Approvers: Shows who approved the request or rejected
    • Expiring Date: Shows when the request expires
    • Actions: Buttons for approving, rejecting, or viewing details
  • Requests require the threshold set by the voting thresholds policy settings

3. History Tab

  • The "History" tab displays a list of all completed or expired Settings requests, including the following columns
    • ID: The ID of the pending request (default sort, ascending order from 01)
    • Created Date: The date the pending request was created (Note: sorted by default by most recent at the top)
    • Status: The status of the request (e.g. Rejected, Expired, Approved)
    • Title: Shows the pending request type
    • Created By: Shows the username of the person who created this request
    • Approvers: Shows who approved or rejected

4. Processing Requests

  • When a user clicks Approve, they see a confirmation. Once they approve, they will see "You approved" message.
  • Once the voting threshold is met and the decision is to approve, the policy takes effect and the pending request moves to history tab with "Approved" status
  • Once the voting threshold is met and the decision is to reject, the policy takes effect and the pending request moves to history tab with "Rejected" status
  • If the request expires before the voting threshold is met, the pending requests moves to history tab with "Expired" status

Reference

See Settings Figma prototype, specifically the Requests tab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants