diff --git a/monitor-admin/manageStakeholders/manage-all.component.ts b/monitor-admin/manageStakeholders/manage-all.component.ts index 56c48cdf..d36dee9f 100644 --- a/monitor-admin/manageStakeholders/manage-all.component.ts +++ b/monitor-admin/manageStakeholders/manage-all.component.ts @@ -18,7 +18,7 @@ import {ManageStakeholdersComponent} from "./manageStakeholders.component";
-
+
@@ -98,6 +98,7 @@ export class ManageAllComponent extends StakeholderBaseComponent implements OnIn } else if(!this.isCurator()) { this.stakeholderCategories = this.stakeholderCategories.filter(category => category.value !== 'templates'); } + this.active = this.stakeholderCategories[0].value; })); let data = zip( this.stakeholderService.getMyStakeholders(this.properties.monitorServiceAPIURL), diff --git a/monitor-admin/umbrella/umbrella.component.ts b/monitor-admin/umbrella/umbrella.component.ts index 74e9b0bf..aa8aadde 100644 --- a/monitor-admin/umbrella/umbrella.component.ts +++ b/monitor-admin/umbrella/umbrella.component.ts @@ -56,7 +56,7 @@ declare var UIkit;
-
  • +
  • diff --git a/monitor-admin/utils/indicator-utils.ts b/monitor-admin/utils/indicator-utils.ts index 6e516ca1..de473d15 100644 --- a/monitor-admin/utils/indicator-utils.ts +++ b/monitor-admin/utils/indicator-utils.ts @@ -768,6 +768,7 @@ export class IndicatorUtils { this.extractOrganization(obj, stakeholder); this.extractDatasource(obj, stakeholder); this.extractResearcher(obj, stakeholder); + this.extractPublisher(obj, stakeholder); } private extractFunder(obj, stakeholder: Stakeholder) { @@ -849,6 +850,33 @@ export class IndicatorUtils { } } + private extractPublisher(obj, stakeholder: Stakeholder) { + // works for .publisher + if (stakeholder.type != 'publisher') { + return; + } + for (let query of this.getQueryObjectName(obj) ? obj[this.getDescriptionObjectName(obj)][this.getQueryObjectName(obj)] : obj[this.getDescriptionObjectName(obj)]) { + if (query["query"]["profile"]) { + query["query"]["profile"] = ChartHelper.prefix + this.statsProfileParameter + ChartHelper.suffix; + } + if (!query["query"]["filters"]) { + return; + } + for (let filter of query["query"]["filters"]) { + for (let gfilter of filter["groupFilters"]) { + let replacedValue = this.replaceIndexValues(gfilter["values"][0], stakeholder); + console.log(replacedValue) + if (replacedValue) { // don't proceed in replacement if no replaced value matches + if (gfilter["field"].indexOf(".publisher") != -1) { + console.log(gfilter["values"][0]) + gfilter["values"][0] = replacedValue; + } + } + } + } + } + } + private extractDatasource(obj, stakeholder: Stakeholder) { // works for .datasource.name and .HostedBy datasource // and .datasource.id diff --git a/monitor/services/hasDashboard.guard.ts b/monitor/services/hasDashboard.guard.ts index 666d8255..6dfb950e 100644 --- a/monitor/services/hasDashboard.guard.ts +++ b/monitor/services/hasDashboard.guard.ts @@ -16,11 +16,7 @@ export class HasDashboardGuard { } check(path: string, alias: string, type: string, child: string): Observable | boolean { - let get = this.stakeholderService.getStakeholder(alias); - if(child) { - get = this.stakeholderService.getChildStakeholder(alias, type, child); - } - return get.pipe(take(1), map(stakeholder => { + return (child?this.stakeholderService.getChildStakeholder(alias, type, child):this.stakeholderService.getStakeholder(alias)).pipe(take(1), map(stakeholder => { return stakeholder.standalone || (!!stakeholder && !!child); }),tap(authorized => { if(!authorized){