Skip to content
Snippets Groups Projects
Commit e43de52a authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

Task #8887: merged feature branch back into trunk

parents 02d7a027 f148cdf9
No related branches found
No related tags found
No related merge requests found
...@@ -9,12 +9,17 @@ ...@@ -9,12 +9,17 @@
-- CONNECTION LIMIT = -1; -- CONNECTION LIMIT = -1;
-- psql resourceassignment -U resourceassignment -f create_database.sql -W -- psql resourceassignment -U resourceassignment -f create_database.sql -W
BEGIN;
DROP SCHEMA IF EXISTS virtual_instrument CASCADE;
DROP SCHEMA IF EXISTS resource_monitoring CASCADE;
DROP SCHEMA IF EXISTS resource_allocation CASCADE;
CREATE SCHEMA virtual_instrument; CREATE SCHEMA virtual_instrument;
CREATE SCHEMA resource_monitoring; CREATE SCHEMA resource_monitoring;
CREATE SCHEMA resource_allocation; CREATE SCHEMA resource_allocation;
BEGIN;
-- This is insanity, but works, order needs to be the reverse of the CREATE TABLE statements -- This is insanity, but works, order needs to be the reverse of the CREATE TABLE statements
DROP VIEW IF EXISTS virtual_instrument.resource_view CASCADE; DROP VIEW IF EXISTS virtual_instrument.resource_view CASCADE;
DROP VIEW IF EXISTS resource_allocation.task_view CASCADE; DROP VIEW IF EXISTS resource_allocation.task_view CASCADE;
...@@ -166,6 +171,9 @@ CREATE TABLE resource_allocation.claim_session ( ...@@ -166,6 +171,9 @@ CREATE TABLE resource_allocation.claim_session (
ALTER TABLE resource_allocation.claim_session ALTER TABLE resource_allocation.claim_session
OWNER TO resourceassignment; OWNER TO resourceassignment;
--until we use user management, insert one default session_id
INSERT INTO resource_allocation.claim_session(id, username, user_id, starttime, token) VALUES (1, 'anonymous', -1, '2015-04-14', 'foo');
CREATE TABLE resource_allocation.resource_claim_status ( CREATE TABLE resource_allocation.resource_claim_status (
id serial NOT NULL, id serial NOT NULL,
name text NOT NULL, name text NOT NULL,
......
...@@ -142,6 +142,8 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -142,6 +142,8 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
$scope.gridOptions.data = $scope.dataService.tasks; $scope.gridOptions.data = $scope.dataService.tasks;
else else
$scope.gridOptions.data = [] $scope.gridOptions.data = []
fillProjectsColumFilterSelectOptions();
}, true); }, true);
$scope.$watch('dataService.taskstatustypes', function() { $scope.$watch('dataService.taskstatustypes', function() {
...@@ -155,12 +157,17 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -155,12 +157,17 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
fillColumFilterSelectOptions(tasktypenames, $scope.columns[7]); fillColumFilterSelectOptions(tasktypenames, $scope.columns[7]);
}); });
$scope.$watch('dataService.momProjectsDict', function() { function fillProjectsColumFilterSelectOptions() {
var projectNames = []; var projectNames = [];
var momProjectsDict = $scope.dataService.momProjectsDict; var momProjectsDict = $scope.dataService.momProjectsDict;
for(var key in momProjectsDict) { var tasks = $scope.dataService.tasks;
if(momProjectsDict.hasOwnProperty(key)) { //get unique projectIds from tasks
var projectName = momProjectsDict[key].name; var task_project_ids = tasks.map(function(t) { return t.project_mom_id; });
task_project_ids = task_project_ids.filter(function(value, index, arr) { return arr.indexOf(value) == index;})
for(var project_id of task_project_ids) {
if(momProjectsDict.hasOwnProperty(project_id)) {
var projectName = momProjectsDict[project_id].name;
if(!(projectName in projectNames)) { if(!(projectName in projectNames)) {
projectNames.push(projectName); projectNames.push(projectName);
} }
...@@ -168,7 +175,9 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid ...@@ -168,7 +175,9 @@ gridControllerMod.controller('GridController', ['$scope', 'dataService', 'uiGrid
} }
projectNames.sort(); projectNames.sort();
fillColumFilterSelectOptions(projectNames, $scope.columns[1]); fillColumFilterSelectOptions(projectNames, $scope.columns[1]);
}); };
$scope.$watch('dataService.momProjectsDict', fillProjectsColumFilterSelectOptions);
$scope.$watch('dataService.selected_task_id', function() { $scope.$watch('dataService.selected_task_id', function() {
var taskIdx = $scope.gridOptions.data.findIndex(function(row) {return row.id == dataService.selected_task_id}); var taskIdx = $scope.gridOptions.data.findIndex(function(row) {return row.id == dataService.selected_task_id});
......
...@@ -82,7 +82,7 @@ class CustomJSONEncoder(JSONEncoder): ...@@ -82,7 +82,7 @@ class CustomJSONEncoder(JSONEncoder):
__root_path = os.path.dirname(os.path.realpath(__file__)) __root_path = os.path.dirname(os.path.realpath(__file__))
'''The flask webservice app''' '''The flask webservice app'''
app = Flask('ResourceAssignmentEditor', app = Flask('Scheduler',
instance_path=__root_path, instance_path=__root_path,
template_folder=os.path.join(__root_path, 'templates'), template_folder=os.path.join(__root_path, 'templates'),
static_folder=os.path.join(__root_path, 'static'), static_folder=os.path.join(__root_path, 'static'),
...@@ -101,7 +101,7 @@ radbchangeshandler = None ...@@ -101,7 +101,7 @@ radbchangeshandler = None
@app.route('/index.html') @app.route('/index.html')
def index(): def index():
'''Serves the ResourceAssignmentEditor's index page''' '''Serves the ResourceAssignmentEditor's index page'''
return render_template('index.html', title='Resource Assignment Editor') return render_template('index.html', title='Scheduler')
@app.route('/rest/resources') @app.route('/rest/resources')
@gzipped @gzipped
...@@ -248,8 +248,6 @@ def getMoMProjects(): ...@@ -248,8 +248,6 @@ def getMoMProjects():
except Exception as e: except Exception as e:
logger.error(e) logger.error(e)
projects.append({'name':'<unknown>', 'mom_id':-99, 'description': 'Container project for tasks for which we could not find a MoM project'}) projects.append({'name':'<unknown>', 'mom_id':-99, 'description': 'Container project for tasks for which we could not find a MoM project'})
for i in range(5):
projects.append({'name':'<unknown>', 'mom_id':1234+i, 'description': 'Container project for tasks for which we could not find a MoM project'})
projects.append({'name':'OTDB Only', 'mom_id':-98, 'description': 'Container project for tasks which exists only in OTDB'}) projects.append({'name':'OTDB Only', 'mom_id':-98, 'description': 'Container project for tasks which exists only in OTDB'})
return jsonify({'momprojects': projects}) return jsonify({'momprojects': projects})
...@@ -303,7 +301,7 @@ def main(): ...@@ -303,7 +301,7 @@ def main():
global rarpc global rarpc
rarpc = RARPC(busname=DEFAULT_RADB_BUSNAME, servicename=DEFAULT_RADB_SERVICENAME, broker=options.broker) rarpc = RARPC(busname=DEFAULT_RADB_BUSNAME, servicename=DEFAULT_RADB_SERVICENAME, broker=options.broker)
global momrpc global momrpc
momrpc = MoMRPC(busname=DEFAULT_MOM_BUSNAME, servicename=DEFAULT_MOM_SERVICENAME, timeout=0.05, broker=options.broker) momrpc = MoMRPC(busname=DEFAULT_MOM_BUSNAME, servicename=DEFAULT_MOM_SERVICENAME, timeout=2.5, broker=options.broker)
global radbchangeshandler global radbchangeshandler
radbchangeshandler = RADBChangesHandler(DEFAULT_RADB_CHANGES_BUSNAME, broker=options.broker, momrpc=momrpc) radbchangeshandler = RADBChangesHandler(DEFAULT_RADB_CHANGES_BUSNAME, broker=options.broker, momrpc=momrpc)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment