diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java b/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java new file mode 100644 index 00000000..9a91b24c --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java @@ -0,0 +1,39 @@ +package edu.cornell.mannlib.vitro.webapp.controller.freemarker; + +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.RefreshVisualizationCacheAction; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.usepages.UseMiscellaneousCuratorPages; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; + +public class SiteAdminController extends BaseSiteAdminController { + + private static final long serialVersionUID = 1L; + private static final Log log = LogFactory.getLog(SiteAdminController.class); + + protected Map getIndexCacheRebuildUrls(VitroRequest vreq) { + + Map urls = super.getIndexCacheRebuildUrls(vreq); + + if (PolicyHelper.isAuthorizedForActions(vreq, new RefreshVisualizationCacheAction())) { + urls.put("rebuildVisCache", UrlBuilder.getUrl("/vis/tools")); + } + + return urls; + } + + protected Map getSiteConfigUrls(VitroRequest vreq) { + + Map urls = super.getSiteConfigUrls(vreq); + + if (PolicyHelper.isAuthorizedForActions(vreq, new UseMiscellaneousCuratorPages())) { + urls.put("internalClass", UrlBuilder.getUrl("/processInstitutionalInternalClass")); + } + + return urls; + } +}