From 5c026cb8b06d8da80c6782bbd1edfa34e94f3059 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Fri, 17 Jun 2016 13:03:38 +0000 Subject: [PATCH] Task #8887: typo's, and dropdown filter for group in webscheduler list --- SAS/MoM/MoMQueryService/momqueryservice.py | 2 +- .../ResourceAssignmentEditor/lib/mom.py | 2 +- .../static/app/controllers/gridcontroller.js | 25 +++++++++++++++---- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/SAS/MoM/MoMQueryService/momqueryservice.py b/SAS/MoM/MoMQueryService/momqueryservice.py index 384376a06cf..9db6eb84d64 100755 --- a/SAS/MoM/MoMQueryService/momqueryservice.py +++ b/SAS/MoM/MoMQueryService/momqueryservice.py @@ -117,7 +117,7 @@ class MoMDatabaseWrapper: object.mom2id as object_mom2id, object.id as object_mom2objectid, object.name as object_name, object.description as object_description, object.mom2objecttype as object_type, object.group_id as object_group_id, grp.id as object_group_mom2objectid, grp.name as object_group_name FROM mom2object as object left join mom2object as project on project.id = object.ownerprojectid - left join mom2object as grp on grp.id = object.group_id + left join mom2object as grp on grp.mom2id = object.group_id where object.mom2id in (%s) order by project_mom2id ''' % (ids_str,) diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/mom.py b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/mom.py index e097c71de92..1534babfdc9 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/mom.py +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/mom.py @@ -66,7 +66,7 @@ def updateTaskMomDetails(task, momrpc): t['mom2object_id'] = m['object_mom2objectid'] t['mom_object_group_id'] = m['object_group_id'] t['mom_object_group_name'] = m.get('object_group_name') - t['mom_object_group_mom2object_id'] = m.get('mom_object_group_mom2objectid') + t['mom_object_group_mom2object_id'] = m.get('object_group_mom2objectid') else: t['project_name'] = 'OTDB Only' t['project_mom_id'] = -98 diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js index 8fba4c7f062..1c808f7b830 100644 --- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js +++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js @@ -20,7 +20,7 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid displayName:'Project', enableCellEdit: false, cellTemplate:'<a target="_blank" href="https://lofar.astron.nl/mom3/user/project/setUpMom2ObjectDetails.do?view=generalinfo&mom2ObjectId={{row.entity.project_mom2object_id}}">{{row.entity[col.field]}}</a>', - width: '15%', + width: '12%', filter: { type: uiGridConstants.filter.SELECT, selectOptions: [] @@ -28,7 +28,7 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid }, { field: 'starttime', displayName: 'Start', - width: '13%', + width: '11%', type: 'date', enableCellEdit: false, enableCellEditOnFocus: false, @@ -37,7 +37,7 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid }, { field: 'endtime', displayName: 'End', - width: '13%', + width: '11%', type: 'date', enableCellEdit: false, enableCellEditOnFocus: false, @@ -77,7 +77,11 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid displayName: 'Group', enableCellEdit: false, cellTemplate:'<a target="_blank" href="https://lofar.astron.nl/mom3/user/project/setUpMom2ObjectDetails.do?view=generalinfo&mom2ObjectId={{row.entity.mom_object_group_mom2object_id}}">{{row.entity[col.field]}}</a>', - width: '6%' + width: '13%', + filter: { + type: uiGridConstants.filter.SELECT, + selectOptions: [] + } }, { field: 'mom_id', displayName: 'MoM ID', @@ -198,7 +202,8 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid } else $scope.gridOptions.data = [] - fillProjectsColumFilterSelectOptions(); + $scope.$evalAsync(fillProjectsColumFilterSelectOptions) + $scope.$evalAsync(fillGroupsColumFilterSelectOptions); }; function jumpToSelectedTaskRow() { @@ -247,6 +252,16 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid fillColumFilterSelectOptions(projectNames, $scope.columns[1]); }; + function fillGroupsColumFilterSelectOptions() { + var tasks = $scope.dataService.tasks; + //get unique groupNames from tasks + var groupNames = tasks.map(function(t) { return t.mom_object_group_name; }); + groupNames = groupNames.filter(function(value, index, arr) { return arr.indexOf(value) == index;}) + groupNames.sort(); + + fillColumFilterSelectOptions(groupNames, $scope.columns[7]); + }; + $scope.$watch('dataService.momProjectsDict', fillProjectsColumFilterSelectOptions); $scope.$watch('dataService.selected_task_id', jumpToSelectedTaskRow); } -- GitLab