Initial commit
This commit is contained in:
commit
880e39de2e
511 files changed
+38363
No files matched your search
@@ -0,0 +1,12 @@
|
||||
<div layout="row" layout-align="end center">
|
||||
<md-button class="md-icon-button" ng-click="grid.appScope.edit(row.entity)" has-permission="{{grid.appScope.Constants.Permissions.ADD_PERMS}}">
|
||||
<md-icon class="md-16">edit</md-icon>
|
||||
<md-tooltip md-delay="500" class="mediaTileToolTip" md-direction="left">Edit Permission</md-tooltip>
|
||||
</md-button>
|
||||
|
||||
<md-button class="md-icon-button" ng-click="grid.appScope.delete(row.entity)" has-permission="{{grid.appScope.Constants.Permissions.DELETE_PERMS}}">
|
||||
<md-icon class="md-16">delete</md-icon>
|
||||
<md-tooltip md-delay="500" class="mediaTileToolTip" md-direction="left">Delete Permission</md-tooltip>
|
||||
</md-button>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="portal-repo-bank-selector" ng-cloak layout="column" flex="100" style="height:100%" ng-controller="PermissionBankCtrl" ng-if="tab.active">
|
||||
<md-content layout-xs="column" layout="row" layout-fill>
|
||||
<md-card class="md-padding" flex="100">
|
||||
<md-toolbar class="md-portal">
|
||||
<div class="md-toolbar-tools">
|
||||
<span style="padding-bottom=30px;">Permissions</span>
|
||||
<span flex></span>
|
||||
<md-button class="md-icon-button" ng-click="toggleFiltering()">
|
||||
<md-icon >filter</md-icon>
|
||||
<md-tooltip md-delay="500" class="mediaTileToolTip" md-direction="bottom">Filter Permissions</md-tooltip>
|
||||
</md-button>
|
||||
<md-button class="md-icon-button" ng-click="addPermissions()" has-permission="{{Constants.Permissions.ADD_PERMS}}">
|
||||
<md-icon >add_circle</md-icon>
|
||||
<md-tooltip md-delay="500" class="mediaTileToolTip" md-direction="bottom">Add Permissions</md-tooltip>
|
||||
</md-button>
|
||||
</div>
|
||||
</md-toolbar>
|
||||
<div class="panel-body padding-none" ui-grid="permGrid" ui-grid-pagination ui-grid-selection ui-grid-save-state ui-grid-auto-resize ui-grid-resize-columns style="height:95%"></div>
|
||||
</md-card>
|
||||
</md-content>
|
||||
</div>
|
||||
@@ -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
|
||||
|
||||
})();
|
||||
Reference in new issue
Block a user