diff --git a/src/app/services/apiService.js b/src/app/services/apiService.js
index 82d25b04c1..257f3f4646 100644
--- a/src/app/services/apiService.js
+++ b/src/app/services/apiService.js
@@ -29,11 +29,12 @@
del: { url: _apiUri + '/ciphers/:id/delete', method: 'POST', params: { id: '@id' } }
});
- _service.shares = $resource(_apiUri + '/shares/:id', {}, {
+ _service.organizations = $resource(_apiUri + '/organizations/:id', {}, {
get: { method: 'GET', params: { id: '@id' } },
- listCipher: { url: _apiUri + '/shares/:cipherId', method: 'GET', params: { cipherId: '@cipherId' } },
+ list: { method: 'GET', params: {} },
post: { method: 'POST', params: {} },
- del: { url: _apiUri + '/shares/:id/delete', method: 'POST', params: { id: '@id' } }
+ put: { method: 'POST', params: { id: '@id' } },
+ del: { url: _apiUri + '/organizations/:id/delete', method: 'POST', params: { id: '@id' } }
});
_service.accounts = $resource(_apiUri + '/accounts', {}, {
diff --git a/src/app/services/cryptoService.js b/src/app/services/cryptoService.js
index a9a7d153d4..a0105c7e3b 100644
--- a/src/app/services/cryptoService.js
+++ b/src/app/services/cryptoService.js
@@ -132,7 +132,7 @@ angular
};
_service.makeShareKey = function () {
- return forge.random.getBytesSync(32);
+ return _service.rsaEncrypt(forge.random.getBytesSync(32));
};
_service.hashPassword = function (password, key) {
diff --git a/src/app/settings/settingsController.js b/src/app/settings/settingsController.js
index df30021dcc..922a2a708f 100644
--- a/src/app/settings/settingsController.js
+++ b/src/app/settings/settingsController.js
@@ -1,7 +1,7 @@
angular
.module('bit.settings')
- .controller('settingsController', function ($scope, $uibModal, apiService, toastr, authService) {
+ .controller('settingsController', function ($scope, $state, $uibModal, apiService, toastr, authService) {
$scope.model = {
profile: {},
twoFactorEnabled: false,
@@ -70,6 +70,10 @@
});
};
+ $scope.viewOrganization = function (id) {
+ $state.go('backend.org.dashboard');
+ };
+
$scope.twoFactor = function () {
var twoFactorModal = $uibModal.open({
animation: true,
diff --git a/src/app/settings/settingsCreateOrganizationController.js b/src/app/settings/settingsCreateOrganizationController.js
index a355f99b6a..0aa83f98e0 100644
--- a/src/app/settings/settingsCreateOrganizationController.js
+++ b/src/app/settings/settingsCreateOrganizationController.js
@@ -1,17 +1,27 @@
angular
.module('bit.settings')
- .controller('settingsCreateOrganizationController', function ($scope, apiService, $uibModalInstance, cryptoService,
- authService, toastr, $analytics) {
+ .controller('settingsCreateOrganizationController', function ($scope, $state, apiService, $uibModalInstance, cryptoService,
+ toastr, $analytics) {
$analytics.eventTrack('settingsCreateOrganizationController', { category: 'Modal' });
+
+ $scope.model = {
+ plan: 'Free'
+ };
+
$scope.submit = function (model) {
var request = {
- masterPasswordHash: cryptoService.hashPassword(model.masterPassword)
+ name: model.name,
+ planType: model.plan,
+ key: cryptoService.makeShareKey()
};
$scope.submitPromise = apiService.organizations.post(request, function () {
$uibModalInstance.dismiss('cancel');
$analytics.eventTrack('Created Organization');
+ $state.go('backend.org.dashboard').then(function () {
+ toastr.success('Your new organization is ready to go!', 'Organization Created');
+ });
}).$promise;
};
diff --git a/src/app/settings/views/settings.html b/src/app/settings/views/settings.html
index 9a18299294..1bb9547493 100644
--- a/src/app/settings/views/settings.html
+++ b/src/app/settings/views/settings.html
@@ -118,23 +118,26 @@
No organizations yet for your account.
-
-
-
- |
- Name |
-
-
+
- |
- {{org.Name}} |
+
+
+ |
+
+
+ {{org.name}}
+
+ |
-