diff --git a/grails-app/controllers/au/org/ala/merit/OrganisationController.groovy b/grails-app/controllers/au/org/ala/merit/OrganisationController.groovy
index 0109f6935..0b3c5f519 100644
--- a/grails-app/controllers/au/org/ala/merit/OrganisationController.groovy
+++ b/grails-app/controllers/au/org/ala/merit/OrganisationController.groovy
@@ -51,7 +51,6 @@ class OrganisationController {
dashboard: dashboard,
roles:roles,
user:user,
- services: organisationService.findApplicableServices(organisation, metadataService.getProjectServices()),
isAdmin:orgRole?.role == RoleService.PROJECT_ADMIN_ROLE,
isGrantManager:orgRole?.role == RoleService.GRANT_MANAGER_ROLE,
content:content(organisation)]
@@ -73,10 +72,15 @@ class OrganisationController {
def dashboardReports = [[name:'dashboard', label:'Activity Outputs']]
Map availableReportCategories = null
+ List services = null
+ List targetPeriods = null
if (adminVisible) {
dashboardReports += [name:'announcements', label:'Announcements']
availableReportCategories = settingService.getJson(SettingPageType.ORGANISATION_REPORT_CONFIG)
+ services = organisationService.findApplicableServices(organisation, metadataService.getProjectServices())
+ targetPeriods = organisationService.generateTargetPeriods(organisation)
}
+ boolean showTargets = services != null
List reportOrder = null
if (reportingVisible) {
@@ -102,13 +106,12 @@ class OrganisationController {
List projects = organisation.projects ?: []
List programGroups = organisation.config?.programGroups ?: []
Map projectGroups = projectGroupingHelper.groupProjectsByProgram(projects, programGroups, ["organisationId:"+organisation.organisationId], true)
- List targetPeriods = organisationService.generateTargetPeriods(organisation)
[about : [label: 'About', visible: true, stopBinding: false, type:'tab', default:!reportingVisible, displayedPrograms:projectGroups.displayedPrograms, servicesDashboard:[visible:true]],
projects : [label: 'Reporting', template:"/shared/projectListByProgram", visible: reportingVisible, stopBinding:true, default:reportingVisible, type: 'tab', reports:organisation.reports, adHocReportTypes:adHocReportTypes, reportOrder:reportOrder, hideDueDate:true, displayedPrograms:projectGroups.displayedPrograms, reportsFirst:true, declarationType:SettingPageType.RDP_REPORT_DECLARATION],
sites : [label: 'Sites', visible: reportingVisible, type: 'tab', stopBinding:true, projectCount:organisation.projects?.size()?:0, showShapefileDownload:adminVisible],
dashboard : [label: 'Dashboard', visible: reportingVisible, stopBinding:true, type: 'tab', template:'/shared/dashboard', reports:dashboardReports],
- admin : [label: 'Admin', visible: adminVisible, type: 'tab', template:'admin', showEditAnnoucements:showEditAnnoucements, availableReportCategories:availableReportCategories, targetPeriods:targetPeriods]]
+ admin : [label: 'Admin', visible: adminVisible, type: 'tab', template:'admin', showEditAnnoucements:showEditAnnoucements, availableReportCategories:availableReportCategories, targetPeriods:targetPeriods, services: services, showTargets:showTargets]]
}
diff --git a/grails-app/services/au/org/ala/merit/OrganisationService.groovy b/grails-app/services/au/org/ala/merit/OrganisationService.groovy
index 3cb455599..f17932c0c 100644
--- a/grails-app/services/au/org/ala/merit/OrganisationService.groovy
+++ b/grails-app/services/au/org/ala/merit/OrganisationService.groovy
@@ -359,7 +359,7 @@ class OrganisationService {
def findApplicableServices(Map organisation, List allServices) {
List supportedServices = organisation.config?.organisationReports?.collect{it.activityType}?.findAll{it}
- List result = allServices
+ List result = []
if (supportedServices) {
result = allServices.findAll{ supportedServices.intersect(it.outputs.formName) }
}
diff --git a/grails-app/views/organisation/_admin.gsp b/grails-app/views/organisation/_admin.gsp
index d219ecc6a..607fff012 100644
--- a/grails-app/views/organisation/_admin.gsp
+++ b/grails-app/views/organisation/_admin.gsp
@@ -9,8 +9,9 @@
Reporting
Configuration
+