Fehlende Dateien

git-svn-id: https://svn.libreccm.org/ccm/trunk@1028 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-07-21 17:05:55 +00:00
parent dce690d63d
commit b9c516cdc0
2 changed files with 205 additions and 0 deletions

View File

@ -0,0 +1,57 @@
package com.arsdigita.cms.ui.type;
import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.RoleCollection;
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class TypePermissions extends BasicItemForm {
private static final String ROLE = "role";
private final ACSObjectSelectionModel typeModel;
private SingleSelect roleSelect;
public TypePermissions(final ACSObjectSelectionModel typeModel) {
super("typePermissions", null);
this.typeModel = typeModel;
}
@Override
public void addWidgets() {
//super.addWidgets();
add(new Label(GlobalizationUtil.globalize(
"cms.ui.type.permissions.select_role")));
ParameterModel roleModel = new StringParameter(ROLE);
roleSelect = new SingleSelect(roleModel);
roleSelect.addValidationListener(new NotNullValidationListener());
add(roleSelect);
}
@Override
public void init(FormSectionEvent e) throws FormProcessException {
}
@Override
public void process(FormSectionEvent e) throws FormProcessException {
}
}

View File

@ -0,0 +1,148 @@
package com.arsdigita.cms.ui.type;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ui.ContentSectionRequestLocal;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.kernel.permissions.ObjectPermissionCollection;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.util.LockableImpl;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
public class TypePermissionsTable extends Table {
private final String TABLE_COL_EDIT = "table_col_edit";
private final String TABLE_COL_DEL = "table_col_del";
private final ContentTypeRequestLocal type;
public TypePermissionsTable(final ContentSectionRequestLocal section,
final ContentTypeRequestLocal type) {
super();
this.type = type;
setEmptyView(new Label(GlobalizationUtil.globalize(
"cms.ui.type.permissions.none")));
TableColumnModel columnModel = getColumnModel();
columnModel.add(new TableColumn(0, GlobalizationUtil.globalize(
"cms.ui.type.permission"), TABLE_COL_EDIT));
columnModel.add(new TableColumn(
1,
GlobalizationUtil.globalize(
"cms.ui.type.remove").localize(),
TABLE_COL_DEL));
setModelBuilder(new TypePermissionsTableModelBuilder());
columnModel.get(0).setCellRenderer(new EditCellRenderer());
columnModel.get(1).setCellRenderer(new DeleteCellRenderer());
}
private class TypePermissionsTableModelBuilder
extends LockableImpl
implements TableModelBuilder {
public TypePermissionsTableModelBuilder() {
}
public TableModel makeModel(Table table, PageState state) {
table.getRowSelectionModel().clearSelection(state);
return new TypePermissionsTableModel(table, state);
}
}
private class TypePermissionsTableModel implements TableModel {
private Table table;
private ObjectPermissionCollection permissions;
public TypePermissionsTableModel(Table table, PageState state) {
this.table = table;
ContentType type =
((TypePermissionsTable) table).getType().getContentType(
state);
permissions = PermissionService.getDirectGrantedPermissions(type.
getOID());
}
public int getColumnCount() {
if (permissions == null) {
return 0;
} else {
return (int) permissions.size();
}
}
public boolean nextRow() {
if (permissions == null) {
return false;
} else {
return permissions.next();
}
}
public Object getElementAt(int columnIndex) {
switch(columnIndex) {
case 0:
return permissions.toString();
case 1:
return GlobalizationUtil.globalize("cms.ui.type.permission.remove");
default:
return null;
}
}
public Object getKeyAt(int columnIndex) {
return columnIndex;
}
}
private class EditCellRenderer
extends LockableImpl
implements TableCellRenderer {
public Component getComponent(Table table,
PageState state,
Object value,
boolean isSelected,
Object key,
int row,
int column) {
return new Label("");
}
}
private class DeleteCellRenderer
extends LockableImpl
implements TableCellRenderer {
public Component getComponent(Table table,
PageState state,
Object value,
boolean isSelected,
Object key,
int row,
int column) {
return new Label("");
}
}
private ContentTypeRequestLocal getType() {
return type;
}
}