Skip to content

Feature/Support Multi-Student Selection For Grant Extension Modal - #949

Closed
JoeMacl wants to merge 12 commits into
doubtfire-lms:9.xfrom
JoeMacl:feature/grant-extension-form-v4
Closed

JoeMacl wants to merge 12 commits into
doubtfire-lms:9.xfrom
JoeMacl:feature/grant-extension-form-v4

Conversation

@JoeMacl

@JoeMacl JoeMacl commented Jun 22, 2025

Copy link
Copy Markdown

Description

This PR enhances the Staff Grant Extension modal introduced in #948 by adding support for multi-student selection, allowing staff to grant extensions to multiple students simultaneously. This feature is accessible for admins under the units page.

Note: This branch only contains frontend related changes.

Full documentation for this feature can be found here: https://thoth-tech.netlify.app/products/ontrack/projects/staff-grant-extension/design/

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Logged in as both student and admin users
  • Confirmed multi-student selection works correctly
  • Validated that form prevents submission without selected students
  • Checked success and error messages display appropriately
  • Tested modal responsiveness across screen sizes

Screenshot

image

Testing Checklist:

  • Tested in latest Chrome
  • Tested in latest Safari
  • Tested in latest Firefox

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings

@b0ink b0ink mentioned this pull request Jun 25, 2026
12 tasks

@b0ink b0ink left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature will need to be rebased on to the 11.0.x branch before progressing

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ruby file needs to be removed

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ruby file needs to be removed

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ruby file needs to be removed

@b0ink b0ink left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the feature is incomplete and requires a bit of work to polish up

Comment on lines +32 to +46
students = [
{ id: 1, name: 'Joe M' },
{ id: 2, name: 'Sahiru W' },
{ id: 3, name: 'Samindi M' },
{ id: 4, name: 'Samantha W' },
{ id: 5, name: 'Samantha M' },
{ id: 6, name: 'Samantha S' },
{ id: 7, name: 'Samantha T' },
{ id: 8, name: 'Samantha U' },
{ id: 9, name: 'Samantha V' },
{ id: 10, name: 'Samantha W' },
{ id: 11, name: 'Samantha X' },
{ id: 12, name: 'Samantha Y' },
{ id: 13, name: 'Samantha Z' }
];

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Students list also needs to be fetched properly instead of these placeholders

},
): Observable<any> {
return this.httpClient.post(this.AUTH_URL, userCredentials).pipe(
return this.httpClient.post(this.AUTH_URL, userCredentials, { withCredentials: true }).pipe(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

withCredentials should not be required here

Comment on lines +27 to +30
const headers = new HttpHeaders({
'Auth-Token': authToken,
'Username': username
});

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auth token should not have to be passed manually

@b0ink

b0ink commented Jun 25, 2026

Copy link
Copy Markdown
Member

Superseded by #1074

@b0ink b0ink closed this Jun 25, 2026
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