send password for migrate

This commit is contained in:
Girish Ramakrishnan
2016-06-28 14:02:45 -05:00
parent 41e33e71c8
commit b9f0efa778
2 changed files with 30 additions and 6 deletions

View File

@@ -76,7 +76,7 @@
</div>
<!-- Modal plan change -->
<div class="modal fade" id="changePlanModal" tabindex="-1" role="dialog">
<div class="modal fade" id="planChangeModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
@@ -88,6 +88,20 @@
<br/>
<br/>
Your apps and data will be migrated to the new Cloudron and will take around 15 minutes.
<br/>
<form name="planChangeForm" role="form" novalidate ng-submit="doChangePlan(planChangeForm)" autocomplete="off">
<fieldset>
<div class="form-group" ng-class="{ 'has-error': (!planChangeForm.password.$dirty && planChange.error.password) || (planChangeForm.password.$dirty && planChangeForm.password.$invalid) }">
<label class="control-label" for="inputDeveloperModeChangePassword">Give your password to verify that you are performing that action</label>
<div class="control-label" ng-show="(!planChangeForm.password.$dirty && planChange.error.password) || (planChangeForm.password.$dirty && planChangeForm.password.$invalid)">
<small ng-show=" planChangeForm.password.$dirty && planChangeForm.password.$invalid">A password is required</small>
<small ng-show="!planChangeForm.password.$dirty && planChange.error.password">Wrong password</small>
</div>
<input type="password" class="form-control" ng-model="planChange.password" id="inputDeveloperModeChangePassword" name="password" required autofocus>
</div>
<input class="ng-hide" type="submit" ng-disabled="planChangeForm.$invalid"/>
</fieldset>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>

View File

@@ -22,7 +22,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.changePlan = {
busy: false,
error: {}
error: {},
password: ''
};
$scope.developerModeChange = {
@@ -155,13 +156,21 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
};
$scope.showChangePlan = function () {
$('#changePlanModal').modal('show');
$('#planChangeModal').modal('show');
};
function changePlanReset() {
$scope.planChange.error.password = null;
$scope.planChange.password = '';
$scope.planChangeForm.$setPristine();
$scope.planChangeForm.$setUntouched();
}
$scope.doChangePlan = function () {
$scope.changePlan.busy = true;
Client.migrate($scope.requestedSize.slug, $scope.currentRegionSlug, $scope.plans.password, function (error) {
Client.migrate($scope.requestedSize.slug, $scope.currentRegionSlug, $scope.changePlan.password, function (error) {
$scope.changePlan.busy = false;
if (error) {
@@ -169,7 +178,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
}
// we will get redirected at some point
$('#changePlanModal').modal('hide');
changePlanReset();
$('#planChangeModal').modal('hide');
$scope.changePlan.busy = false;
});
};
@@ -329,7 +339,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
});
// setup all the dialog focus handling
['developerModeChangeModal'].forEach(function (id) {
['developerModeChangeModal', 'planChangeModal'].forEach(function (id) {
$('#' + id).on('shown.bs.modal', function () {
$(this).find("[autofocus]:first").focus();
});