40 lines
No EOL
1.3 KiB
JavaScript
40 lines
No EOL
1.3 KiB
JavaScript
(function() {
|
|
/**
|
|
* Page for confirming an invite to a team.
|
|
*/
|
|
angular.module('quayPages').config(['pages', function(pages) {
|
|
pages.create('confirm-invite', 'confirm-invite.html', ConfirmInviteCtrl, {
|
|
'title': 'Confirm Invitation'
|
|
});
|
|
}]);
|
|
|
|
function ConfirmInviteCtrl($scope, $location, UserService, ApiService, NotificationService) {
|
|
// Monitor any user changes and place the current user into the scope.
|
|
$scope.loading = false;
|
|
$scope.inviteCode = $location.search()['code'] || '';
|
|
|
|
UserService.updateUserIn($scope, function(user) {
|
|
if (!user.anonymous && !$scope.loading) {
|
|
// Make sure to not redirect now that we have logged in. We'll conduct the redirect
|
|
// manually.
|
|
$scope.redirectUrl = null;
|
|
$scope.loading = true;
|
|
|
|
var params = {
|
|
'code': $location.search()['code']
|
|
};
|
|
|
|
ApiService.acceptOrganizationTeamInvite(null, params).then(function(resp) {
|
|
NotificationService.update();
|
|
UserService.load();
|
|
$location.path('/organization/' + resp.org + '/teams/' + resp.team);
|
|
}, function(resp) {
|
|
$scope.loading = false;
|
|
$scope.invalid = ApiService.getErrorMessage(resp, 'Invalid confirmation code');
|
|
});
|
|
}
|
|
});
|
|
|
|
$scope.redirectUrl = window.location.href;
|
|
}
|
|
})(); |