1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-07 02:53:28 +00:00

user vault associations

This commit is contained in:
Kyle Spearrin
2017-03-13 22:54:57 -04:00
parent 6ece16ccc9
commit 4a6066bb88
7 changed files with 90 additions and 83 deletions

View File

@@ -3,8 +3,8 @@
.controller('organizationPeopleInviteController', function ($scope, $state, $uibModalInstance, apiService, cipherService) {
$scope.loading = true;
$scope.selectedSubvaults = [];
$scope.selectedSubvaultsReadOnly = [];
$scope.subvaults = [];
$scope.selectedSubvaults = {};
$uibModalInstance.opened.then(function () {
apiService.subvaults.listOrganization({ orgId: $state.params.orgId }, function (list) {
@@ -14,52 +14,52 @@
});
$scope.toggleSubvaultSelectionAll = function ($event) {
var subvaultIds = [];
if ($event.target.checked)
{
var subvaults = {};
if ($event.target.checked) {
for (var i = 0; i < $scope.subvaults.length; i++) {
subvaultIds.push($scope.subvaults[i].id);
subvaults[$scope.subvaults[i].id] = {
subvaultId: $scope.subvaults[i].id,
readOnly: ($scope.subvaults[i].id in $scope.selectedSubvaults) ?
$scope.selectedSubvaults[$scope.subvaults[i].id].readOnly : false
};
}
}
else {
$scope.selectedSubvaultsReadOnly = [];
}
$scope.selectedSubvaults = subvaultIds;
$scope.selectedSubvaults = subvaults;
};
$scope.toggleSubvaultSelection = function (id) {
var i = $scope.selectedSubvaults.indexOf(id);
if (i > -1) {
$scope.selectedSubvaults.splice(i, 1);
var j = $scope.selectedSubvaultsReadOnly.indexOf(id);
if (j > -1) {
$scope.selectedSubvaultsReadOnly.splice(j, 1);
}
if (id in $scope.selectedSubvaults) {
delete $scope.selectedSubvaults[id];
}
else {
$scope.selectedSubvaults.push(id);
$scope.selectedSubvaults[id] = {
subvaultId: id,
readOnly: false
};
}
};
$scope.toggleSubvaultReadOnlySelection = function (id) {
var i = $scope.selectedSubvaultsReadOnly.indexOf(id);
if (i > -1) {
$scope.selectedSubvaultsReadOnly.splice(i, 1);
}
else {
$scope.selectedSubvaultsReadOnly.push(id);
if (id in $scope.selectedSubvaults) {
$scope.selectedSubvaults[id].readOnly = !!!$scope.selectedSubvaults[id].readOnly;
}
};
$scope.subvaultSelected = function (subvault) {
return subvault.id in $scope.selectedSubvaults;
};
$scope.allSelected = function () {
return Object.keys($scope.selectedSubvaults).length === $scope.subvaults.length;
};
$scope.submit = function (model) {
var subvaults = [];
for (var i = 0; i < $scope.selectedSubvaults.length; i++) {
subvaults.push({
subvaultId: $scope.selectedSubvaults[i],
readOnly: $scope.selectedSubvaultsReadOnly.indexOf($scope.selectedSubvaults[i]) > -1
});
for (var subvaultId in $scope.selectedSubvaults) {
if ($scope.selectedSubvaults.hasOwnProperty(subvaultId)) {
subvaults.push($scope.selectedSubvaults[subvaultId]);
}
}
apiService.organizationUsers.invite({ orgId: $state.params.orgId }, {