2017-03-04 04:45:10 +01:00
|
|
|
|
angular
|
|
|
|
|
.module('bit.organization')
|
|
|
|
|
|
2017-03-31 03:08:07 +02:00
|
|
|
|
.controller('organizationSubvaultsController', function ($scope, $state, apiService, $uibModal, cipherService, $filter,
|
|
|
|
|
toastr) {
|
2017-03-08 05:05:49 +01:00
|
|
|
|
$scope.subvaults = [];
|
|
|
|
|
$scope.loading = true;
|
|
|
|
|
$scope.$on('$viewContentLoaded', function () {
|
|
|
|
|
loadList();
|
|
|
|
|
});
|
2017-03-04 04:45:10 +01:00
|
|
|
|
|
2017-03-10 04:08:47 +01:00
|
|
|
|
$scope.add = function () {
|
|
|
|
|
var modal = $uibModal.open({
|
|
|
|
|
animation: true,
|
|
|
|
|
templateUrl: 'app/organization/views/organizationSubvaultsAdd.html',
|
|
|
|
|
controller: 'organizationSubvaultsAddController'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
modal.result.then(function (subvault) {
|
|
|
|
|
$scope.subvaults.push(subvault);
|
|
|
|
|
});
|
|
|
|
|
};
|
2017-03-08 05:05:49 +01:00
|
|
|
|
|
2017-03-30 04:23:00 +02:00
|
|
|
|
$scope.edit = function (subvault) {
|
|
|
|
|
var modal = $uibModal.open({
|
|
|
|
|
animation: true,
|
|
|
|
|
templateUrl: 'app/organization/views/organizationSubvaultsEdit.html',
|
|
|
|
|
controller: 'organizationSubvaultsEditController',
|
|
|
|
|
resolve: {
|
|
|
|
|
id: function () { return subvault.id; }
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
modal.result.then(function (editedSubvault) {
|
|
|
|
|
var existingSubvaults = $filter('filter')($scope.subvaults, { id: editedSubvault.id }, true);
|
|
|
|
|
if (existingSubvaults && existingSubvaults.length > 0) {
|
|
|
|
|
existingSubvaults[0].name = editedSubvault.name;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2017-04-03 18:26:43 +02:00
|
|
|
|
$scope.users = function (subvault) {
|
|
|
|
|
var modal = $uibModal.open({
|
|
|
|
|
animation: true,
|
|
|
|
|
templateUrl: 'app/organization/views/organizationSubvaultsUsers.html',
|
|
|
|
|
controller: 'organizationSubvaultsUsersController',
|
|
|
|
|
size: 'lg',
|
|
|
|
|
resolve: {
|
|
|
|
|
subvault: function () { return subvault; }
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
modal.result.then(function () {
|
|
|
|
|
// nothing to do
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2017-03-10 04:08:47 +01:00
|
|
|
|
$scope.delete = function (subvault) {
|
|
|
|
|
if (!confirm('Are you sure you want to delete this subvault (' + subvault.name + ')?')) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiService.subvaults.del({ orgId: $state.params.orgId, id: subvault.id }, function () {
|
|
|
|
|
var index = $scope.subvaults.indexOf(subvault);
|
|
|
|
|
if (index > -1) {
|
|
|
|
|
$scope.subvaults.splice(index, 1);
|
2017-03-08 05:05:49 +01:00
|
|
|
|
}
|
2017-03-31 03:08:07 +02:00
|
|
|
|
|
|
|
|
|
toastr.success(subvault.name + ' has been deleted.', 'Subvault Deleted');
|
|
|
|
|
}, function () {
|
|
|
|
|
toastr.error(subvault.name + ' was not able to be deleted.', 'Error');
|
2017-03-10 04:08:47 +01:00
|
|
|
|
});
|
|
|
|
|
};
|
2017-03-08 05:05:49 +01:00
|
|
|
|
|
2017-03-10 04:08:47 +01:00
|
|
|
|
function loadList() {
|
|
|
|
|
apiService.subvaults.listOrganization({ orgId: $state.params.orgId }, function (list) {
|
|
|
|
|
$scope.subvaults = cipherService.decryptSubvaults(list.Data, $state.params.orgId, true);
|
2017-03-08 05:05:49 +01:00
|
|
|
|
$scope.loading = false;
|
|
|
|
|
});
|
|
|
|
|
}
|
2017-03-04 04:45:10 +01:00
|
|
|
|
});
|