branch develop updated (2379592 -> 2d2c6ff)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository mum. See http://git.chorem.org/mum.git from 2379592 profile: modal pour visualiser les abonnements de l'utilisateur new 2d2c6ff qques changements dans l'affichage des groupes + affichage des abonnements dans la page User The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 2d2c6ffdab92de0ad559be1fac1b00f9ae43a746 Author: Alexis Guilbaud <guilbaud@codelutin.com> Date: Thu Mar 26 18:06:16 2015 +0100 qques changements dans l'affichage des groupes + affichage des abonnements dans la page User Summary of changes: run.sh | 2 +- static/js/controllers/dashboardCtrl.js | 5 +-- static/js/controllers/groupCtrl.js | 9 +++- static/js/controllers/hostPageCtrl.js | 2 +- static/js/controllers/profileCtrl.js | 2 +- static/js/controllers/usersCtrl.js | 41 ++++++++++++++++++ static/js/mumApp.js | 4 +- views/groups.html | 18 +++++--- views/profile.html | 2 +- views/users.html | 76 +++++++++++++++++++++++++++++++--- 10 files changed, 139 insertions(+), 22 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository mum. See http://git.chorem.org/mum.git commit 2d2c6ffdab92de0ad559be1fac1b00f9ae43a746 Author: Alexis Guilbaud <guilbaud@codelutin.com> Date: Thu Mar 26 18:06:16 2015 +0100 qques changements dans l'affichage des groupes + affichage des abonnements dans la page User --- run.sh | 2 +- static/js/controllers/dashboardCtrl.js | 5 +-- static/js/controllers/groupCtrl.js | 9 +++- static/js/controllers/hostPageCtrl.js | 2 +- static/js/controllers/profileCtrl.js | 2 +- static/js/controllers/usersCtrl.js | 41 ++++++++++++++++++ static/js/mumApp.js | 4 +- views/groups.html | 18 +++++--- views/profile.html | 2 +- views/users.html | 76 +++++++++++++++++++++++++++++++--- 10 files changed, 139 insertions(+), 22 deletions(-) diff --git a/run.sh b/run.sh index 27e1d7f..7bb42c9 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1,3 @@ #!/bin/sh -exec ./in-venv.sh python app/app.py +exec ./in-venv.sh python app/app.py $* diff --git a/static/js/controllers/dashboardCtrl.js b/static/js/controllers/dashboardCtrl.js index 95ced9e..cf5b417 100644 --- a/static/js/controllers/dashboardCtrl.js +++ b/static/js/controllers/dashboardCtrl.js @@ -54,10 +54,7 @@ mumApp.controller('dashboardCtrl', function($scope, $filter, $routeParams, DataH // Concerning the table manipulation var searchMatch = function (haystack, needle) { - if (!needle) { - return true; - } - return haystack.toLowerCase().indexOf(needle.toLowerCase()) !== -1; + return !needle || haystack.toLowerCase().indexOf(needle.toLowerCase()) !== -1; }; // init the filtered items diff --git a/static/js/controllers/groupCtrl.js b/static/js/controllers/groupCtrl.js index f4596a6..eae2023 100644 --- a/static/js/controllers/groupCtrl.js +++ b/static/js/controllers/groupCtrl.js @@ -107,8 +107,15 @@ mumApp.controller('groupCtrl', function($scope, $rootScope, $filter, $route, $ro selected[selected.length] = host; } } + var groups_without_all = []; + var allGroups = $scope.allGroups() + for(n in allGroups){ + if(allGroups[n] != 'all'){ + groups_without_all[groups_without_all.length] = allGroups[n]; + } + } return {"selected": selected, - "groups": $scope.allGroups()}; + "groups": groups_without_all}; } } }); diff --git a/static/js/controllers/hostPageCtrl.js b/static/js/controllers/hostPageCtrl.js index f3289aa..3b475a8 100644 --- a/static/js/controllers/hostPageCtrl.js +++ b/static/js/controllers/hostPageCtrl.js @@ -333,7 +333,7 @@ mumApp.controller('ModalConnInstanceCtrl', function ($scope, $rootScope, $modalI }; }); -mumApp.controller('ModalConfConnInstanceCtrl', function ($scope, $rootScope, $modalInstance, $templateCache, conf_conn_args, FileUploader) { +mumApp.controller('ModalConfConnInstanceCtrl', function ($scope, $rootScope, $modalInstance, $templateCache, $route, conf_conn_args, FileUploader) { $scope.uploader = new FileUploader({ url: '/upload' }); diff --git a/static/js/controllers/profileCtrl.js b/static/js/controllers/profileCtrl.js index 2ca21a6..31cdda8 100644 --- a/static/js/controllers/profileCtrl.js +++ b/static/js/controllers/profileCtrl.js @@ -92,7 +92,7 @@ mumApp.controller('ModalSubscriptionsInstanceCtrl', function ($scope, $rootScope }); $scope.get_class = function(sub_part, sub_type, target_name, notif_mod){ - res = ""; + var res = ""; if($scope.user_subscriptions[sub_part][target_name][sub_type][notif_mod]['activated']){ res = "success"; } diff --git a/static/js/controllers/usersCtrl.js b/static/js/controllers/usersCtrl.js index 87237d3..fc48ff8 100644 --- a/static/js/controllers/usersCtrl.js +++ b/static/js/controllers/usersCtrl.js @@ -7,6 +7,23 @@ mumApp.controller('usersCtrl', function($scope, $rootScope, $route) { $scope.new_username = ""; + $scope.user_subscriptions = {}; /* + { + 'hosts':{ + addr_host:{ + 'major':{ + notif_mod:{ + 'priority': int, + 'activated': bool + }, ... + } + 'minor':{...} + }, ... + }, + 'groups':{ ... } + } + */ + $rootScope.$broadcast("sendViaWs", JSON.stringify({"CALL_FUNC_DB": {'func': 'get_users', 'args': null}})); // receiving the user list @@ -16,6 +33,14 @@ mumApp.controller('usersCtrl', function($scope, $rootScope, $route) { $scope.users = args.res; }); } + if(args.func == 'create_user' || args.func == 'remove_user'){ + $route.reload(); + } + if(args.func == 'get_user_subscriptions'){ + $scope.$apply(function(){ + $scope.user_subscriptions = args.res; + }); + } }); $scope.addUser = function(){ @@ -31,4 +56,20 @@ mumApp.controller('usersCtrl', function($scope, $rootScope, $route) { $rootScope.$broadcast("sendViaWs", JSON.stringify({"CALL_FUNC_DB": {'func': 'remove_user', 'args': args}})); $route.reload(); } + + $scope.get_user_subscriptions = function(){ + if($scope.selected_user != ''){ + $rootScope.$broadcast("sendViaWs", JSON.stringify({"CALL_FUNC_DB": {'func': 'get_user_subscriptions', + 'args': $scope.selected_user}})); + } + } + + $scope.get_class = function(sub_part, sub_type, target_name, notif_mod){ + var res = ""; + if($scope.user_subscriptions[sub_part][target_name][sub_type][notif_mod]['activated']){ + res = "success"; + } + return res; + } + }); \ No newline at end of file diff --git a/static/js/mumApp.js b/static/js/mumApp.js index 75d3325..15d9897 100644 --- a/static/js/mumApp.js +++ b/static/js/mumApp.js @@ -65,7 +65,7 @@ mumApp.config(function($routeProvider){ mumApp.$inject = ['$scope', '$filter']; -mumApp.directive("customSort", function() { +/*mumApp.directive("customSort", function() { return { restrict: 'A', transclude: true, @@ -104,7 +104,7 @@ scope.selectedCls = function(column) { } -}); +});*/ // https://github.com/angular-ui/angular-ui-OLDREPO/blob/master/modules/filters... (MIT licence) mumApp.filter('unique', function () { diff --git a/views/groups.html b/views/groups.html index cfd6a3d..76e5ef5 100644 --- a/views/groups.html +++ b/views/groups.html @@ -37,24 +37,30 @@ </tr> </tbody> </table> - <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal_add" ng-click="open_modal_group()">Add selected to group...</button> + <button type="button" class="btn btn-primary" + ng-click="open_modal_group()" + ng-disable="selection=={}">Add selected to group...</button> <button ng-show="grp != 'all' || ''" type="button" class="btn btn-danger" ng-click="remove_host_list()">Remove selected from {{grp}}</button> </div> </div> <script type="text/ng-template" id="modal_group_label.html"> <div class="modal-header"> - <h3 class="modal-title">Add to group</h3> + <h3 class="modal-title">Add {{group_args.selected}}</h3> </div> <div class="modal-body"> <form> <div class="form-group"> - <label for="list_grp">From an existing group</label> - <select class="form-control" id="list_grp" ng-model="selected_grp" ng-options= - "item for item in group_args.groups | unique:'group'"> + <label for="list_grp">to an existing group</label> + <select class="form-control" id="list_grp" + ng-model="selected_grp" + ng-options="item for item in group_args.groups | unique:'group'" + ng-disabled="new_grp_name!=''"> </select> <label for="grp_name">Or create a new group</label> - <input type="text" class="form-control" id="grp_name" ng-model="new_grp_name"> + <input type="text" class="form-control" id="grp_name" + ng-model="new_grp_name" + ng-change="selected_grp = ''"> </div> </form> </div> diff --git a/views/profile.html b/views/profile.html index 1ed35ae..39b8411 100644 --- a/views/profile.html +++ b/views/profile.html @@ -34,7 +34,7 @@ <input type="email" class="form-control" id="mail" ng-model="email"> </div> <div class="row"></div> - <div class="col-xs-4"> + <div class="col-xs-8"> <label for="cellphone">SMS URL</label> <input type="text" class="form-control" id="cellphone" ng-model="sms_url"> </div> diff --git a/views/users.html b/views/users.html index dfe9c5c..60a8d7b 100644 --- a/views/users.html +++ b/views/users.html @@ -1,15 +1,81 @@ <div class="col-md-offset-2 main"> - <h1 class="page-header">Users</h1> + <h1 class="page-header">Users <small>{{selected_user}}</small></h1> <div class="row"> <div class="col-xs-4"> <label for="usrlist">Registered users</label> - <select class="form-control input-sm" id="usrlist" ng-model="selected_user" ng-options="user as user for user in users"></select> + <select class="form-control input-sm" id="usrlist" + ng-model="selected_user" + ng-options="user as user for user in users" + ng-change="get_user_subscriptions()"></select> </div> </div> <button type="button" class="btn btn-primary" data-toggle="popover" - data-placement="bottom" title="Add user..." data-content="ger" ng-click="show_new_user=!show_new_user">Add user</button> + data-placement="bottom" title="Add user..." data-content="ger" + ng-click="show_new_user=!show_new_user">Add user</button> <input type="text" ng-show="show_new_user" ng-model="new_username"> - <button type="button" class="btn btn-primary" ng-show="show_new_user && new_username!=''" ng-click="addUser()">Create user</button> - <button type="button" class="btn btn-danger" ng-show="selected_user!='' && selected_user!=null" ng-click="removeUser()">Remove {{selected_user}}</button> + <button type="button" class="btn btn-primary" + ng-show="show_new_user && new_username!=''" + ng-click="addUser()">Create user + </button> + <button type="button" class="btn btn-danger" + ng-show="selected_user!='' && selected_user!=null" + ng-click="removeUser()">Remove {{selected_user}} + </button> + + <div ng-show="selected_user!=''"> + <p>Subscriptions summary:</p> + <table class="table table-hover"> + <thead> + <tr> + <th>Host</th> + <th>Notification service</th> + <th>Minor</th> + <th>Major</th> + </tr> + </thead> + <tbody> + <tr ng-repeat-start="(addr_host, host) in user_subscriptions.hosts"> + <td>{{addr_host}}</td> + </tr> + <tr ng-repeat-end + ng-repeat="(notif_mod_name, notif_mod) in host.minor"> + <td></td> + <td>{{notif_mod_name}}</td> + <td class="{{get_class('hosts', 'minor', addr_host, notif_mod_name)}}"> + {{notif_mod.priority}} + </td> + <td class="{{get_class('hosts', 'major', addr_host, notif_mod_name)}}"> + {{user_subscriptions.hosts[addr_host].major[notif_mod_name].priority}} + </td> + </tr> + </tbody> + </table> + <table class="table table-hover"> + <thead> + <tr> + <th>Group</th> + <th>Notification service</th> + <th>Minor</th> + <th>Major</th> + </tr> + </thead> + <tbody> + <tr ng-repeat-start="(grp_name, grp) in user_subscriptions.groups"> + <td>{{grp_name}}</td> + </tr> + <tr ng-repeat-end + ng-repeat="(notif_mod_name, notif_mod) in grp.minor"> + <td></td> + <td>{{notif_mod_name}}</td> + <td class="{{get_class('groups', 'minor', grp_name, notif_mod_name)}}"> + {{notif_mod.priority}} + </td> + <td class="{{get_class('groups', 'major', grp_name, notif_mod_name)}}"> + {{user_subscriptions.groups[grp_name].major[notif_mod_name].priority}} + </td> + </tr> + </tbody> + </table> + </div> </div> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm