/* * This library is part of OpenCms - * the Open Source Content Management System * * Copyright (c) Alkacon Software GmbH (http://www.alkacon.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * For further information about Alkacon Software GmbH, please see the * company website: http://www.alkacon.com * * For further information about OpenCms, please see the * project website: http://www.opencms.org * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.opencms.workplace.tools.accounts; import org.opencms.db.CmsUserSettings; import org.opencms.jsp.CmsJspActionElement; import org.opencms.main.CmsException; import org.opencms.main.OpenCms; import org.opencms.workplace.list.A_CmsListExplorerDialog; import org.opencms.workplace.list.CmsListIndependentAction; import org.opencms.workplace.list.CmsListMetadata; import org.opencms.workplace.list.I_CmsListResourceCollector; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * List for org unit resources.<p> * * @since 6.5.4 */ public class CmsShowOrgUnitResourceList extends A_CmsListExplorerDialog { /** list id constant. */ public static final String LIST_ID = "our"; /** The internal collector instance. */ private I_CmsListResourceCollector m_collector; /** Stores the value of the request parameter for the user id. */ private String m_paramOufqn; /** * Public constructor.<p> * * @param jsp an initialized JSP action element */ public CmsShowOrgUnitResourceList(CmsJspActionElement jsp) { super(jsp, LIST_ID, Messages.get().container(Messages.GUI_ORGUNIT_RESOURCES_LIST_NAME_0)); List resourceList; try { resourceList = OpenCms.getOrgUnitManager().getResourcesForOrganizationalUnit(getCms(), getParamOufqn()); } catch (CmsException e) { resourceList = new ArrayList(); } Collections.sort(resourceList); m_collector = new CmsShowOrgUnitResourcesCollector(this, resourceList); getList().getMetadata().getIndependentAction(CmsListIndependentAction.ACTION_EXPLORER_SWITCH_ID).setVisible( false); } /** * @see org.opencms.workplace.list.A_CmsListDialog#executeListMultiActions() */ public void executeListMultiActions() { throwListUnsupportedActionException(); } /** * @see org.opencms.workplace.list.A_CmsListDialog#executeListSingleActions() */ public void executeListSingleActions() { throwListUnsupportedActionException(); } /** * @see org.opencms.workplace.list.A_CmsListExplorerDialog#getCollector() */ public I_CmsListResourceCollector getCollector() { return m_collector; } /** * Returns the organizational unit fqn parameter value.<p> * * @return the organizational unit fqn parameter value */ public String getParamOufqn() { return m_paramOufqn; } /** * Sets the organizational unit fqn parameter value.<p> * * @param ouFqn the organizational unit fqn parameter value */ public void setParamOufqn(String ouFqn) { if (ouFqn == null) { ouFqn = ""; } m_paramOufqn = ouFqn; } /** * @see org.opencms.workplace.list.A_CmsListDialog#defaultActionHtmlStart() */ protected String defaultActionHtmlStart() { return getList().listJs() + dialogContentStart(getParamTitle()); } /** * @see org.opencms.workplace.list.A_CmsListDialog#fillDetails(java.lang.String) */ protected void fillDetails(String detailId) { // no op } /** * @see org.opencms.workplace.list.A_CmsListExplorerDialog#getListItems() */ protected List getListItems() throws CmsException { String storedSiteRoot = getCms().getRequestContext().getSiteRoot(); try { getCms().getRequestContext().setSiteRoot(""); return super.getListItems(); } finally { getCms().getRequestContext().setSiteRoot(storedSiteRoot); } } /** * @see org.opencms.workplace.list.A_CmsListExplorerDialog#isColumnVisible(int) */ protected boolean isColumnVisible(int colFlag) { boolean isVisible = (colFlag == CmsUserSettings.FILELIST_TITLE); isVisible = isVisible || (colFlag == LIST_COLUMN_TYPEICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_LOCKICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_PROJSTATEICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_NAME.hashCode()); return isVisible; } /** * @see org.opencms.workplace.list.A_CmsListDialog#setMultiActions(org.opencms.workplace.list.CmsListMetadata) */ protected void setMultiActions(CmsListMetadata metadata) { // no LMAs, and remove default search action metadata.setSearchAction(null); } }