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

Task #9607: only load task for mom/otdb id if not already present

parent 3291850c
No related branches found
No related tags found
No related merge requests found
......@@ -340,31 +340,67 @@ angular.module('raeApp').factory("dataService", ['$http', '$q', function($http,
self.getTaskByOTDBId = function(otdb_id) {
var defer = $q.defer();
if(typeof(otdb_id) === 'string') {
otdb_id = parseInt(otdb_id);
}
var foundTask = self.tasks.find(function(t) { return t.otdb_id == otdb_id; });
if(foundTask) {
defer.resolve(foundTask);
} else {
$http.get('/rest/tasks/otdb/' + otdb_id).success(function(result) {
var task = result.task;
if(task) {
task.starttime = self.convertDatestringToLocalUTCDate(task.starttime);
task.endtime = self.convertDatestringToLocalUTCDate(task.endtime);
if(!self.taskDict.hasOwnProperty(task.id)) {
self.tasks.push(task);
self.taskDict[task.id] = task;
self.taskChangeCntr++;
}
}
defer.resolve(task);
}).error(function(result) {
defer.resolve(undefined);
})
}
return defer.promise;
};
self.getTaskByMoMId = function(mom_id) {
var defer = $q.defer();
if(typeof(mom_id) === 'string') {
mom_id = parseInt(mom_id);
}
var foundTask = self.tasks.find(function(t) { return t.mom_id == mom_id; });
if(foundTask) {
defer.resolve(foundTask);
} else {
$http.get('/rest/tasks/mom/' + mom_id).success(function(result) {
var task = result.task;
if(task) {
task.starttime = self.convertDatestringToLocalUTCDate(task.starttime);
task.endtime = self.convertDatestringToLocalUTCDate(task.endtime);
if(!self.taskDict.hasOwnProperty(task.id)) {
self.tasks.push(task);
self.taskDict[task.id] = task;
self.taskChangeCntr++;
}
}
defer.resolve(task);
}).error(function(result) {
defer.resolve(undefined);
})
}
return defer.promise;
};
......@@ -793,8 +829,8 @@ angular.module('raeApp').factory("dataService", ['$http', '$q', function($http,
var dataControllerMod = angular.module('DataControllerMod', ['ngResource']);
dataControllerMod.controller('DataController',
['$scope', 'dataService',
function($scope, dataService) {
['$scope', '$q', 'dataService',
function($scope, $q, dataService) {
var self = this;
$scope.dataService = dataService;
dataService.dataCtrl = this;
......@@ -825,8 +861,6 @@ dataControllerMod.controller('DataController',
var defer = $q.defer();
$scope.dataService.getTaskByOTDBId(otdb_id).then(function(task) {
if(task) {
$scope.dataService.tasks.push(task);
$scope.dataService.taskDict[task.id] = task;
$scope.dataService.setSelectedTaskId(task.id);
$scope.jumpToSelectedTask();
defer.resolve();
......@@ -839,8 +873,6 @@ dataControllerMod.controller('DataController',
var defer = $q.defer();
$scope.dataService.getTaskByMoMId(mom_id).then(function(task) {
if(task) {
$scope.dataService.tasks.push(task);
$scope.dataService.taskDict[task.id] = task;
$scope.dataService.setSelectedTaskId(task.id);
$scope.jumpToSelectedTask();
defer.resolve();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment