Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/26/16 11:30:46 (8 years ago)
Author:
jlodewyc
Message:

#2582 Resource Permissions added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Scripts/Hubs/CalendarHubber.js

    r13782 r13795  
    1414               vm.alertMessage = "No alerts";
    1515               vm.currentcal = [];
     16               $scope.permission = false;
    1617               vm.selectedEventId = -1;
    1718               vm.groups = [];
     
    2728                       hubber.server.requestInfo();
    2829                   });
    29                    hubber.client.processData = function (data) {
     30                   hubber.client.processData = function (data, users, groups) {
    3031                       vm.data = JSON.parse(data);
     32                       vm.permUsers = JSON.parse(users);
     33                       vm.permGroups = JSON.parse(groups);
    3134                       $scope.buildTree();
    32 
     35                     
    3336                       $scope.$apply();
    3437                   };
     
    4851                       $scope.$apply();
    4952                   }
     53                   hubber.client.processPermissions = function (id, perm) {
     54                       var json = JSON.parse(perm);
     55                     
     56                       $scope.treeview.currentNode.permissions = json;
     57                       refreshPermissions();
     58                       $scope.permissionLoader = false;
     59                       $scope.$apply();
     60                   }
    5061                   hubber.client.processDowntime = function (id, down) {
    5162                       var json = JSON.parse(down);
     
    91102                       $(".selected.ng-binding").addClass('loaded');
    92103                       $scope.selectedEventId = -1;
     104                       
    93105                       if ($scope.treeview.currentNode != null && $scope.treeview.currentNode.Id != undefined) {
    94106                           if ($scope.treeview.currentNode.calendar.length === 0) {
     107                               hubber.server.requestPermissions(vm.treeview.currentNode.Id);
    95108                               hubber.server.requestDownTime(vm.treeview.currentNode.Id);
    96 
     109                               vm.permissionLoader = true;
    97110                           }
    98111                           else {
    99112                               $timeout(function () {
     113                                   refreshPermissions();
    100114                                   $scope.currentcal = $scope.treeview.currentNode.calendar;
    101 
    102115                               }, 0);
    103116
     
    106119
    107120                   });
     121               }
     122               function refreshPermissions() {
     123                   for (var i = 0; i < $scope.permUsers.length; i++){
     124                       $scope.permUsers[i].state = false;
     125                       for (var j = 0; j < $scope.treeview.currentNode.permissions.length; j++) {
     126                           if($scope.permUsers[i].Id === $scope.treeview.currentNode.permissions[j].GrantedUserId)
     127                               $scope.permUsers[i].state = true;
     128                       }
     129                   }
     130                   for (var i = 0; i < $scope.permGroups.length; i++) {
     131                       $scope.permGroups[i].state = false;
     132                       for (var j = 0; j < $scope.treeview.currentNode.permissions.length; j++) {
     133                           if ($scope.permGroups[i].Id === $scope.treeview.currentNode.permissions[j].GrantedUserId)
     134                               $scope.permGroups[i].state = true;
     135                       }
     136                   }
    108137               }
    109138               $scope.clearTreeSelect = function () {
     
    179208                   return current;
    180209               }
    181 
    182210               $scope.toggleDisposable = function () {
    183211                   $scope.calendarDispose = true;
    184212                   hubber.server.toggleDisposable(vm.treeview.currentNode.Id);
    185213               }
    186 
     214               $scope.pushPermissions = function () {
     215                   var perms = [];
     216                   $scope.permissionLoader = true;
     217                   var node = $scope.treeview.currentNode;
     218                   for (var i = 0; i < $scope.permGroups.length; i++) {
     219                       if ($scope.permGroups[i].state === true)
     220                           perms.push($scope.permGroups[i].Id);
     221                   }
     222                   for (var i = 0; i < $scope.permUsers.length; i++) {
     223                       if ($scope.permUsers[i].state === true)
     224                           perms.push($scope.permUsers[i].Id);
     225                   }
     226                   hubber.server.changePermissions(perms, node.Id);
     227               }
    187228               function collectInfoToSave(node, refresh, last) {
    188229                   var arr = node.calendar.down[0];
     
    273314                   $scope.currentcal = [];
    274315                   hubber.server.requestDownTime(vm.treeview.currentNode.Id);
     316                   $(".selected.ng-scope").removeClass('changed');
    275317                   $(".selected.ng-binding").removeClass('changed');
    276318
     
    293335               function clearAllCalendarsFunc() {
    294336                   $(".ng-binding.changed").removeClass('changed');
     337                   $(".ng-scope.changed").removeClass('changed');
    295338                   $(".ng-binding.loaded").removeClass('loaded');
     339                   $(".ng-scope.loaded").removeClass('loaded');
    296340                   $scope.selectedEventId = -1;
    297341                   $scope.treeview.currentNode.calendar = null;
     
    301345                   hubber.server.requestDownTime(vm.treeview.currentNode.Id);
    302346                   $(".selected.ng-binding").addClass('loaded');
     347                   $(".selected.ng-scope").addClass('loaded');
    303348               }
    304349               function clearCalendarsRecurse(node) {
     
    361406                   }
    362407                   vm.treeview.currentNode.changes = true;
    363                    $(".selected.ng-binding").addClass('changed');
     408                   $(".selected").addClass('changed');
    364409               }
    365410               //*Add event by click
Note: See TracChangeset for help on using the changeset viewer.