libreccm-legacy/ccm-portalworkspace/doc/unused/admin-ui/WorkspacePermissionsPane.java

79 lines
2.3 KiB
Java
Executable File

/*
* Copyright (C) 2001 ArsDigita Corporation. All Rights Reserved.
*
* The contents of this file are subject to the ArsDigita Public
* License (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of
* the License at http://www.arsdigita.com/ADPL.txt
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
*/
package com.arsdigita.portalworkspace.ui.admin;
import com.arsdigita.portalworkspace.ui.ApplicationSelectionModel;
import org.apache.log4j.Logger;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.event.ActionEvent;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
import com.arsdigita.ui.permissions.PermissionsPane;
import com.arsdigita.web.Application;
/**
* Wrapper class to have com.arsdigita.ui.permissions.PermissionsPane play nice
* with Workspaces.
*/
public class WorkspacePermissionsPane extends PermissionsPane {
private static final Logger s_log = Logger
.getLogger(WorkspacePermissionsPane.class);
private ApplicationSelectionModel m_model;
/**
* UI component to manipulate existing privileges and to grant new ones
*/
private static final PrivilegeDescriptor[] m_privs = {
PrivilegeDescriptor.READ, PrivilegeDescriptor.ADMIN };
/*
* XXX@param model must have PermissionsPane.getObjectIDParam() as the
* parameter
*/
public WorkspacePermissionsPane() {
super(m_privs);
setClassAttr(WorkspacePermissionsPane.class.getName());
m_model = new ApplicationSelectionModel(OBJECT_ID);
}
public void actionPerformed(ActionEvent e) {
Application app = (Application) Kernel.getContext().getResource();
m_model.setSelectedApplication(e.getPageState(), app);
e.getPageState().setValue(m_model.getStateParameter(), app.getID());
super.actionPerformed(e);
}
public ACSObjectSelectionModel getSelectionModel() {
return m_model;
}
public void register(Page page) {
super.register(page);
// we don't need the header so we hide it
page.setVisibleDefault(getPermissionsHeader(), false);
}
}