mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-25 16:59:17 +01:00
cancel/uncancel sub
This commit is contained in:
parent
4209d91c43
commit
80ca89b3f6
@ -1,7 +1,7 @@
|
||||
angular
|
||||
.module('bit.organization')
|
||||
|
||||
.controller('organizationBillingController', function ($scope, apiService, $state, $uibModal) {
|
||||
.controller('organizationBillingController', function ($scope, apiService, $state, $uibModal, toastr) {
|
||||
$scope.charges = [];
|
||||
$scope.paymentSource = null;
|
||||
$scope.plan = null;
|
||||
@ -47,7 +47,28 @@
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
if (!confirm('Are you sure you want to cancel? All users will lose access to the organization ' +
|
||||
'at the end of this billing cycle.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
apiService.organizations.putCancel({ id: $state.params.orgId }, {})
|
||||
.$promise.then(function (response) {
|
||||
toastr.success('Organization subscription has been canceled.');
|
||||
load();
|
||||
});
|
||||
};
|
||||
|
||||
$scope.uncancel = function () {
|
||||
if (!confirm('Are you sure you want to remove the cancellation request?')) {
|
||||
return;
|
||||
}
|
||||
|
||||
apiService.organizations.putUncancel({ id: $state.params.orgId }, {})
|
||||
.$promise.then(function (response) {
|
||||
toastr.success('Organization cancellation request has been removed.');
|
||||
load();
|
||||
});
|
||||
};
|
||||
|
||||
function load() {
|
||||
@ -65,14 +86,16 @@
|
||||
if (org.Subscription) {
|
||||
$scope.subscription = {
|
||||
trialEndDate: org.Subscription.TrialEndDate,
|
||||
cancelNext: org.Subscription.CancelAtNextBillDate,
|
||||
status: org.Subscription.Status
|
||||
cancelledDate: org.Subscription.CancelledDate,
|
||||
status: org.Subscription.Status,
|
||||
cancelled: org.Subscription.Status === 'cancelled',
|
||||
markedForCancel: org.Subscription.Status === 'active' && org.Subscription.CancelledDate
|
||||
};
|
||||
}
|
||||
|
||||
$scope.nextBill = null;
|
||||
$scope.nextInvoice = null;
|
||||
if (org.UpcomingInvoice) {
|
||||
$scope.nextBill = {
|
||||
$scope.nextInvoice = {
|
||||
date: org.UpcomingInvoice.Date,
|
||||
amount: org.UpcomingInvoice.Amount
|
||||
};
|
||||
@ -109,7 +132,8 @@
|
||||
failureMessage: org.Charges[i].FailureMessage,
|
||||
refunded: org.Charges[i].Refunded,
|
||||
partiallyRefunded: org.Charges[i].PartiallyRefunded,
|
||||
refundedAmount: org.Charges[i].RefundedAmount
|
||||
refundedAmount: org.Charges[i].RefundedAmount,
|
||||
invoiceId: org.Charges[i].InvoiceId
|
||||
});
|
||||
}
|
||||
$scope.charges = charges;
|
||||
|
@ -10,6 +10,12 @@
|
||||
<h3 class="box-title">Plan</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="alert alert-warning" ng-if="subscription && subscription.cancelled">
|
||||
The subscription to this organization has been canceled.
|
||||
</div>
|
||||
<div class="alert alert-warning" ng-if="subscription && subscription.markedForCancel">
|
||||
The subscription to this organization has been marked for cancellation at the end of the current billing period.
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<dl>
|
||||
@ -22,9 +28,9 @@
|
||||
<div class="col-sm-6">
|
||||
<dl>
|
||||
<dt>Status</dt>
|
||||
<dd style="text-transform: capitalize;">{{subscription.status || '-'}}</dd>
|
||||
<dd style="text-transform: capitalize;">{{(subscription && subscription.status) || '-'}}</dd>
|
||||
<dt>Next Charge</dt>
|
||||
<dd>{{nextBill ? ((nextBill.date | date: format: mediumDate) + ', ' + (nextBill.amount | currency:'$')) : '-'}}</dd>
|
||||
<dd>{{nextInvoice ? ((nextInvoice.date | date: format: mediumDate) + ', ' + (nextInvoice.amount | currency:'$')) : '-'}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
@ -54,9 +60,14 @@
|
||||
<button type="button" class="btn btn-default btn-flat" ng-click="changePlan()">
|
||||
Change Plan
|
||||
</button>
|
||||
<button type="button" class="btn btn-default btn-flat" ng-click="cancel()" ng-if="!noSubscription">
|
||||
<button type="button" class="btn btn-default btn-flat" ng-click="cancel()"
|
||||
ng-if="!noSubscription && !subscription.cancelled && !subscription.markedForCancel">
|
||||
Cancel Plan
|
||||
</button>
|
||||
<button type="button" class="btn btn-default btn-flat" ng-click="uncancel()"
|
||||
ng-if="!noSubscription && subscription.markedForCancel">
|
||||
Uncancel Plan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
|
@ -43,6 +43,7 @@
|
||||
putSeat: { url: _apiUri + '/organizations/:id/seat', method: 'POST', params: { id: '@id' } },
|
||||
putUpgrade: { url: _apiUri + '/organizations/:id/upgrade', method: 'POST', params: { id: '@id' } },
|
||||
putCancel: { url: _apiUri + '/organizations/:id/cancel', method: 'POST', params: { id: '@id' } },
|
||||
putUncancel: { url: _apiUri + '/organizations/:id/uncancel', method: 'POST', params: { id: '@id' } },
|
||||
del: { url: _apiUri + '/organizations/:id/delete', method: 'POST', params: { id: '@id' } }
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user