Skip to content

Add mass approve/decline UI and backend batch actions (#326, #327)#330

Open
ba88im wants to merge 7 commits intomainfrom
mass-approve-decline
Open

Add mass approve/decline UI and backend batch actions (#326, #327)#330
ba88im wants to merge 7 commits intomainfrom
mass-approve-decline

Conversation

@ba88im
Copy link

@ba88im ba88im commented Mar 6, 2026

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.

Testing

  • Added Rspec for approve/ reject AJAX
  • Aded controller specs covering batch approve/reject flows.

gobears01 and others added 4 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
@gobears01
Copy link

Dear Professor @armandofox,

Basim and I have added the feature to mass approve/ deny requests manually and changed approve/deny to AJAX instead of full page reload per this golden repo feature request and your review is appreciated.

Sincerely,

Anthony Dam

@gobears01 gobears01 requested a review from armandofox March 10, 2026 01:10
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