| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import _ from 'lodash'
- import App from '../../../base'
- export default App.controller('UserAffiliationsReconfirmController', function(
- $scope,
- UserAffiliationsDataService,
- $window
- ) {
- $scope.reconfirm = {}
- // For portals:
- $scope.userEmails = window.data.userEmails
- // For settings page:
- $scope.ui = $scope.ui || {} // $scope.ui inherited on settings page
- // For dashboard:
- $scope.allInReconfirmNotificationPeriods =
- window.data.allInReconfirmNotificationPeriods
- function sendReconfirmEmail(email) {
- $scope.ui.hasError = false
- $scope.ui.isMakingRequest = true
- UserAffiliationsDataService.resendConfirmationEmail(email)
- .then(() => {
- $scope.reconfirm[email].reconfirmationSent = true
- })
- .catch(error => {
- $scope.ui.hasError = true
- })
- .finally(() => ($scope.ui.isMakingRequest = false))
- }
- $scope.reconfirmationRemoveEmail = $window.data.reconfirmationRemoveEmail
- $scope.reconfirmedViaSAML = $window.data.reconfirmedViaSAML
- $scope.requestReconfirmation = function(obj, userEmail) {
- const email = userEmail.email
- // For the settings page, disable other parts of affiliation UI
- $scope.ui.isMakingRequest = true
- $scope.ui.isProcessing = true
- // create UI scope for requested email
- $scope.reconfirm[email] = $scope.reconfirm[email] || {} // keep existing scope for resend email requests
- const location = obj.currentTarget.getAttribute('data-location')
- const institutionId = _.get(userEmail, ['affiliation', 'institution', 'id'])
- const ssoEnabled = _.get(userEmail, [
- 'affiliation',
- 'institution',
- 'ssoEnabled'
- ])
- if (ssoEnabled) {
- $window.location.href = `${$scope.samlInitPath}?university_id=${institutionId}&reconfirm=${location}`
- } else {
- sendReconfirmEmail(email)
- }
- }
- })
|