From 43c2e13dc3c16eeb729ef9a26bc2ef40a47f7384 Mon Sep 17 00:00:00 2001 From: Fredrik Norberg <fnorbe@dsv.su.se> Date: Wed, 27 Jul 2011 17:20:13 +0200 Subject: [PATCH 1/2] added the 4th option to traffic lights --- .../checklists/panels/TrafficLightPanel.java | 4 ++++ .../se/su/dsv/scipro/data/enums/StateOfMind.java | 3 ++- src/main/webapp/images/icons/grey_ball_32.png | Bin 0 -> 1081 bytes 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 src/main/webapp/images/icons/grey_ball_32.png diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java index 1aa44102c5..51082c7eb6 100644 --- a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java +++ b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java @@ -64,6 +64,10 @@ public class TrafficLightPanel extends Panel { image = new StaticImage("image", new Model<String>( "images/icons/yellow_ball_32.png")); } + else if (stateOfMind.equals(StateOfMind.NOTAPLICABLE)) { + image = new StaticImage("image", new Model<String>( + "images/icons/grey_ball_32.png")); + } item.add(image); }; }; diff --git a/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java b/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java index 85f0570407..67842eaf5b 100644 --- a/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java +++ b/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java @@ -10,7 +10,8 @@ package se.su.dsv.scipro.data.enums; public enum StateOfMind { NEEDHELP(0, "Need Help", "You think you need help to proceed or you are unsure of what to do next.", "som-needhelp"), NEUTRAL(1, "Neutral", "This is the default option and signals that you don't have a clear standpoint on your status but no imminent help is needed.", "som-neutral"), - FINE(2, "Everything is fine", "This means your work proceeds as planned and that no issues regarding the continuation are on the horizon.", "som-fine"); + FINE(2, "Everything is fine", "This means your work proceeds as planned and that no issues regarding the continuation are on the horizon.", "som-fine"), + NOTAPLICABLE(3, "moo", "moo","som-moo"); private int value; private String status; diff --git a/src/main/webapp/images/icons/grey_ball_32.png b/src/main/webapp/images/icons/grey_ball_32.png new file mode 100644 index 0000000000000000000000000000000000000000..a9017f0aa57e508ee1854248ce8ab4877107c403 GIT binary patch literal 1081 zcmV-91jhS`P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipf5 z4+;b6ue8qq00X&6L_t(o!_`;KYZOTo|8-4wM<<h=RmVvrhzHq=jE;<{5xj~2f=BTb z7WV2vSlGKDd*6#kkNyvWcuI$`lMG%K7D9~UXf&u3GwH6b_E7b@s%vKQrJy!E>Z4!1 zkKe2Js>;LfIQF-&cJ>YcEMI>6__#8>!y2%#TECst1`j)1jSEOZhS*^U0R*vZ*1GG# zR^|Tkl{Zhmi2=M@Ta3i~KiHk|kL23PPlEfKe?*O~N5?XNubityIMqXPx&o;u83R0K zTKmf+Af;&mfB^{Jf8^Mnk6OLKp$%wvW*bZ1g${N?mMbp#hDbTnEh)?-kP1UIKOM_< zw%%N7_PeewHb(jNC0ty~m6v=VJfX-B6$PQ0BML(EpXN$BYC9oY!o{_AXZHHO2=JA2 zmB>H;p`e@u+X&d9AOr|{8vzjmNv!%B2`)COb~p+fE0QxW$110mLg6vvoxKNAVR(d2 z6ORG$Q2pBpSrp8?1bV-Ygn)Nzi%9F$5#<EE3%flI9O&(Fpx2VYX}!w3wZ+j8{M$;f zTlT?NQK{V?B?JV&-Nr-3bMmvm)s-MeU}3d>8@pvc_nv5+^25@kwE(bN_6Y?B0C8>b zcOl&<#%}t#!fAXIBQ<Kn`rtus!0J}xe7<20E5zoda7^O0ozgXA?RE2v$$~wr;E*tT zp*?oz0l?FH078k(B#>D~royz00V#mJzykorJF_<-U{Z!!&ndfK+lQk=0K7AM(}yn` z#oB0jObhHWV`H*F2Qy<pD%E_(iY42X3jn@sFns6FhhW76LP|sSDd$O`1k-2QbDM|O zNb6*DWfBhn2-am$v;Q<N$eE=ylf@(UYx{6?_(0U`KUJ!yVhItlLPevhR`QM4sov!f zD!$o-N@ycM<5U#y3R6jz*MTdw?ndE2anE&^Y~i-xNxZg9jlku(&b!=z@ZI!ZxhLZm zyJR1;sW7#EKck&X%856XKYyIV2mpAnaZl}RIqDIOMLa6lRbunF#z>VtJlME5{!X}Z z=>zso|5CV$(V=5sNbGx|dm$m1$pPCy0GN9J5v>>1v3Ej_?RiYcDoCkNki|o_m|E(` zL*uQ@XY&#dDW8rd$M*chOKH^V4cgiI4U~1NxbTyrgGe|b0)VnaJ6pfuUe8OoRzz}h zZfBGC<7cme>RlwvQ=2Q*>60nS^F7ruPE=nCAWe(`GS$jO#_|8HsM&vhl!wV&gj4^0 zgNMn0WBa$L)qDMOJ<WcY$LT@n0Kh?B?)QBG3P9~LWaMsd00000NkvXXu0mjf3Bv$? literal 0 HcmV?d00001 From 44c9b82b5aab7ab8c3058a0175574294e6d98080 Mon Sep 17 00:00:00 2001 From: Fredrik Norberg <fnorbe@dsv.su.se> Date: Thu, 28 Jul 2011 15:53:56 +0200 Subject: [PATCH 2/2] changed trafficlightpanel to not use stateofmind --- .../admin/pages/AdminProjectPartnerPage.java | 2 +- .../checklists/panels/TrafficLightPanel.html | 45 ++++++++++++++---- .../checklists/panels/TrafficLightPanel.java | 46 +++++++++++-------- .../su/dsv/scipro/data/enums/StateOfMind.java | 3 +- .../dsv/scipro/project/pages/ProjectPage.java | 1 + src/main/webapp/WEB-INF/web.xml | 4 +- 6 files changed, 68 insertions(+), 33 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/AdminProjectPartnerPage.java b/src/main/java/se/su/dsv/scipro/admin/pages/AdminProjectPartnerPage.java index cc47dc9a00..9913aa204e 100644 --- a/src/main/java/se/su/dsv/scipro/admin/pages/AdminProjectPartnerPage.java +++ b/src/main/java/se/su/dsv/scipro/admin/pages/AdminProjectPartnerPage.java @@ -19,7 +19,7 @@ import se.su.dsv.scipro.security.auth.roles.Roles; * */ -@Authorization(authorizedRoles={Roles.SYSADMIN}) +@Authorization(authorizedRoles={Roles.SYSADMIN, Roles.ADMIN}) public class AdminProjectPartnerPage extends AbstractAdminPage { @SpringBean diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html index a235198823..5bc9e200e2 100644 --- a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html +++ b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html @@ -6,16 +6,41 @@ </head> <body> <wicket:panel> - <div wicket:id="stateOfMindContainer"> - <form wicket:id="form"> - <table wicket:id="group"> - <tr wicket:id="persons"> + <div wicket:id="trafficLightContainer"> + <div wicket:id="group"> + <div wicket:id="lights"> + <table > + <tr > <td><input type="radio" wicket:id="radio" /></td> - <td> <img wicket:id="image"/></td> - </tr> - </table> - </form> - </div> + <td><img wicket:id="image"/></td> + </tr> + <tr> + + </tr> + </table> + </div> + </div> + </div> </wicket:panel> </body> -</html> \ No newline at end of file +</html> +<!-- +<!DOCTYPE html> +<html + xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> +<head> +<meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> +</head> +<body> + <wicket:panel> + <div wicket:id="trafficLightContainer"> + <table wicket:id="group"> + <tr wicket:id="lights"> + <td><input type="radio" wicket:id="radio" /></td> + <td> <img wicket:id="image"/></td> + </tr> + </table> + </div> + </wicket:panel> +</body> +</html> --> \ No newline at end of file diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java index 51082c7eb6..35bc079230 100644 --- a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java +++ b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java @@ -1,5 +1,8 @@ package se.su.dsv.scipro.checklists.panels; +import java.util.ArrayList; +import java.util.List; + import org.apache.wicket.AttributeModifier; import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; @@ -32,46 +35,53 @@ import edu.emory.mathcs.backport.java.util.Arrays; */ public class TrafficLightPanel extends Panel { - + + private List<TrafficLight> lights; + + enum TrafficLight{ + GREEN, YELLOW, RED, NOT + } private static final long serialVersionUID = 8862892008428526067L; public TrafficLightPanel(String id, WebPage parent) { super(id); - WebMarkupContainer stateOfMindContainer = new WebMarkupContainer( - "stateOfMindContainer"); - add(stateOfMindContainer); + WebMarkupContainer trafficLightContainer = new WebMarkupContainer( + "trafficLightContainer"); + add(trafficLightContainer); + lights = new ArrayList<TrafficLight>(); + lights.add(TrafficLight.GREEN);lights.add(TrafficLight.YELLOW);lights.add(TrafficLight.RED);lights.add(TrafficLight.NOT); + RadioGroup<TrafficLight> group = new RadioGroup<TrafficLight>("group"); + trafficLightContainer.add(group); + - Form<StateOfMind> f = new Form<StateOfMind>("form"); - stateOfMindContainer.add(f); - RadioGroup<StateOfMind> group = new RadioGroup<StateOfMind>("group"); - f.add(group); + ListView<TrafficLight> lightList = new ListView<TrafficLight>("lights", lights) { + + private static final long serialVersionUID = 1L; - ListView<StateOfMind> persons = new ListView<StateOfMind>("persons", - Arrays.asList(StateOfMind.values())) { - protected void populateItem(ListItem<StateOfMind> item) { - StateOfMind stateOfMind = item.getModelObject(); - item.add(new Radio<StateOfMind>("radio", item.getModel())); + protected void populateItem(ListItem<TrafficLight> item) { + TrafficLight trafficLight = item.getModelObject(); + item.add(new Radio<TrafficLight>("radio", item.getModel())); StaticImage image = null; - if (stateOfMind.equals(StateOfMind.FINE)) { + if (trafficLight.equals(TrafficLight.GREEN)) { image = new StaticImage("image", new Model<String>( "images/icons/green_ball_32.png")); - } else if (stateOfMind.equals(StateOfMind.NEEDHELP)) { + } else if (trafficLight.equals(TrafficLight.YELLOW)) { image = new StaticImage("image", new Model<String>( "images/icons/red_ball_32.png")); - } else if (stateOfMind.equals(StateOfMind.NEUTRAL)) { + } else if (trafficLight.equals(TrafficLight.RED)) { image = new StaticImage("image", new Model<String>( "images/icons/yellow_ball_32.png")); } - else if (stateOfMind.equals(StateOfMind.NOTAPLICABLE)) { + else if (trafficLight.equals(TrafficLight.NOT)) { image = new StaticImage("image", new Model<String>( "images/icons/grey_ball_32.png")); } item.add(image); }; }; - group.add(persons); + group.add(lightList); } } diff --git a/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java b/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java index 67842eaf5b..85f0570407 100644 --- a/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java +++ b/src/main/java/se/su/dsv/scipro/data/enums/StateOfMind.java @@ -10,8 +10,7 @@ package se.su.dsv.scipro.data.enums; public enum StateOfMind { NEEDHELP(0, "Need Help", "You think you need help to proceed or you are unsure of what to do next.", "som-needhelp"), NEUTRAL(1, "Neutral", "This is the default option and signals that you don't have a clear standpoint on your status but no imminent help is needed.", "som-neutral"), - FINE(2, "Everything is fine", "This means your work proceeds as planned and that no issues regarding the continuation are on the horizon.", "som-fine"), - NOTAPLICABLE(3, "moo", "moo","som-moo"); + FINE(2, "Everything is fine", "This means your work proceeds as planned and that no issues regarding the continuation are on the horizon.", "som-fine"); private int value; private String status; diff --git a/src/main/java/se/su/dsv/scipro/project/pages/ProjectPage.java b/src/main/java/se/su/dsv/scipro/project/pages/ProjectPage.java index 9dacb4dea1..68ee7374f8 100644 --- a/src/main/java/se/su/dsv/scipro/project/pages/ProjectPage.java +++ b/src/main/java/se/su/dsv/scipro/project/pages/ProjectPage.java @@ -27,6 +27,7 @@ public abstract class ProjectPage extends MenuPage implements FilePanelContainer public ProjectPage(PageParameters pp) { Project activeProject = SciProSession.get().getActiveProject(); + User u = SciProSession.get().getUser(); if(activeProject == null && (this.getClass() != NoActiveProjectPage.class && this.getClass() != ProjectPartnerPage.class)){ User user = SciProSession.get().getUser(); diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 7ea6274a27..54e9218c03 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -64,8 +64,8 @@ <!-- Use deployment for production, development for development --> <context-param> <param-name>configuration</param-name> -<!-- <param-value>development</param-value> --> - <param-value>deployment</param-value> + <param-value>development</param-value> + <!-- <param-value>deployment</param-value>--> </context-param>