diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-de.js b/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-de.js index 82bc9817df..4fbdb604cb 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-de.js +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-de.js @@ -28,6 +28,7 @@ angular.module('metadatamanagementApp').config([ 'title': 'Titel', 'dataLanguages': 'Daten verfügbar auf', 'tags': 'Schlagwörter', + 'approvedUses': 'Erlaubte Nutzungszwecke', 'additional-links': 'Weiterführende Links', 'attachments': { 'type': 'Typ', @@ -298,6 +299,8 @@ angular.module('metadatamanagementApp').config([ 'de': 'Geben Sie zusätzliche Anmerkungen zum Datenpaket auf Deutsch ein.', 'en': 'Geben Sie zusätzliche Anmerkungen zum Datenpaket auf Englisch ein.' }, + 'approved-uses': 'Geben Sie, falls vorhanden, die erlaubten Nutzungszwecke ein.' + , 'description': { 'de': 'Geben Sie eine Beschreibung des Datenpakets auf Deutsch ein.', 'en': 'Geben Sie eine Beschreibung des Datenpakets auf Englisch ein.' diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-en.js b/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-en.js index 189c08c7c1..54ca8ed2da 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-en.js +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/configuration/translations-en.js @@ -28,6 +28,7 @@ angular.module('metadatamanagementApp').config([ 'title': 'Title', 'dataLanguages': 'Data available in', 'tags': 'Tags', + 'approvedUses': 'Approved purposes of use', 'additional-links': 'Additional Links', 'attachments': { 'type': 'Type', @@ -296,6 +297,8 @@ angular.module('metadatamanagementApp').config([ 'de': 'Enter additional annotations for this data package in German.', 'en': 'Enter additional annotations for this data package in English.' }, + 'approved-uses': 'If available enter the approved uses for this data package.' + , 'description': { 'de': 'Enter a description of this data package in German.', 'en': 'Enter a description of this data package in English.' diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/services/dataPackageSearch.service.js b/mdm-frontend/src/app/legacy/datapackagemanagement/services/dataPackageSearch.service.js index bacacd342c..f98c584393 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/services/dataPackageSearch.service.js +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/services/dataPackageSearch.service.js @@ -438,6 +438,77 @@ angular.module('metadatamanagementApp').factory('DataPackageSearchService', ['$q }); }; + var findApprovedUses = function(searchText, filter, + ignoreAuthorization) { + console.log("fooo"); + ignoreAuthorization = ignoreAuthorization || false; + var query = createQueryObject(); + var termFilters = createTermFilters(filter); + query.size = 0; + query.body = { + 'aggs': { + 'approvedUses': { + "terms": { + "field": "approvedUses" + }, + 'aggs': { + 'filtered': { + 'filter': { + 'bool': { + 'must': [{ + 'match': {} + }] + } + } + } + } + } + } + }; + + query.body.query = { + 'bool': { + 'filter': { + 'term': { + 'shadow': false + } + } + } + }; + + console.log("bar"); + query.body.aggs.approvedUses.aggs.filtered.filter.bool.must[0].match + ['approvedUses'] = { + 'query': searchText || '', + 'operator': 'AND', + 'minimum_should_match': '100%', + 'zero_terms_query': 'ALL' + }; + + if (termFilters) { + query.body.query.bool.filter = termFilters; + } + + if (!ignoreAuthorization) { + SearchHelperService.addFilter(query); + } + + return ElasticSearchClient.search(query).then(function(result) { + var approvedUses = []; + var approvedUsesElement = {}; + result.aggregations.approvedUses.buckets.forEach( + function(bucket) { + // approvedUsesElement = { + // 'name': bucket.key + // }; + approvedUsesElement = bucket.key; + // approvedUsesElement.count = bucket.doc_count; + approvedUses.push(approvedUsesElement); + }); + return approvedUses; + }); + }; + var findInstitutions = function(searchText, filter, language, ignoreAuthorization, excludedInstitutions) { ignoreAuthorization = ignoreAuthorization || false; @@ -644,6 +715,7 @@ angular.module('metadatamanagementApp').factory('DataPackageSearchService', ['$q findDataPackageById: findDataPackageById, findStudySeries: findStudySeries, findSponsors: findSponsors, + findApprovedUses: findApprovedUses, findInstitutions: findInstitutions, findDataPackageTitles: findDataPackageTitles, findInstitutionFilterOptions: findInstitutionFilterOptions, diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/templates/common-details.html.tmpl b/mdm-frontend/src/app/legacy/datapackagemanagement/templates/common-details.html.tmpl index c073e9333a..16ddbfc901 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/templates/common-details.html.tmpl +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/templates/common-details.html.tmpl @@ -122,6 +122,13 @@ + +
{{'data-package-management.detail.label.approvedUses' | translate }}:
+

+
diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.controller.js b/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.controller.js index 6bd9cae4f6..82d98bd12c 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.controller.js +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.controller.js @@ -165,6 +165,7 @@ angular.module('metadatamanagementApp') } else { CurrentProjectService.setCurrentProject(project); ctrl.dataPackage = dataPackage; + ctrl.currentApprovedUses = dataPackage.approvedUses; ctrl.currentStudySeries = dataPackage.studySeries; ctrl.currentSponsors = angular.copy( ctrl.dataPackage.sponsors); @@ -645,6 +646,16 @@ angular.module('metadatamanagementApp') }); }; + $scope.searchApprovedUses = function(searchText) { + //Search Call to Elasticsearch + console.log('CURRENTSPONSORS: ' + JSON.stringify(ctrl.currentSponsors)); + return DataPackageSearchService.findApprovedUses(searchText, {}, + true) + .then(function(approvedUses) { + return approvedUses; + }); + }; + $scope.searchSponsors = function(searchText, language) { //Search Call to Elasticsearch console.log('CURRENTSPONSORS: ' + JSON.stringify(ctrl.currentSponsors)); diff --git a/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.html.tmpl b/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.html.tmpl index 3c3c3e1134..ccf7d07ab5 100644 --- a/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.html.tmpl +++ b/mdm-frontend/src/app/legacy/datapackagemanagement/views/data-package-edit-or-create.html.tmpl @@ -147,6 +147,32 @@
+
+ + + {{item}} + + + {{'search-management.filter.approved-uses-filter.not-found' | translate}} + +
+ {{'data-package-management.edit.hints.approved-uses' | translate}} +
+
+
+