package org.openmrs.module.reporting.web.extension;
import java.util.LinkedHashMap;
import java.util.Map;
import org.openmrs.api.context.Context;
import org.openmrs.module.Extension;
import org.openmrs.module.reporting.cohort.definition.CohortDefinition;
import org.openmrs.module.reporting.data.person.definition.PersonDataDefinition;
import org.openmrs.module.reporting.dataset.definition.DataSetDefinition;
import org.openmrs.module.web.extension.AdministrationSectionExt;
import org.openmrs.util.OpenmrsClassLoader;
public class ManageAdminListExt extends AdministrationSectionExt {
public Extension.MEDIA_TYPE getMediaType() {
return Extension.MEDIA_TYPE.html;
}
public String getTitle() {
return "reporting.manage.title";
}
public String getRequiredPrivilege() {
return "Manage Reports";
}
public Map<String, String> getLinks() {
// Using linked hash map to keep order of links
Map<String, String> map = new LinkedHashMap<String, String>();
Thread.currentThread().setContextClassLoader(OpenmrsClassLoader.getInstance());
if (Context.hasPrivilege("Manage Report Definitions")) {
map.put("module/reporting/reports/manageReports.form", "reporting.manageReports.title");
}
map.put("module/reporting/definition/manageDefinitions.form?type=" + DataSetDefinition.class.getName(), "reporting.manageDataSets.title");
map.put("module/reporting/indicators/manageIndicators.form", "reporting.manageIndicators.title");
map.put("module/reporting/indicators/manageDimensions.form", "reporting.manageDimensions.title");
map.put("module/reporting/definition/manageDefinitions.form?type=" + CohortDefinition.class.getName(), "reporting.manageCohortDefinitions.title");
map.put("module/reporting/definition/manageDefinitions.form?type=" + PersonDataDefinition.class.getName(), "reporting.manageDataDefinitions.title");
map.put("module/reporting/reports/manageReportDesigns.form", "reporting.manageReportDesigns.title");
map.put("module/reporting/reports/manageReportProcessors.form", "reporting.manageReportProcessors.title");
return map;
}
}