Skip to content

Commit 8b4e454

Browse files
authored
Merge pull request #206 from HFragnaud/master
Datahandler fixed and some others, see details
2 parents e58f1a1 + 233e348 commit 8b4e454

18 files changed

+78
-78
lines changed

model_validation_api/validation_framework_toolbox/user_auth_functions.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,10 @@ def is_authorised(request, collab_id):
217217
if request.META.get("HTTP_AUTHORIZATION", None) == None :
218218
return False
219219
else:
220-
auth = _is_collaborator_token(request, collab_id)
221-
auth = _is_collaborator_token(request, admin_id)
222-
return auth
220+
if not (_is_collaborator_token(request, collab_id) or _is_collaborator_token(request, collab_id)):
221+
return False
222+
else:
223+
return True
223224

224225
else :
225226
if not (_is_collaborator(request, collab_id) or _is_collaborator(request,admin_id)):

model_validation_api/views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1209,7 +1209,9 @@ def put(self, request, format=None):
12091209
## save only modifications on model. if you want to modify images or instances, do separate put.
12101210
##get objects
12111211
value = request.data['models'][0]
1212+
12121213
app_id = request.GET.getlist('app_id')
1214+
12131215
if len(app_id) > 0 :
12141216
value['app_id'] = app_id[0]
12151217

@@ -1230,7 +1232,7 @@ def put(self, request, format=None):
12301232
return HttpResponse('Unauthorized', status=401)
12311233
return HttpResponseForbidden()
12321234

1233-
app_id = value['app_id']
1235+
app_id = value['app']['id']
12341236

12351237
collab_id = get_collab_id_from_app_id(app_id)
12361238
if not is_authorised(request, collab_id):

validation_service/app/js/controller.js

Lines changed: 19 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,12 @@ testApp.controller('HomeCtrl', ['$scope', '$rootScope', '$http', '$location', "S
1010
$scope.tests = [];
1111
$scope.total_models = 0;
1212

13-
$scope._load_other_models = function() {
14-
var i = 2;
15-
for (i; i <= $scope.nb_pages; i++) {
16-
DataHandler.loadModelsByPage({ app_id: $scope.app_id, page: i }).then(function(new_models) {
17-
$scope.models.models = $scope.models.models.concat(new_models.models);
18-
$scope.models.models = $scope.models.models.sort(_sort_array_by_timestamp_desc)
19-
$scope.$apply();
20-
})
21-
}
22-
}
23-
var _sort_array_by_timestamp_desc = function(a, b) {
24-
return new Date(b.creation_date) - new Date(a.creation_date);
25-
}
13+
$scope.$on('models_updated', function(event, models) {
14+
$scope.models = models;
15+
});
16+
17+
2618
Context.setService().then(function() {
27-
console.log('collab parameters setted')
2819

2920
$scope.Context = Context;
3021
$scope.ctx = Context.getCtx();
@@ -43,10 +34,7 @@ testApp.controller('HomeCtrl', ['$scope', '$rootScope', '$http', '$location', "S
4334
$scope.collab_data_modalities = CollabParameters.getParametersOrDefaultByType("data_modalities");
4435
$scope.collab_organization = CollabParameters.getParametersOrDefaultByType("organization");
4536

46-
//$scope.models = ScientificModelRest.get({ app_id: app_id }, function(data) {});
47-
//$scope.tests = ValidationTestDefinitionRest.get({ app_id: app_id }, function(data) {});
48-
// //for test
49-
// $scope.put_test1 = ValidationTestCodeRest.put({ app_id: app_id, test_definition_id: "53a7a2db-b18f-49ef-b1de-88bd48960c81", version: "1.1" });
37+
5038
DataHandler.loadModels({ app_id: $scope.app_id, page: 1 }).then(function(data) {
5139
$scope.total_models = data.total_models;
5240
$scope.nb_pages = data.total_nb_pages;
@@ -59,7 +47,11 @@ testApp.controller('HomeCtrl', ['$scope', '$rootScope', '$http', '$location', "S
5947
$('#preloader-models').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website.
6048
$('#models-panel').delay(350).css({ 'overflow': 'visible' });
6149

62-
$scope._load_other_models();
50+
51+
var status = DataHandler.getCurrentStatus();
52+
if (status != "up_to_date") {
53+
DataHandler.loadModelsByPage($scope.app_id, $scope.nb_pages);
54+
}
6355
});
6456

6557
DataHandler.loadTests({ app_id: $scope.app_id }).then(function(data) {
@@ -1126,21 +1118,9 @@ ModelCatalogApp.controller('ModelCatalogCtrl', [
11261118
return models
11271119
}
11281120

1129-
1130-
$scope._load_other_models = function() {
1131-
var i = 2;
1132-
for (i; i <= $scope.nb_pages; i++) {
1133-
DataHandler.loadModelsByPage({ app_id: $scope.app_id, page: i }).then(function(new_models) {
1134-
$scope.models.models = $scope.models.models.concat($scope._change_empty_organization_string(new_models).models);
1135-
$scope.models.models = $scope.models.models.sort(_sort_array_by_timestamp_desc)
1136-
$scope.$apply();
1137-
})
1138-
}
1139-
}
1140-
1141-
var _sort_array_by_timestamp_desc = function(a, b) {
1142-
return new Date(b.creation_date) - new Date(a.creation_date);
1143-
}
1121+
$scope.$on('models_updated', function(event, models) {
1122+
$scope.models = $scope._change_empty_organization_string(models);
1123+
});
11441124

11451125
Context.setService().then(function() {
11461126

@@ -1166,11 +1146,12 @@ ModelCatalogApp.controller('ModelCatalogCtrl', [
11661146
$('#preloader').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website.
11671147
$('body').delay(350).css({ 'overflow': 'visible' });
11681148

1169-
1170-
$scope._load_other_models();
1171-
1172-
1149+
var status = DataHandler.getCurrentStatus();
1150+
if (status != "up_to_date") {
1151+
DataHandler.loadModelsByPage($scope.app_id, $scope.nb_pages);
1152+
}
11731153
});
1154+
11741155
Context.sendState("model", "n");
11751156

11761157

validation_service/app/js/service.js

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -440,41 +440,52 @@ DataHandlerServices.service('DataHandler', ['$rootScope', 'ScientificModelRest',
440440
var temp_models = ScientificModelRest.get(dict_params);
441441
temp_models.$promise.then(function() {
442442
models = { date_last_load: new Date(), status: "loading", data: temp_models };
443-
resolve(models.data);
443+
resolve(models.data, models.status);
444444
});
445445

446446
} else {
447-
if (models.status == "up to date") {
447+
if (models.status == "up_to_date") {
448448
var data = _loadStoredModels();
449-
resolve(data);
449+
resolve(data, models.status);
450450
} else {
451451
var temp_models = ScientificModelRest.get(dict_params);
452452
temp_models.$promise.then(function() {
453-
if (temp_models.total_nb_pages == dict_params.page) {
454-
models = { date_last_load: new Date(), status: "loading", data: temp_models };
455-
} else {
456-
models = { date_last_load: new Date(), status: "up_to_date", data: temp_models };
457-
}
458-
resolve(models.data);
453+
models = { date_last_load: new Date(), status: "up_to_date", data: temp_models };
454+
resolve(models.data, models.status);
459455
});
460456
}
461457
}
462458
});
463459
};
464460

465-
var loadModelsByPage = function(dict_params) {
466-
return new Promise(function(resolve, reject) {
467-
var temp_models = ScientificModelRest.get(dict_params);
468-
//var temp_models = _get_models_sequentially(dict_params);
469-
temp_models.$promise.then(function() {
470-
if (temp_models.total_nb_pages == dict_params.page) {
471-
models = { date_last_load: new Date(), status: "loading", data: temp_models };
472-
} else {
473-
models = { date_last_load: new Date(), status: "up_to_date", data: temp_models };
474-
}
475-
resolve(models.data);
476-
});
477-
})
461+
var loadModelsByPage = function(app_id, nb_pages) {
462+
var i = 1;
463+
var pages_loaded = new Array();
464+
pages_loaded.push(1);
465+
466+
for (i; i <= nb_pages; i++) {
467+
if (pages_loaded.indexOf(i) == -1) {
468+
pages_loaded.push(i);
469+
ScientificModelRest.get({ app_id: app_id, page: i }).$promise.then(function(new_models) {
470+
models.data.models = models.data.models.concat(new_models.models);
471+
models.data.models = models.data.models.sort(_sort_array_by_timestamp_desc)
472+
473+
//fire event to update models
474+
$rootScope.$broadcast('models_updated', models.data);
475+
476+
//change status if last load is done
477+
if (pages_loaded.length == nb_pages.length) {
478+
models.date_last_load = new Date();
479+
models.status = "up_to_date";
480+
}
481+
})
482+
}
483+
484+
}
485+
}
486+
487+
var _sort_array_by_timestamp_desc = function(a, b) {
488+
return new Date(b.creation_date) - new Date(a.creation_date);
478489
}
479490
var _get_models_sequentially = function(dict_params) {
480491
//load 50 first elements should return also the number of pages
@@ -545,15 +556,20 @@ DataHandlerServices.service('DataHandler', ['$rootScope', 'ScientificModelRest',
545556
var getStoredTests = function() {
546557
return tests;
547558
}
559+
var getCurrentStatus = function() {
560+
return models.status
561+
}
548562

549563
return {
550564
loadModels: loadModels,
551565
loadModelsByPage: loadModelsByPage,
552566
loadTests: loadTests,
553567
getStoredModels: getStoredModels,
554568
getStoredTests: getStoredTests,
569+
getCurrentStatus: getCurrentStatus,
555570
setStoredModelsAsOutdated: setStoredModelsAsOutdated,
556571
setStoredTestsAsOutdated: setStoredTestsAsOutdated,
572+
557573
};
558574

559575
}

validation_service/app/templates/model_catalog/model-catalog-create.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-create" ng-controller="ModelCatalogCreateCtrl">
1+
<html id="model-create">
22

33
<head>
44
<nav class="navbar ">

validation_service/app/templates/model_catalog/model-catalog-detail.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-detail" ng-controller="ModelCatalogDetailCtrl">
1+
<html id="model-detail">
22

33
<head>
44

validation_service/app/templates/model_catalog/model-catalog-edit.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-edit" ng-controller="ModelCatalogEditCtrl">
1+
<html id="model-edit">
22

33
<form>
44

validation_service/app/templates/model_catalog/model-catalog-version.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-version" ng-controller="ModelCatalogVersionCtrl">
1+
<html id="model-version">
22

33
<head>
44
<nav class="navbar ">

validation_service/app/templates/model_catalog/model-catalog.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-list" ng-controller="ModelCatalogCtrl">
1+
<html id="model-list">
22

33
<body>
44
<nav class="navbar ">

validation_service/app/templates/model_catalog/model-catalog_help.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-help" ng-controller="ModelCatalogHelpPage">
1+
<html id="model-help">
22

33
<nav class="navbar">
44
<br>

validation_service/app/templates/validation_framework/home_1.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div ng-controller="HomeCtrl">
1+
<div>
22

33
<nav class="navbar">
44
<br>

validation_service/app/templates/validation_framework/test_result.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ <h1>
33

44

55

6-
<div ng-controller="TestResultCtrl">
6+
<div>
77

88
<nvd3 options='options5' data='data5' id='chart svg'></nvd3>
99

validation_service/app/templates/validation_framework/validation_help.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="validation-help" ng-controller="ValHelpCtrl">
1+
<html id="validation-help">
22
<nav class="navbar">
33
<br>
44
<button class="button-MC" ng-click="Context.validation_goToHomeView();"> Home</button>&ensp;

validation_service/app/templates/validation_framework/validation_model_detail.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-detail" ng-controller="ValModelDetailCtrl">
1+
<html id="model-detail">
22

33
<body>
44

validation_service/app/templates/validation_framework/validation_test.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="model-list" ng-controller="ValTestCtrl">
1+
<html id="model-list">
22
<nav class="navbar">
33
<br>
44
<button class="button-MC" ng-click="Context.validation_goToHomeView();">Home</button>&ensp;

validation_service/app/templates/validation_framework/validation_test_create.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div ng-controller="ValTestCreateCtrl">
1+
<div>
22
<nav class="navbar">
33
<br>
44
<button class="button-MC" ng-click="Context.validation_goToHomeView();">Home</button>&ensp;

validation_service/app/templates/validation_framework/validation_test_detail.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div ng-controller="ValTestDetailCtrl">
1+
<div>
22

33
<head>
44
<nav class="navbar">

validation_service/app/templates/validation_framework/validation_test_result_detail.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<html id="test-result-detail" ng-controller="ValTestResultDetailCtrl">
1+
<html id="test-result-detail">
22

33
<head>
44
<nav class="navbar ">

0 commit comments

Comments
 (0)