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 }}:
+
+