diff --git a/src/app/global/paidOrgRequiredController.js b/src/app/global/paidOrgRequiredController.js new file mode 100644 index 00000000000..02f72a6a506 --- /dev/null +++ b/src/app/global/paidOrgRequiredController.js @@ -0,0 +1,17 @@ +angular + .module('bit.global') + + .controller('paidOrgRequiredController', function ($scope, $state, $uibModalInstance, $analytics, $uibModalStack, orgId) { + $analytics.eventTrack('paidOrgRequiredController', { category: 'Modal' }); + + $scope.go = function () { + $analytics.eventTrack('Get Paid Org'); + $state.go('backend.org.billing', { orgId: orgId }).then(function () { + $scope.close(); + }); + }; + + $scope.close = function () { + $uibModalStack.dismissAll(); + }; + }); diff --git a/src/app/organization/organizationVaultAddLoginController.js b/src/app/organization/organizationVaultAddLoginController.js index d529c80ce66..86519b7eab4 100644 --- a/src/app/organization/organizationVaultAddLoginController.js +++ b/src/app/organization/organizationVaultAddLoginController.js @@ -2,10 +2,15 @@ .module('bit.vault') .controller('organizationVaultAddLoginController', function ($scope, apiService, $uibModalInstance, cryptoService, - cipherService, passwordService, $analytics, orgId) { + cipherService, passwordService, $analytics, authService, orgId, $uibModal) { $analytics.eventTrack('organizationVaultAddLoginController', { category: 'Modal' }); $scope.login = {}; - $scope.hideFolders = $scope.hideFavorite = true; + $scope.hideFolders = $scope.hideFavorite = $scope.fromOrg = true; + + authService.getUserProfile().then(function (userProfile) { + var orgProfile = userProfile.organizations[orgId]; + $scope.useTotp = orgProfile.useTotp; + }); $scope.savePromise = null; $scope.save = function (model) { @@ -47,4 +52,15 @@ $scope.close = function () { $uibModalInstance.dismiss('close'); }; + + $scope.showUpgrade = function () { + $uibModal.open({ + animation: true, + templateUrl: 'app/views/paidOrgRequired.html', + controller: 'paidOrgRequiredController', + resolve: { + orgId: function () { return orgId; } + } + }); + }; }); diff --git a/src/app/organization/organizationVaultController.js b/src/app/organization/organizationVaultController.js index 4d3517f2f58..f2d233e5791 100644 --- a/src/app/organization/organizationVaultController.js +++ b/src/app/organization/organizationVaultController.js @@ -83,7 +83,8 @@ templateUrl: 'app/vault/views/vaultEditLogin.html', controller: 'organizationVaultEditLoginController', resolve: { - loginId: function () { return login.id; } + loginId: function () { return login.id; }, + orgId: function () { return $state.params.orgId; } } }); diff --git a/src/app/organization/organizationVaultEditLoginController.js b/src/app/organization/organizationVaultEditLoginController.js index 84aea7f71ec..796040200db 100644 --- a/src/app/organization/organizationVaultEditLoginController.js +++ b/src/app/organization/organizationVaultEditLoginController.js @@ -2,10 +2,15 @@ .module('bit.vault') .controller('organizationVaultEditLoginController', function ($scope, apiService, $uibModalInstance, cryptoService, - cipherService, passwordService, loginId, $analytics) { + cipherService, passwordService, loginId, $analytics, authService, orgId, $uibModal) { $analytics.eventTrack('organizationVaultEditLoginController', { category: 'Modal' }); $scope.login = {}; - $scope.hideFolders = $scope.hideFavorite = true; + $scope.hideFolders = $scope.hideFavorite = $scope.fromOrg = true; + + authService.getUserProfile().then(function (userProfile) { + var orgProfile = userProfile.organizations[orgId]; + $scope.useTotp = orgProfile.useTotp; + }); apiService.logins.getAdmin({ id: loginId }, function (login) { $scope.login = cipherService.decryptLogin(login); @@ -66,4 +71,15 @@ $scope.close = function () { $uibModalInstance.dismiss('cancel'); }; + + $scope.showUpgrade = function () { + $uibModal.open({ + animation: true, + templateUrl: 'app/views/paidOrgRequired.html', + controller: 'paidOrgRequiredController', + resolve: { + orgId: function () { return orgId; } + } + }); + }; }); diff --git a/src/app/services/authService.js b/src/app/services/authService.js index f7bf3ac124e..79e34d1c7f2 100644 --- a/src/app/services/authService.js +++ b/src/app/services/authService.js @@ -143,8 +143,10 @@ angular type: profile.Organizations[i].Type, enabled: profile.Organizations[i].Enabled, maxCollections: profile.Organizations[i].MaxCollections, + maxStorageGb: profile.Organizations[i].MaxStorageGb, seats: profile.Organizations[i].Seats, - useGroups: profile.Organizations[i].UseGroups + useGroups: profile.Organizations[i].UseGroups, + useTotp: profile.Organizations[i].UseTotp }; } @@ -174,8 +176,10 @@ angular type: 0, // 0 = Owner enabled: true, maxCollections: org.MaxCollections, + maxStorageGb: org.MaxStorageGb, seats: org.Seats, - useGroups: org.UseGroups + useGroups: org.UseGroups, + useTotp: org.UseTotp }; profile.organizations[o.id] = o; diff --git a/src/app/vault/vaultAddLoginController.js b/src/app/vault/vaultAddLoginController.js index 503bbdfc716..af71f09891f 100644 --- a/src/app/vault/vaultAddLoginController.js +++ b/src/app/vault/vaultAddLoginController.js @@ -11,7 +11,7 @@ }; authService.getUserProfile().then(function (profile) { - $scope.premium = profile.premium; + $scope.useTotp = profile.premium; }); $scope.savePromise = null; @@ -62,7 +62,7 @@ $uibModalInstance.dismiss('close'); }; - $scope.showPremium = function () { + $scope.showUpgrade = function () { $uibModal.open({ animation: true, templateUrl: 'app/views/premiumRequired.html', diff --git a/src/app/vault/vaultEditLoginController.js b/src/app/vault/vaultEditLoginController.js index 8017096482d..1e27dfd51b3 100644 --- a/src/app/vault/vaultEditLoginController.js +++ b/src/app/vault/vaultEditLoginController.js @@ -9,7 +9,7 @@ $scope.readOnly = false; authService.getUserProfile().then(function (profile) { - $scope.premium = profile.premium; + $scope.useTotp = profile.premium; }); apiService.logins.get({ id: loginId }, function (login) { @@ -99,7 +99,7 @@ $uibModalInstance.dismiss('cancel'); }; - $scope.showPremium = function () { + $scope.showUpgrade = function () { $uibModal.open({ animation: true, templateUrl: 'app/views/premiumRequired.html', diff --git a/src/app/vault/views/vaultAddLogin.html b/src/app/vault/views/vaultAddLogin.html index 3ac323cb681..4f4fa711159 100644 --- a/src/app/vault/views/vaultAddLogin.html +++ b/src/app/vault/views/vaultAddLogin.html @@ -88,10 +88,10 @@
diff --git a/src/app/vault/views/vaultEditLogin.html b/src/app/vault/views/vaultEditLogin.html index f4470bebdc8..f9374b9e33d 100644 --- a/src/app/vault/views/vaultEditLogin.html +++ b/src/app/vault/views/vaultEditLogin.html @@ -100,10 +100,10 @@ diff --git a/src/app/views/paidOrgRequired.html b/src/app/views/paidOrgRequired.html new file mode 100644 index 00000000000..aa17f5c192f --- /dev/null +++ b/src/app/views/paidOrgRequired.html @@ -0,0 +1,13 @@ +