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);
         }
     }