Initial commit

This commit is contained in:
Isaac Parenteau committed 2018-07-07 20:43:51 -05:00
commit 880e39de2e
511 files changed
+38363

No files matched your search

@@ -0,0 +1,132 @@
(function () {
'use strict';
/**
* MODULE DESCRIPTION:
*
* TODO: Write description here.
*/
angular.module('portal.dashboard.permissionBank', ['ui.router'])
.controller('PermissionBankCtrl', PermissionBankCtrlController);
function PermissionBankCtrlController($scope, cache, permissionStores, permissionProvider, $mdDialog,
uiGridConstants, portalUtils, Constants) {
$scope.confirmQuestionBox = true;
$scope.permissions = [];
$scope.Constants = Constants;
$scope.mCache = cache.request([new permissionStores.PermissionGroups()]).then(function(){
$scope.permissions = $scope.mCache.permissionGroups.data.values;
});
portalUtils.setScopeValue($scope, 'loadingBlock', false, true);
$scope.permGrid = {
data: 'permissions',
paginationPageSizes: [28, 56, 84, 102],
paginationPageSize: 28,
enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,
toggleModifierKeysToMultiSelect : true,
enableRowHeaderSelection: true,
enableColumnMenus: true,
enableGridMenu: true,
exporterCsvFilename: 'Files.csv',
exporterMenuCsv: true,
multiSelect: true,
noUnselect: false,
onRegisterApi: function (gridApi) {
gridApi.selection.setModifierKeysToMultiSelect(true);
$scope.permGridApi = gridApi;
},
columnDefs: [
{field: 'displayName', displayName: 'Permission Group', width: '*'},
{field: 'enabled', displayName: 'Enabled', width: '*'},
{field: 'permissions', displayName: 'Allowed Permissions', width: '***',
cellTemplate: '<div class="ui-grid-cell-contents">{{grid.appScope.formatPermissions(row.entity.permissions)}}</div>'},
{field: 'id', displayName: 'Actions', width: '100', enableColumnMenu: false, enableFiltering: false, enableHiding: false,
cellTemplate: 'main/permission-bank/cell-templates/permission-actions.html'}
],
};
$scope.formatPermissions = function(perms) {
var p = [];
for (var i = 0; i < perms.length; i++) {
var perm = perms[i];
if (perm.allowed) {
p.push(perm.displayName);
}
}
return p.join(', ');
};
$scope.$on('$destroy', function () {
$scope.mCache.unlisten();
});
$scope.toggleFiltering = function() {
$scope.permGrid.enableFiltering = !$scope.permGrid.enableFiltering;
$scope.permGridApi.core.notifyDataChange( uiGridConstants.dataChange.COLUMN );
};
var originatorEv;
$scope.openMenu = function($mdOpenMenu, ev) {
originatorEv = ev;
$mdOpenMenu(ev);
};
$scope.delete = function(entity) {
if ($scope.confirmQuestionBox) {
portalUtils.confirmBox('deletePermissionGroup', 'Delete Permission Group', ['Are you sure you want to delete the permission group', entity.displayName],
true, function(value) {
if (value.confirm) {
$scope.confirmQuestionBox = !value.checkbox;
$scope.deletePermission(entity);
}
});
} else {
$scope.deletePermission(entity);
}
};
$scope.deletePermission = function(entity) {
portalUtils.setScopeValue($scope, 'loadingBlock', true, true);
permissionProvider.deletePermissionGroup(entity).then(function(data) {
portalUtils.toast('Successfully deleted permission group ' + entity.displayName, ['top', 'left'], 2000);
portalUtils.setScopeValue($scope, 'loadingBlock', false, true);
}).catch(function(err){
portalUtils.toast('Unable to delete permission group: ' + err.message, ['top', 'left'], 4000);
portalUtils.setScopeValue($scope, 'loadingBlock', false, true);
});
};
$scope.edit = function(entity) {
$mdDialog.show({
templateUrl: 'common/partials/add-permission/add-permission.html',
controller: 'AddPermissionCtrl',
escapeToClose: false,
locals: {
modalInstance: {
header: 'Edit Permission Group',
permission: entity,
}
}
});
};
$scope.addPermissions = function() {
$mdDialog.show({
templateUrl: 'common/partials/add-permission/add-permission.html',
controller: 'AddPermissionCtrl',
escapeToClose: false,
locals: {
modalInstance: {
header: 'Add Permissions',
}
}
});
};
} //end PermissionBankCtrlController function
})();