From 9cc6cd4be4adab3d9e60fcc71de9ff202bf209a0 Mon Sep 17 00:00:00 2001 From: fred-fri <fred-fri@dsv.su.se> Date: Wed, 9 May 2012 13:51:30 +0900 Subject: [PATCH] added admin privileges boolean to control visibility of components --- .../su/dsv/scipro/admin/pages/AdminCheckListPage.java | 2 +- .../checklist/CheckListTemplateDataPanel.java | 4 ++-- .../datatables/checklist/ClickableOrderColumn.java | 11 ++++++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/AdminCheckListPage.java b/src/main/java/se/su/dsv/scipro/admin/pages/AdminCheckListPage.java index 00ccdcbf3d..52b3357810 100644 --- a/src/main/java/se/su/dsv/scipro/admin/pages/AdminCheckListPage.java +++ b/src/main/java/se/su/dsv/scipro/admin/pages/AdminCheckListPage.java @@ -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()); diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java index f6fb8754e8..74b20738f2 100644 --- a/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java +++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/CheckListTemplateDataPanel.java @@ -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); diff --git a/src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn.java b/src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn.java index e319030b1e..683882351f 100644 --- a/src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn.java +++ b/src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn.java @@ -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); } }