Implement new invite flow
This commit is contained in:
+17
-13
@@ -346,7 +346,7 @@
|
||||
<div class="input-group">
|
||||
<input type="text" id="passwordResetLinkInput" class="form-control" ng-value="passwordReset.resetLink" readonly/>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-primary" id="setupLinkButton" type="button" data-clipboard-target="#passwordResetLinkInput"><i class="fa fa-clipboard"></i></button>
|
||||
<button class="btn btn-primary" type="button" data-clipboard-target="#passwordResetLinkInput"><i class="fa fa-clipboard"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -354,7 +354,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{ 'users.passwordResetDialog.descriptionEmail' | tr }}</label>
|
||||
<div class="input-group">
|
||||
<input type="email" id="passwordResetEmailInput" class="form-control" ng-value="passwordReset.email"/>
|
||||
<input type="email" class="form-control" ng-value="passwordReset.email"/>
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-primary" ng-click="passwordReset.sendEmail()" ng-disabled="passwordReset.busy"><i class="fa fa-circle-notch fa-spin" ng-show="passwordReset.busy"></i> {{ 'users.passwordResetDialog.sendAction' | tr }}</button>
|
||||
</span>
|
||||
@@ -375,24 +375,28 @@
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{ 'users.invitationDialog.title' | tr:{ username: (invitation.user.username || invitation.user.email) } }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div ng-hide="invitation.inviteLink">
|
||||
<p>{{ 'users.invitationDialog.inviteLinkExplanation' | tr }}</p>
|
||||
</div>
|
||||
<div ng-show="invitation.inviteLink">
|
||||
<p>{{ 'users.invitationDialog.description' | tr:{ email: invitation.user.fallbackEmail } }}</p>
|
||||
<div class="input-group" style="margin-bottom: 10px">
|
||||
<div class="modal-body"><div class="form-group">
|
||||
<label class="control-label">{{ 'users.invitationDialog.descriptionLink' | tr }}</label>
|
||||
<div class="input-group">
|
||||
<input type="text" id="invitationLinkInput" class="form-control" ng-value="invitation.inviteLink" readonly/>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" id="setupLinkButton" type="button" data-clipboard-target="#invitationLinkInput"><i class="fa fa-clipboard"></i></button>
|
||||
<button class="btn btn-primary" type="button" data-clipboard-target="#invitationLinkInput"><i class="fa fa-clipboard"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{ 'users.invitationDialog.descriptionEmail' | tr }}</label>
|
||||
<div class="input-group">
|
||||
<input type="email" class="form-control" ng-value="invitation.email"/>
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-primary" ng-click="invitation.sendEmail()" ng-disabled="invitation.busy"><i class="fa fa-circle-notch fa-spin" ng-show="invitation.busy"></i> {{ 'users.invitationDialog.sendAction' | tr }}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal" ng-hide="invitation.inviteLink">{{ 'main.dialog.cancel' | tr }}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal" ng-show="invitation.inviteLink">{{ 'main.dialog.close' | tr }}</button>
|
||||
<button type="button" class="btn btn-success" ng-click="invitation.submit()" ng-hide="invitation.inviteLink" ng-disabled="invitation.busy"><i class="fa fa-circle-notch fa-spin" ng-show="invitation.busy"></i> {{ 'users.invitationDialog.newLinkAction' | tr }}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'main.dialog.close' | tr }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+15
-9
@@ -215,7 +215,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
|
||||
if (error) return console.error(error);
|
||||
|
||||
if ($scope.useradd.sendInvite) Client.sendInvite(userId, function (error) { if (error) console.error('Failed to send invite.', error); });
|
||||
if ($scope.useradd.sendInvite) Client.sendInviteEmail(userId, user.email, function (error) { if (error) console.error('Failed to send invite.', error); });
|
||||
|
||||
refresh();
|
||||
refreshAllUsers();
|
||||
@@ -575,24 +575,30 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
busy: false,
|
||||
inviteLink: '',
|
||||
user: null,
|
||||
email: '',
|
||||
|
||||
show: function (user) {
|
||||
$scope.invitation.user = user;
|
||||
$scope.invitation.inviteLink = '';
|
||||
$scope.invitation.busy = false;
|
||||
$scope.invitation.email = user.fallbackEmail || user.email;
|
||||
|
||||
$('#invitationModal').modal('show');
|
||||
Client.getInviteLink(user.id, function (error, result) {
|
||||
if (error) return console.error('Failed to get invite link.', error);
|
||||
|
||||
$scope.invitation.resetLink = result.inviteLink;
|
||||
|
||||
$('#invitationModal').modal('show');
|
||||
});
|
||||
},
|
||||
|
||||
submit: function () {
|
||||
sendEmail: function () {
|
||||
$scope.invitation.busy = true;
|
||||
|
||||
Client.sendInvite($scope.invitation.user.id, function (error, result) {
|
||||
Client.sendInviteEmail($scope.invitation.user.id, $scope.invitation.email, function (error) {
|
||||
if (error) return console.error('Failed to send invite email.', error);
|
||||
|
||||
$scope.invitation.busy = false;
|
||||
|
||||
if (error) return console.error(error);
|
||||
|
||||
$scope.invitation.inviteLink = result.inviteLink;
|
||||
$('#invitationModal').modal('hide');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user