package org.jabylon.rest.ui.wicket.pages; /** * (C) Copyright 2013 Jabylon (http://www.jabylon.org) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.markup.head.PriorityHeaderItem; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.jabylon.properties.Project; import org.jabylon.properties.Resolvable; import org.jabylon.properties.Workspace; import org.jabylon.rest.ui.security.RestrictedComponent; import org.jabylon.rest.ui.wicket.JabylonApplication; import org.jabylon.rest.ui.wicket.panels.BreadcrumbPanel; import org.jabylon.rest.ui.wicket.panels.XliffDownloadPanel; import org.jabylon.security.CommonPermissions; /** * @author c.samulski (20156-01-26) */ public class XliffDownloadPage extends GenericResolvablePage<Resolvable<?, ?>> implements RestrictedComponent { private static final long serialVersionUID = 1L; public XliffDownloadPage(PageParameters parameters) { super(parameters); setStatelessHint(true); } @Override protected void construct() { addOrReplace(new XliffDownloadPanel("panel-download-xliff", getModel(), getPageParameters())); BreadcrumbPanel breadcrumbPanel = new BreadcrumbPanel("breadcrumb-panel", getModel(), getPageParameters(), ResourcePage.class); add(breadcrumbPanel); } @Override public String getRequiredPermission() { Resolvable<?, ?> object = getModelObject(); while(object!=null) { if (object instanceof Project) { return CommonPermissions.constructPermissionName(object, CommonPermissions.ACTION_VIEW); } object = object.getParent(); } return null; } @Override public void renderHead(IHeaderResponse response) { response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(JabylonApplication.get() .getJavaScriptLibrarySettings().getJQueryReference()))); super.renderHead(response); } }