added admin privileges boolean to control visibility of components

This commit is contained in:
fred-fri 2012-05-09 13:51:30 +09:00
parent d7ec0d5287
commit 9cc6cd4be4
3 changed files with 11 additions and 6 deletions
src/main/java/se/su/dsv/scipro

@ -24,7 +24,7 @@ public class AdminCheckListPage extends AbstractAdminPage {
super(pp);
// add(new AdminListCheckListTemplatePanel("listCLPanel", pp, CheckListRole.ADMIN));
add(new CheckListTemplateDataPanel("datapanel") {
add(new CheckListTemplateDataPanel("datapanel", true) {
@Override
public void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
System.out.println(clicked.getObject().getCreator());

@ -38,7 +38,7 @@ public abstract class CheckListTemplateDataPanel extends Panel {
public abstract void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target);
public CheckListTemplateDataPanel(String id) {
public CheckListTemplateDataPanel(String id, boolean adminPrivileges) {
super(id);
cltdp = this;
@ -78,7 +78,7 @@ public abstract class CheckListTemplateDataPanel extends Panel {
};
columns[1] = new PropertyColumn<CheckListTemplate>(Model.of("Creator"), "creator", "creator");
columns[2] = new PropertyColumn<CheckListTemplate>(Model.of("Categories"), "categories");
columns[3] = new ClickableOrderColumn<CheckListTemplate>(Model.of("Order"), "templateNumber", "templateNumber") {
columns[3] = new ClickableOrderColumn<CheckListTemplate>(Model.of("Order"), "templateNumber", "templateNumber", adminPrivileges) {
@Override
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target, boolean up) {
System.out.println(up);

@ -8,6 +8,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import se.su.dsv.scipro.icons.ImageObject;
@ -17,17 +18,19 @@ import se.su.dsv.scipro.icons.ImageObject;
*/
public abstract class ClickableOrderColumn<T> extends AbstractColumn<T> {
private boolean adminPrivileges;
private final String property;
public ClickableOrderColumn(IModel<String> displayModel,
String property) {
this(displayModel, property, null);
String property, boolean adminPrivileges) {
this(displayModel, property, null, adminPrivileges);
}
public ClickableOrderColumn(IModel<String> displayModel,
String property, String sort) {
String property, String sort, boolean adminPrivileges) {
super(displayModel, sort);
this.property = property;
this.adminPrivileges = adminPrivileges;
}
public void populateItem(Item<ICellPopulator<T>> cellItem,
@ -51,6 +54,7 @@ public abstract class ClickableOrderColumn<T> extends AbstractColumn<T> {
ClickableOrderColumn.this.onClick(getModel(), target, true);
}
};
uplink.setVisible(adminPrivileges);
add(uplink);
AjaxLink<T> downlink = new AjaxLink<T>("downlink", rowModel) {
@ -59,6 +63,7 @@ public abstract class ClickableOrderColumn<T> extends AbstractColumn<T> {
ClickableOrderColumn.this.onClick(getModel(), target, false);
}
};
downlink.setVisible(adminPrivileges);
add(downlink);
}
}