Skip to content

Mass approve/ reject functionality and UI changes for request table#335

Open
gobears01 wants to merge 11 commits intomainfrom
mass-approve
Open

Mass approve/ reject functionality and UI changes for request table#335
gobears01 wants to merge 11 commits intomainfrom
mass-approve

Conversation

@gobears01
Copy link
Copy Markdown

General Info

Allow course staff member to mass select and approve/deny requests manually. Also, allow approve/deny requests without refreshing the whole page because that is slow.
To complete this tasks. We divided work into 3 user stories:
1. Make approve / reject be AJAX request and refresh the table instead of the whole page like the current HTTP request / form submission

2. Create the UI checkboxes to select multiple extensions and potentially an option to mass select

3. Update backend to allow mass auto or mass decline

Summary

  • Added checkbox-based multi-select UI to the instructor requests table.
  • Added Approve Selected and Reject Selected batch actions.
  • Added backend mass_approve and mass_reject endpoints returning JSON for AJAX updates.
  • Updated the Stimulus requests controller to support select-all, row selection, and batch updates (including DataTable redraws).
  • Removed the hardcoded export host and made request-link generation environment-safe.
  • Move Approve Selected and Reject Selected to bottom right of the table
  • Swapped student and assignment column
  • Made student, assignment and status column cells clickable and link to request
  • Made select checkboxes UI toggles that match toggles in course settings and "Approved Extended?" in enrollment table

Testing

  • Added Rspec for approve/ reject AJAX
  • Aded controller specs covering batch approve/reject flows.
  • Added Cucumber scenarios covering button placement and status cell navigation

gobears01 and others added 11 commits March 4, 2026 20:55
- Add row/select-all checkboxes and batch approve/reject buttons in instructor requests table

- Add mass_approve and mass_reject routes + controller actions with JSON responses

- Extend Stimulus controller for batch selection/action handling with DataTable updates

- Add controller specs for mass endpoints

- Remove hardcoded export host and build environment-safe request links
- align multi-line message assignment for RuboCop

- update controller specs to use response.parsed_body and contain_exactly

- use class_double for CanvasFacade.from_user stubbing
…oxes UI to toggles to match course settings and Approved Extended toggles
@gobears01
Copy link
Copy Markdown
Author

Dear Professor @armandofox and Professor @cycomachead,

Basim and I have added the feature to mass approve/ deny requests manually and changed approve/deny backend to AJAX workflow instead of full page reloads per berkeley-cdss#274 request. We also pulled UI changes from Igor's branch and added some UI changes (as noted in summary) for the requests page. Your review is appreciated.

Sincerely,

Anthony Dam

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants