123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /**
- * Created by robin on 11/4/15.
- */
-
- angular.module('luticateUtils')
- .directive('luPermissionEdit', ['dialogs', 'luticateDialogErrorHelper', 'luticateAuthPermissions',
- function(dialogs, luticateDialogErrorHelper, luticateAuthPermissions) {
- return {
- restrict: 'E',
- scope: {
- luModel: '&'
- },
- templateUrl: "/luticate/lupermissionedit.html",
- link: function ($scope, element, attrs) {
-
- $scope.permissions = [];
- $scope.allPermissions = [];
- $scope.allPermissionsCleared = [];
- $scope.tmpPermission = {
- Name: "",
- Value: true
- };
- $scope.luModelOptions = $scope.luModel();
- console.log();
-
- $scope.editPermission = function(permission, value)
- {
- var promiseEditPermission = {
- id: "promiseEditPermission_" + permission.Name,
- loaderGroups: ['permission_' + permission.Name]
- };
- $scope.luModelOptions.getEditPermissionPromise(permission.Name, value, promiseEditPermission)
- .then(function(data)
- {
- permission.Value = value;
- }, luticateDialogErrorHelper.errorDialog);
- };
-
- $scope.delPermission = function(permission)
- {
- var promiseDelPermission = {
- id: "promiseDelPermission_" + permission.Name,
- loaderGroups: ['permission_' + permission.Name]
- };
- $scope.luModelOptions.getDelPermissionPromise(permission.Name, promiseDelPermission)
- .then(function(data)
- {
- $scope.loadPermissions();
- }, luticateDialogErrorHelper.errorDialog);
- };
-
- $scope.addPermission = function(permission)
- {
- var promiseAddPermission = {
- id: "promiseAddPermission_" + permission.Name,
- loaderGroups: ['permission_add']
- };
- $scope.luModelOptions.getAddPermissionPromise(permission.Name, permission.Value, promiseAddPermission)
- .then(function(data)
- {
- $scope.loadPermissions();
- }, luticateDialogErrorHelper.errorDialog);
- };
-
- $scope.loadPermissions = function() {
-
- var promiseLoadPermissions = {
- id: "promiseLoadPermissions_",
- groups: ['permissionList']
- };
- $scope.luModelOptions.getGetAllPromise(null, null, promiseLoadPermissions)
- .then(function (permissions) {
- $scope.permissions = permissions.Data;
- $scope.allPermissionsCleared = [];
- for (var i = 0; i < $scope.allPermissions.length; ++i) {
- var p = $scope.allPermissions[i];
- if ($scope.permissions.find(function(p2)
- {
- return p.Name == p2.Name;
- }) == null) {
- $scope.allPermissionsCleared.push(p);
- }
- }
- if ($scope.allPermissionsCleared.length > 0) {
- $scope.tmpPermission.Name = $scope.allPermissionsCleared[0].Name;
- }
- else {
- $scope.tmpPermission.Name = "";
- }
- }, luticateDialogErrorHelper.errorDialog);
- };
-
- $scope.loadAllPermissions = function() {
-
- var promiseLoadAllPermissions = {
- id: "promiseLoadAllPermissions",
- groups: ['permission_add']
- };
- luticateAuthPermissions.getAll(null, promiseLoadAllPermissions)
- .then(function (permissions) {
- $scope.allPermissions = permissions.Data;
- $scope.loadPermissions();
- }, luticateDialogErrorHelper.errorDialog);
- };
-
- $scope.loadAllPermissions();
- }
- };
- }]);
-
- angular.module('luticateUtils').run(['$templateCache', function($templateCache)
- {
- $templateCache.put('/luticate/lupermissionedit.html', '<div class="col-sm-12">' +
- ' <div class="form-group col-sm-12" lu-busy="permissionList">' +
- ' <div class="col-sm-6" ng-repeat="permission in permissions" lu-busy="{group: \'permission_\' + permission.Name}">' +
- ' <label class="col-sm-6 control-label">{{ permission.Name }}</label>' +
- '<div class="col-sm-6">' +
- ' <div class="btn-group">' +
- ' <button class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="" lu-enable-permission="{{ luModelOptions.permissions.edit }}">' +
- ' {{ permission.Value ? \'Allow\' : \'Disallow\' }} <span class="caret"></span>' +
- ' </button>' +
- ' <ul class="dropdown-menu">' +
- ' <li><a href="" ng-click="editPermission(permission, false)">Disallow</a></li>' +
- '<li><a href="" ng-click="editPermission(permission, true)">Allow</a></li>' +
- '</ul>' +
- '</div>' +
- '<div class="btn-group">' +
- ' <button type="button" class="btn btn-default" ng-click="delPermission(permission)" lu-show-permission="{{ luModelOptions.permissions.del }}">' +
- ' <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>' +
- ' </button>' +
- ' </div>' +
- ' </div>' +
- ' </div>' +
- ' </div>' +
- ' <div class="clearfix"></div>' +
- ' <div class="col-sm-12" lu-busy="permission_add" lu-show-permission="{{ luModelOptions.permissions.add }}">' +
- ' <div class="btn-group">' +
- ' <button class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="">' +
- ' {{ tmpPermission.Name }} <span class="caret"></span>' +
- ' </button>' +
- ' <ul class="dropdown-menu">' +
- ' <li ng-repeat="permission in allPermissionsCleared">' +
- ' <a href="" ng-click="tmpPermission.Name = permission.Name">{{ permission.Name}}</a>' +
- '</li>' +
- '</ul>' +
- '</div>' +
- '<div class="btn-group">' +
- ' <button class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="">' +
- ' {{ tmpPermission.Value ? \'Allow\' : \'Disallow\' }} <span class="caret"></span>' +
- ' </button>' +
- ' <ul class="dropdown-menu">' +
- ' <li><a href="" ng-click="tmpPermission.Value = false">Disallow</a></li>' +
- '<li><a href="" ng-click="tmpPermission.Value = true">Allow</a></li>' +
- '</ul>' +
- '</div>' +
- '<button type="button" class="btn btn-default" ng-click="addPermission(tmpPermission)" ng-disabled="allPermissionsCleared.length == 0">' +
- ' <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add' +
- ' </button>' +
- ' </div>' +
- ' </div>');
- }]);
|