From 4192424666a93e262c67584dbb3bd2a0b816d5c6 Mon Sep 17 00:00:00 2001 From: Eric Lim Date: Wed, 18 Sep 2024 11:07:04 +0200 Subject: [PATCH] feat(api): handle generate username password behaviour in sco organization participant list page --- .../sco-organization-participant/list.hbs | 10 +++++++++- .../sco-organization-participant/list.js | 18 ++++++++++++++++++ .../sco-organization-participants/list.hbs | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/orga/app/components/sco-organization-participant/list.hbs b/orga/app/components/sco-organization-participant/list.hbs index 96f6471e912..8c9a83fe2d9 100644 --- a/orga/app/components/sco-organization-participant/list.hbs +++ b/orga/app/components/sco-organization-participant/list.hbs @@ -42,9 +42,11 @@ {{#if someSelected}} - + {{/if}} diff --git a/orga/app/components/sco-organization-participant/list.js b/orga/app/components/sco-organization-participant/list.js index d02f3e1355f..2e88f9e11e8 100644 --- a/orga/app/components/sco-organization-participant/list.js +++ b/orga/app/components/sco-organization-participant/list.js @@ -20,6 +20,7 @@ export default class ScoList extends Component { @tracked student = null; @tracked isShowingAuthenticationMethodModal = false; @tracked showResetPasswordModal = false; + @tracked showGenerateUsernamePasswordModal = false; @tracked divisions; @tracked affectedStudents = []; @@ -71,6 +72,10 @@ export default class ScoList extends Component { return Boolean(this.args.students.length); } + get isGarIdentityProvider() { + return this.currentUser.organization.isGarIdentityProvider; + } + @action openAuthenticationMethodModal(student, event) { event.stopPropagation(); @@ -95,6 +100,18 @@ export default class ScoList extends Component { this.showResetPasswordModal = false; } + @action + openGenerateUsernamePasswordModal(students, event) { + event.stopPropagation(); + this.affectedStudents = students.filter((student) => student.isAssociated); + this.showGenerateUsernamePasswordModal = true; + } + + @action + closeGenerateUsernamePasswordModal() { + this.showGenerateUsernamePasswordModal = false; + } + @action async resetPasswordForStudents(affectedStudents, resetSelectedStudents) { const affectedStudentsIds = affectedStudents.map((affectedStudents) => affectedStudents.id); @@ -111,6 +128,7 @@ export default class ScoList extends Component { this.notifications.sendSuccess( this.intl.t('pages.sco-organization-participants.messages.password-reset-success'), ); + await this.args.refreshValues(); } catch (fetchErrors) { const error = Array.isArray(fetchErrors) && fetchErrors.length > 0 && fetchErrors[0]; let errorMessage; diff --git a/orga/app/templates/authenticated/sco-organization-participants/list.hbs b/orga/app/templates/authenticated/sco-organization-participants/list.hbs index 5d6ac036853..926a4c1c3fe 100644 --- a/orga/app/templates/authenticated/sco-organization-participants/list.hbs +++ b/orga/app/templates/authenticated/sco-organization-participants/list.hbs @@ -19,5 +19,6 @@ @divisionSort={{this.divisionSort}} @lastnameSort={{this.lastnameSort}} @hasComputeOrganizationLearnerCertificabilityEnabled={{this.hasComputeOrganizationLearnerCertificabilityEnabled}} + @refreshValues={{this.refresh}} /> \ No newline at end of file