Pollen-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 3196 discussions
r3256 - in branches/pollen-1.2.6-struts2: . pollen-persistence pollen-services pollen-ui-struts2 pollen-votecounting
by fdesbois@users.chorem.org 13 Apr '12
by fdesbois@users.chorem.org 13 Apr '12
13 Apr '12
Author: fdesbois
Date: 2012-04-13 13:07:28 +0200 (Fri, 13 Apr 2012)
New Revision: 3256
Url: http://chorem.org/repositories/revision/pollen/3256
Log:
set to version 1.3
Modified:
branches/pollen-1.2.6-struts2/pollen-persistence/pom.xml
branches/pollen-1.2.6-struts2/pollen-services/pom.xml
branches/pollen-1.2.6-struts2/pollen-ui-struts2/pom.xml
branches/pollen-1.2.6-struts2/pollen-votecounting/pom.xml
branches/pollen-1.2.6-struts2/pom.xml
Modified: branches/pollen-1.2.6-struts2/pollen-persistence/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-persistence/pom.xml 2012-04-13 10:57:08 UTC (rev 3255)
+++ branches/pollen-1.2.6-struts2/pollen-persistence/pom.xml 2012-04-13 11:07:28 UTC (rev 3256)
@@ -12,7 +12,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.2.6-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: branches/pollen-1.2.6-struts2/pollen-services/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/pom.xml 2012-04-13 10:57:08 UTC (rev 3255)
+++ branches/pollen-1.2.6-struts2/pollen-services/pom.xml 2012-04-13 11:07:28 UTC (rev 3256)
@@ -12,7 +12,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.2.6-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/pom.xml 2012-04-13 10:57:08 UTC (rev 3255)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/pom.xml 2012-04-13 11:07:28 UTC (rev 3256)
@@ -12,7 +12,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.2.6-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: branches/pollen-1.2.6-struts2/pollen-votecounting/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-votecounting/pom.xml 2012-04-13 10:57:08 UTC (rev 3255)
+++ branches/pollen-1.2.6-struts2/pollen-votecounting/pom.xml 2012-04-13 11:07:28 UTC (rev 3256)
@@ -8,7 +8,7 @@
<parent>
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.2.6-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.chorem.pollen</groupId>
Modified: branches/pollen-1.2.6-struts2/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pom.xml 2012-04-13 10:57:08 UTC (rev 3255)
+++ branches/pollen-1.2.6-struts2/pom.xml 2012-04-13 11:07:28 UTC (rev 3256)
@@ -17,7 +17,7 @@
<groupId>org.chorem</groupId>
<artifactId>pollen</artifactId>
- <version>1.2.6-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
<modules>
<module>pollen-votecounting</module>
1
0
13 Apr '12
Author: fdesbois
Date: 2012-04-13 12:57:08 +0200 (Fri, 13 Apr 2012)
New Revision: 3255
Url: http://chorem.org/repositories/revision/pollen/3255
Log:
add jquery-ui themes for green and yellow pages
Added:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/README.txt
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_0_aaaaaa_40x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_75_b0f580_40x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_55_fbf9ee_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_368000_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_55cb00_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_4bb300_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_55cb00_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_b0f580_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_highlight-soft_75_55cb00_1x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_inset-soft_95_fef1ec_1x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_17990a_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_222222_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_227c24_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_454545_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_888888_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_cd0a0a_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/jquery-ui.css
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_0_aaaaaa_40x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_75_ffffaa_40x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_55_fbf9ee_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_65_ffcc00_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_fff71f_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_ffff0f_1x400.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_highlight-soft_75_ffff0f_1x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_inset-soft_95_fef1ec_1x100.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_222222_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_454545_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_cd0a0a_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_dcb104_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_ffcc00_256x240.png
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/jquery-ui.css
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManagePolls.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ParticipatedList.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-13 08:16:54 UTC (rev 3254)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-13 10:57:08 UTC (rev 3255)
@@ -64,7 +64,13 @@
public class PollenActionSupport extends BaseAction implements TopiaTransactionAware {
private static final long serialVersionUID = 1L;
+
+ protected static final String JQUERY_THEME_BLUE = "cupertino";
+ protected static final String JQUERY_THEME_YELLOW = "yellow";
+
+ protected static final String JQUERY_THEME_GREEN = "green";
+
private static DateFormat dateTimeFormat;
private DateFormat dateFormat;
@@ -122,6 +128,10 @@
URL url = getServiceContext().getApplicationURL();
return url;
}
+
+ public String getJqueryTheme() {
+ return JQUERY_THEME_BLUE;
+ }
/**
* Fabrique pour récupérer le ServiceContext tel qu'il devrait être fourni
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManagePolls.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManagePolls.java 2012-04-13 08:16:54 UTC (rev 3254)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManagePolls.java 2012-04-13 10:57:08 UTC (rev 3255)
@@ -32,4 +32,9 @@
public class ManagePolls extends PollenActionSupport {
private static final long serialVersionUID = 1L;
+
+ @Override
+ public String getJqueryTheme() {
+ return JQUERY_THEME_YELLOW;
+ }
}
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java 2012-04-13 08:16:54 UTC (rev 3254)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/admin/ManageUsers.java 2012-04-13 10:57:08 UTC (rev 3255)
@@ -43,6 +43,11 @@
protected UserAccount user;
+ @Override
+ public String getJqueryTheme() {
+ return JQUERY_THEME_YELLOW;
+ }
+
public UserAccount getUser() {
if (user == null) {
UserService service = newService(UserService.class);
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ParticipatedList.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ParticipatedList.java 2012-04-13 08:16:54 UTC (rev 3254)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ParticipatedList.java 2012-04-13 10:57:08 UTC (rev 3255)
@@ -39,4 +39,9 @@
public String getPageLogo() {
return "Vote";
}
+
+ @Override
+ public String getJqueryTheme() {
+ return JQUERY_THEME_GREEN;
+ }
}
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/README.txt
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/README.txt (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/README.txt 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,8 @@
+Links to jQuery-UI ThemeRoller
+------------------------------
+
+green:
+http://jqueryui.com/themeroller/#ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=55cb00&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=17990a&fcHeader=222222&iconColorHeader=17990a&bgColorContent=b0f580&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=55cb00&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=17990a&fcDefault=0a5403&iconColorDefault=17990a&bgColorHover=4bb300&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=17990a&fcHover=212121&iconColorHover=222222&bgColorActive=368000&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=17990a&fcActive=ffffff&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=000000&iconColorHighlight=227c24&bgColorError=fef1ec&bgTextureError=05_inset_soft.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+
+yellow:
+http://jqueryui.com/themeroller/#ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=ffff0f&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=e0e00b&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffaa&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=ffff0f&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=e0e00b&fcDefault=b89300&iconColorDefault=dcb104&bgColorHover=fff71f&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=e0e00b&fcHover=212121&iconColorHover=454545&bgColorActive=ffcc00&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=99990a&fcActive=1f1f1f&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=000000&iconColorHighlight=ffcc00&bgColorError=fef1ec&bgTextureError=05_inset_soft.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_0_aaaaaa_40x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_0_aaaaaa_40x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_0_aaaaaa_40x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDR(d�drz{IDATh���1� 1���7Y$t���3�;_�TUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTüŝc�)IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_75_b0f580_40x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_75_b0f580_40x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_flat_75_b0f580_40x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDR(d�drz}IDATh���1� A$9�,�,n��/�]����c���IAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUA�X���BIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_55_fbf9ee_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_55_fbf9ee_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_55_fbf9ee_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�oX
+�?IDAT8���1
+�0Bѯ��l��`�6C�s��<]�:����[��&�B�A ��e7�l�QJ��ŜQY�*IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_368000_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_368000_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_368000_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�oX
+�RIDAT8��ϱ
+�0DџÉ����X� Q�pJ@���Y�+̶���$�-�u�R�L5sԬ#�:f�"ΎLm.��I����& JIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_55cb00_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_55cb00_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_65_55cb00_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�_:M�IDAT8���1
+�@���y+Y�
+��`!z��̋��7H �G�`���l`m�vf�}�@�ᆎ�v����d]�|��\7�[(jyV����=�T���)���?/�n�#o[��V(XB�%�U#��)4��#��yy,H\hIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_4bb300_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_4bb300_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_4bb300_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,5 @@
+�PNG
+
+
+IHDR�_:M�IDAT8�ch8���a �ӯ�00�;10)���r�����g���}�8XxF�����v/��
+�����`p��#�8�z;'3//�?�(�/�07+?3�`p�(A%e��(R�IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_55cb00_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_55cb00_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_55cb00_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�oX
+�SIDAT8��ϻ�0Q����FJMG4c�Q�\��qmI
+��h?5����"�*�*ܪ(���BmV��Ef��� ^�i��@�X�IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_b0f580_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_b0f580_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_glass_75_b0f580_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,5 @@
+�PNG
+
+
+IHDR�oX
+�OIDAT8��ϱ�@���?埄b!" <^�L��s�o�s0����<�(����T����ԁ���1,��A+����-I�l�uIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_highlight-soft_75_55cb00_1x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_highlight-soft_75_55cb00_1x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_highlight-soft_75_55cb00_1x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,5 @@
+�PNG
+
+
+IHDRd0+j�IDAT����
+�@�������`DD������ܤY,4BD���cXV�^r���E�n���`n {�N�=���|Y�����sA�52�/���+$7��C�#2o��yStmhQ�3g����`PT=��q�IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_inset-soft_95_fef1ec_1x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_inset-soft_95_fef1ec_1x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-bg_inset-soft_95_fef1ec_1x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDRdG,Z`BIDAT���;�B����Rm��`�'K��֥���Fb��Z&����Ѻv�Й��|��3��x�[���IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_17990a_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_17990a_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_17990a_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,41 @@
+�PNG
+
+
+IHDR��IJ��PLTE��������������������������������������������������������������������������������
+6NtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_222222_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_222222_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_222222_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTE$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$�ÈNtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_227c24_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_227c24_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_227c24_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,45 @@
+�PNG
+
+
+IHDR��Nzo�PLTE$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$$~$���NtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H�_IDATx��]c۶�JZ�����gv�,ٲ&{?:-[3��Ү����3�q�����J�O����p��t�B��� �}6x9��sSm�C��Xȸ��������R<QήF� ?S�����Hf+&�y��t�SE-G����8�>�A��m٪d���� ~Z#��s�կ6�'�аfN�����(
+���0%��#r(DXXK�Q�L�^J�*�K����ʱzT��A�����~�yd-TLie�S�S(K��ň�< ��b��ۜ���E%N����S~�._��c�$��QUb=+C�5���>W-��Z�8BH����ؗ+$~��ǫ�+e����9*9��J*�VD���o�����q�@�.���i���
+���o���v�R~S��H�6w�_v�
+cU˂5�y�@~�Rת��#�J9��"�!ꎾ�J�:�d�$�.
+�3@nVew��%�w�>#��v����S��v�ᤵ���#,e��]Tq�/���|�c������թb�fpp�ߋbH1F��S �s��L��(?"�����#Y����P�)���C6C\$V-�A��$���b��ߏ�3�R4��m���`G\�����~�
+c:C.��U�a���s�uC]7<e7,��4 �����ʯ�U���W��-���C���v7��uT{%*��9��"��V���z��O�F��U�8�ь)Y~�+�%�X�4�STaWD�SW��eju�^�ѓI��Mg/_M�oe"�&�~m �'�
+s�O���W�7�-����;�3�x�f��7y�r��#C���+9ckM].�8qY�d#R��`��������kaU^k���#�/P?*u�$�~�����HY���52��֟�����^|������b�{|a�,?k��E/v����kL��?��o=;d�xl��E�{��A:?a�M2�$Gq�B+�h�C>t�e_O8����d���0wPl�E�`�
+�AAɂ��[�.����zd�aVĀ�#O�4&���k�?����V����
+����`]�ْP�#N�J7Ybe�7�,H[�F�2�4eY���S�ۉ|�B&�]K�R�˥ŶAT�S��6?��h{����9���"�\��v����r9U{�q�v�k�����/�0�W��+?����q�"GW˨���`wͤ��W�A����F�-�`a��e�]�n"��bMB]�p+5���
+3�G]SÎ.1Yax��)��Ã��[��<���+�>��sm���T��؆*�sɴ���,K۶�\����ij`e��rY���9ya�Щ
+�L�|Ϟ)L[�T7G�������R���P�P��$�/0���*vS��tWF��CE���/2:��ht�L���?�8;>l<Q7F��v��A@l�����ˠU������lF(��t�6��?��sS�\����VOø����vW����"�O�У
+�3�u��������&�Xz����xv3\w?�w?=2�V\�����@%��q���@F[�;����U(
+�R�^8��k�?tK����wJ(�料͋t�3T��
+K`k��������"B=����(���Y���{��"N�|��X�H=P ��22���������� }pw=��l��<��]�T�-��c�H�̍�s�&�I d<x�1nͷ���p?����5�Q/^O<k-��Ed:��z���/'�<���I=�jZP���s'AV��-�fT�����}�G2v{�,|XA����6A�NYɸB���z�ٺ����r"V�S@��(���|�?���@0�:���㊏�;���q�;����ճ�v�
+����.8of%zSRO���F�F�x���&\�8� w�O�(��_�G���
+ؽ-�?���q�w��Ǐ�Y�G4��T+N[�>�fYd����6ɩ��}{Zi��uk���D���Jӟ���S\^zL,uF��t��Kyh��}j��drf$��3�<A10�ǟ{q>���:Cd��.��U��ٽ{�A��ojRN�� �簐��џQ �S�����/]��VT��q_�G���9�sE$Zw���a��͏�FU�H#��� e G��1�Zw��V7>�na�O[��+ʀ���4�HF��^�
+׆�����O�Nf����Tpza��ƀV@O//���S��]S�ύ�wx�Tn�ځ�ZG�#N�"����a]s���՜��X7
+�`������G{v��´��?�V��W_���FYͩi+�U'���4V����7��%yT`뇪r����X�f�O���o�@�Ao>W��n2�K*�fǦM���h:�7��5�M�+Џ�y�N��<ÊP Lon��>�h:Ǚv�I~�9�畺K 5f�
+d��ķc���=�8��983��K4j�v����y�i�|@v0cN�����������v+̩1�W���rJ��<=Q��m��[=���(�A3L����J��L�X ���H˦��6:խ�ziJ�c�'��f&����L��t����v}1��5��|���%�۶�%�2���oC��m ���_x�\���c�)V�aF�3<nF|w�a
+���,��~����sK�p=���Bb֊v�91��n%c������N��X8��;���T�!�C� ���7��Ǎ0��=���v�wOӡ�����O?a���1s�x�22��az�2p#�O��|@UT���ǝ��`�S�M�\�7f�����~7��
+�!��`�Y��QP2 ��A�c�%�� ���TY��{�����mWn��A%���D(��q��Q������ݤ]���^�JD�`��A0�( x���z������A�{�,����+���z+
+����`��x<x������ޕ���<>p[��<�o'�
+av}f�PK��� @t�âxfj�8�~?|h�pP��'�222:�^v�2�`v�{'`��� �
+�^}9@�#p����=�,'�@H�C~XH���U0|�bO∀|c����p =���kc����w*##㡣��7�K>��oǽ�$\������F�F�O�"v�������p�30��F�z8L�&2pG�>��0V~X�Q���O���~��!E�
+���0t$��{�
+����
+F0�{F�「��{����bZ),\�(<�`���0��o����%��J��VA=��#J֟߆��L4�����lO/ܫbĪ���(X���&����ܮ��`���X�Z�w��222���>*Dg��)� ����0�ݱ���*�ouJ(=���M�^ 8IV },�f�����>�+!�>��?� ��@����e�jB�D8��pO�agd|P�T�q��g�$���Ǐ8i�)�s�0,C~\:U�V�6��U�
+\��`�77��`V1�����c@f�N/�ɪǿf���PʃV]*h�������w.�藢�{7�iH�u}��Jn3������@ �ve�����b�d�?w�P���y�W�˂����E��rٵ��yI�*�RV2~E�T�~�=N���8e�! *{�,F�-���:.Y���g (����^!.�j��4�^6�Ե�5�o �B}|~�[
+�]�;CU�
+[�R�)���a��T>�7���/{�Ky&��Ϥ�{QO��y�)��#�â��r�ύ~��a!�&W���z
+Z��졽�T��ץ<vhA�'^��ٕg"����Ӗ���zT@��z����S2Z���9}T Ua�-����H��M�N7*����g��1;n���I�
+fp�Bk%�������y�!է#]@ X�5�B����W�@�_aEW�&���u@�Ѩ��eC�N�絷6�!d�Y��GF'����sÀ�rA��/X&��f��ӂ�Xt��V_���B���_��W�o�^��-�9
+�m����)�K-�}����X�l:}���oB��U;M�8���N)�S�_N��]�����rdɕ���/N�����t�3��
+_�B�
+��gZ��z>��R��ҥ_�s��]4"���oE���D��AwU�T�8�H����v��o%sn\H�y$ȴ��h��z��4q�R��;yu5:??�@�V'.�vl�c�l77��^���W����Qg���Z-&�5�_�D��?��1E�����B��T���N��N ٞ�qJ�/{�^��b�!#��{ ��~�M�{��x/-J���n���)��Ql�jk=%��4���6��}����t��
+�yX�����3KȊ7D�:��m������{μ���0-��2�TU�L��PĆ��X@ �|M#�D��/v�z��X��p�<� %#������_%�=���/�9�(@C@�� ��YM��kf�#�-r�@�C�ʭd8��aG�@�ƌ<���@�@Fƃǃ~?l��l�dž�/��wl�T���L��džR�n��F����Wb��A%����I�gש���½���'�39R�^��MR�V��֡����U�u�C
+���+���0�i�=��YS��}�!�����u�ۖ��,�V/B�5������,
+���.�C�|��r������������� Z^;��0p&�h"����?ȏ�o��7~ol�ap,l�r_U��a���FH\���zh��������+G_mB�[���C�շ���jSz��322`t��裇����:����{�����G�C��@�{E�
+�:�\�����^��
+�?*;ۢ9�/�B�Ao_���
+@����[@�] Q���lu��f;���s���IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_454545_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_454545_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_454545_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTEDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDm�:NtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_888888_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_888888_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_888888_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTE����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ƁONtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_cd0a0a_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_cd0a0a_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/images/ui-icons_cd0a0a_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,119 @@
+�PNG
+
+
+IHDR��IJ��PLTE�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�FcNtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/jquery-ui.css
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/jquery-ui.css (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/green/jquery-ui.css 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,555 @@
+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
+.ui-helper-clearfix:after { clear: both; }
+.ui-helper-clearfix { zoom: 1; }
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefau…
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #b0f580 url(images/ui-bg_flat_75_b0f580_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #17990a; background: #55cb00 url(images/ui-bg_highlight-soft_75_55cb00_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #17990a; background: #55cb00 url(images/ui-bg_glass_75_55cb00_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #0a5403; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #0a5403; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #17990a; background: #4bb300 url(images/ui-bg_glass_75_4bb300_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #17990a; background: #368000 url(images/ui-bg_glass_65_368000_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #000000; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #000000; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_inset-soft_95_fef1ec_1x100.png) 50% bottom repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_17990a_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_17990a_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_227c24_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.18
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: hidden; *overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_0_aaaaaa_40x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_0_aaaaaa_40x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_0_aaaaaa_40x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDR(d�drz{IDATh���1� 1���7Y$t���3�;_�TUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTUAUPTüŝc�)IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_75_ffffaa_40x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_75_ffffaa_40x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_flat_75_ffffaa_40x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDR(d�drz{IDATh���1� 1�%��J�pCyf���_+�J��+�J��+�J��+�J��+�J��+�J��+�J��+�J��+�J��+�J��+�J��+�J�����o����IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_55_fbf9ee_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_55_fbf9ee_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_55_fbf9ee_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDR�_:MWIDAT8��1�0�F������"^P�CYNQNJe��($P�0�0x�8y��f�g�GqWÒ1(�������ڃ�;I�v�?��H<W!�<k��IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_65_ffcc00_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_65_ffcc00_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_65_ffcc00_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�oX
+�JIDAT8��ϻ
+�PCћ+>a-�g�!T��Jsd.�u�%@�4�:(��1\�H�Dܐ؞d��X����3MӼr}yvNV��IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_fff71f_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_fff71f_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_fff71f_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,6 @@
+�PNG
+
+
+IHDR�_:MpIDAT8���1
+�@���T
+ҥRb!x��+{��&c��p��z3<��#�)��1���x��fyb�f��Z^R�1:�肥q���k@����K�'��6д�-�̩ ����IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_ffff0f_1x400.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_ffff0f_1x400.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_glass_75_ffff0f_1x400.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,8 @@
+�PNG
+
+
+IHDR�oX
+�KIDAT8��ϱ
+�@C��r
+۱�$g���P�'vaֺ-��i�
+�e���@��` H1�=+A";�1j��L�4�<l��(+)IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_highlight-soft_75_ffff0f_1x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_highlight-soft_75_ffff0f_1x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_highlight-soft_75_ffff0f_1x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,7 @@
+�PNG
+
+
+IHDRd0+j�pIDAT����
+Aļ�-P%mR��8��^g��8!$Nvg����b!z����j���������n�1;A#����������}XI�J�
+{hCW۸�:U��e�'
+�;�Kk�IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_inset-soft_95_fef1ec_1x100.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_inset-soft_95_fef1ec_1x100.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-bg_inset-soft_95_fef1ec_1x100.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,4 @@
+�PNG
+
+
+IHDRdG,Z`BIDAT���;�B����Rm��`�'K��֥���Fb��Z&����Ѻv�Й��|��3��x�[���IEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_222222_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_222222_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_222222_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTE$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$$"$�ÈNtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_454545_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_454545_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_454545_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTEDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDDFDm�:NtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_cd0a0a_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_cd0a0a_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_cd0a0a_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,119 @@
+�PNG
+
+
+IHDR��IJ��PLTE�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�FcNtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_dcb104_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_dcb104_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_dcb104_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTEܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲܲ����NtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_ffcc00_256x240.png
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_ffcc00_256x240.png (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/images/ui-icons_ffcc00_256x240.png 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,40 @@
+�PNG
+
+
+IHDR��IJ��PLTE��������������������������������������������������������������������������������������������������������������������������������������������������������������w��hNtRNS2P���."Tp@f`� <BHJZ&0R,�4���j���8D��|�������(��$�
+��b���lߝF>n~�hh�H��IDATx��]�b۶�H�儒-{i�ZK:g�lk�n��-��tI����q�q? E�$��dK>$�>�;������P�Z����s�V��h!�Sy��0E�0}H�)-���tk��o�ܪKp�\R�Ϡ ��.�E�7��
+�)�*V;~�Pe��
+Bx�*�,=$z��Dؾ���� ��J����Ҹٻ����9�{ ��������Ǹ�Hp�qW@��"2'���B��[�$�� @T��i�H�/��b٥9�6�!�X�Hq`DE��*R����
+HV!�%�����;��������"�����
+�i��]�dddddddd�����4y���5 �� �Rb�@(�8���Cd��Ū�ݡ�,�@T�@i���b�rq0a�lX!�������p��e�, ��=4bW �{�
+5���Ƭhu~�(�Q�^@���3�=��"�b��5XC@J����C�����T��7��6�������q_����5��@,r šɩ�D�)�T�|�O��@�
+ON-ՙ��� ��������[n@��R���X�Im�(���F �@�?��=0��puL��;g$��@6η��
+�K`��>п� @h գ��KV�n�"a�"���%l�@.v�$/��U^��G�:#`�`�� �u��TtK��~�ŋ�Z���5T���%�k��x�����������k��]\*�Q���
+,҇���B��44�OXK�|�y��g���+_M�(�lоE�O���
+ V$�T1BX���b�-�|?@ �f��B�Xr��%'@ҹA\�I��J,}��BBc��\V
+��r����h(�]tI��^���}���o�צo�S3� ";���ʙ����b}��"߰ ��){b$�������Gwwݾ����������a���b"��)���T@p��F_er6JvШ����"m�ޭ�M-��d7��6��x����˰6ӥ;��/�����`>KrP\���_���^u�1%��O�T�M���.�}���Q3���.Nس��}��)���>�����-�w�`���a�����+sy$���t���)�N�bFFFF��Be�j��nN��Vn4���,��A*��X��*��5��>��P���G��a��3 ��{�oB�
+�&<��L[���Nc.���ö�i=�`�Q@�d���
+͆I��.I��l�`\t�[< �Cit�48��4�-r���+��f��쑱�B��CB ��MH� i����y}���>���rx�����p|z�;B��Ǐ;�b�u��r���c�K����4t��z��1�G~����`���ؚ���K��| ̔>��ۡ��O$������~
+�Ao)���0pzz
+�}i�����`;AD������m8n:�cf�A@s7�����L����� Z�/..������h8�o��r?
+�
+�N��9��3B��~o_��'`��o���pO-��
+:�TG� L;��7���]`���B���%�˛>��*wT���pM��0H�}&t����^1��'Oq�r'�2P�͡��+�z,tIW''|en�������=dzg��R�m�[N�S�t�K{��҉m���ؓV�t�6���ҲR`�����ζN�&}��B U��(�r<�qȁVyr�rA**��دzg6�D#�� �����YP�`������v���s���~(�z�Ml�e�|u���Q�a�*}�+T��
+�����R���Xc"+*�N�l��N�hc�Ft�<N+;-}�،Xtٕ$��à^��|uv���*��~�'E�_��5���1�q�s�*�R�`�OΒ��9�#x4�4�9�#���������WHۏ�����Z��)]0�`p�<��ߝ��N��oY{�4�7��6�ǹ�>�ۗ&���������1%�Q''���?�l���+&�r{�j�N����4�)���`�N狌�.��߭�� ���ǣ�������������)q �2�?����n�3H�b���`�}� �����.`��������pqY1�e_b����u�7��e+N��_F����(�D�T��,���L}LL�r��mP5��|��x芥1�c���x DAb������`��M(��7���NED�~<v\ %,��ߚ/����p���R��~/^����l��np�
+��7t����0_���0���l4�����_����b�0�MWΦj�m����б�Ɏ�l
+|re����
+�ȫ`B-�����v.i���Ro�x}�
+�)����%#`�Ђ�R5C���A�2su���a���sYy3��=jaeoI�7�~���.�plA���
+`O��)�� ^�>��Mz� ��+4���BXd.��Mz��v͈������P�d8�p��<6?��8�N��*x����.��6ڍ6G����F�Z�����)���O��� !��l�S�s���h����ss�N��p8�`'�0�/<�����s���}�.�@Ǩ�s�7ξ�O۟V�D���a5��a�v��]������m1��+���3���y�6�۠���>@�u50��P�s����5��1=��=�p�� *��KV�ҫ܂������ݻc$N�4�(�X�r2###c-��賟L���δ�>��]���5�.�s���Ys�1��f0�;�'̨��Y�g銛�{�@9�� ���`aC(��=%b�o�2��=���n��1� j��B��o��S$n���#���m����=i��0�c����������i9��}�oI�� ����q�T��]�W%.���(���]z�\�x�
+f���"]o��'u�䫵�t�k{�v;A��C3ֆw��w�R_#��X��(x��ҋ/q%���W��������hp��k_I�X���'b���/fX���K�i�"#####�QCL�i��2t��
+����5���L0
+����Qi�H�2;y�T�Ook;ע�ٶ`��R��Ng{z�y�!�Kx�����m�?A(v��U�~���mL�(`o/!n����mX��-{�v����[�� d�w�=�n「�������sdw��z��n�(��}O�y�~�����m�
+���?XU�;,���V'+��V�&�J�R��Z]᧭�:����zC'��-߆����@�y
+�4���u����`Vۓw��ъ#��zP@Q�
+N>2/��{�\o)����W���~a�3xL�w
+:_Q�;��=p�ּ�dt���\'8�����~3�SRP���6����y+�������X�����Q�*��r
+����̗ѭ*��r
+g��l�/�\U^��u�$����|mb��Vn����w�\V��|����D�͊NVN���y��7�������k<;��/�E}?E*dzg�O ���~���g��/9��6����f
+c�D}%��g$�Q�G�7�o��)����UJ���o�,O@�0߾Q(�����;�b����w����:5� �N�wR���N5�I��y'K�?}��:9�m��ֽ��*���@f�@jU9�m���ҫ���Í�{����$�ؗ�}��dF����p��|%!DdF��>����}G��{����@FFFFFFƦQܞH �
+������3
+��u ���M�o�����~�vy�}�m�wz<�7���nP9�r�Wk���u=����|��_�n����z쿳}@����IX�n������?��s<uPIEND�B`�
\ No newline at end of file
Added: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/jquery-ui.css
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/jquery-ui.css (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/template/themes/yellow/jquery-ui.css 2012-04-13 10:57:08 UTC (rev 3255)
@@ -0,0 +1,555 @@
+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
+.ui-helper-clearfix:after { clear: both; }
+.ui-helper-clearfix { zoom: 1; }
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefau…
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffaa url(images/ui-bg_flat_75_ffffaa_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #e0e00b; background: #ffff0f url(images/ui-bg_highlight-soft_75_ffff0f_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #e0e00b; background: #ffff0f url(images/ui-bg_glass_75_ffff0f_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #b89300; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #b89300; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #e0e00b; background: #fff71f url(images/ui-bg_glass_75_fff71f_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #99990a; background: #ffcc00 url(images/ui-bg_glass_65_ffcc00_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #1f1f1f; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #1f1f1f; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #000000; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #000000; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_inset-soft_95_fef1ec_1x100.png) 50% bottom repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_dcb104_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ffcc00_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.18
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: hidden; *overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}
\ No newline at end of file
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-04-13 08:16:54 UTC (rev 3254)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-04-13 10:57:08 UTC (rev 3255)
@@ -38,7 +38,7 @@
<link rel="stylesheet" type="text/css" href="<s:url value='/css/main.css' />"/>
<link rel="stylesheet" type="text/css" href="<s:url value='/css/common.css' />"/>
<link rel="icon" type="image/png" href="<s:url value='/favicon.png' />"/>
- <sj:head jqueryui="true" jquerytheme="cupertino"/>
+ <sj:head jqueryui="true" jquerytheme="%{jqueryTheme}"/>
</head>
<%-- TODO AThimel 24/01/2012 Remove this when refactoring is over --%>
1
0
r3254 - in branches/pollen-1.2.6-struts2: . pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll
by fdesbois@users.chorem.org 13 Apr '12
by fdesbois@users.chorem.org 13 Apr '12
13 Apr '12
Author: fdesbois
Date: 2012-04-13 10:16:54 +0200 (Fri, 13 Apr 2012)
New Revision: 3254
Url: http://chorem.org/repositories/revision/pollen/3254
Log:
use nuiton-struts2 1.11 to use fielderror tag
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp
branches/pollen-1.2.6-struts2/pom.xml
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 16:27:37 UTC (rev 3253)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-13 08:16:54 UTC (rev 3254)
@@ -474,7 +474,7 @@
if (StringUtils.isEmpty(votingListName)) {
addOptionsError(
- fieldNamePrefix + ".name",
+ fieldNamePrefix,
_("pollen.error.poll.required.votingList.name"));
} else {
@@ -484,7 +484,7 @@
// name doublon
addOptionsError(
- fieldNamePrefix + ".name",
+ fieldNamePrefix,
_("pollen.error.poll.votingList.name.doublon"));
}
@@ -497,7 +497,7 @@
// no weight filled (can be a bad conversion)
addOptionsError(
- fieldNamePrefix + ".weight",
+ fieldNamePrefix,
_("pollen.error.poll.votingList.weight.not.valid"));
}
}
@@ -548,7 +548,7 @@
// voter doublon
addOptionsError(
- fieldNamePrefix + ".votingId",
+ fieldNamePrefix,
_("pollen.error.poll.personToList.votingId.doublon"));
}
}
@@ -557,7 +557,7 @@
if (StringUtils.isEmpty(email)) {
addOptionsError(
- fieldNamePrefix + ".email",
+ fieldNamePrefix,
_("pollen.error.poll.personToList.email.required"));
} else {
@@ -567,7 +567,7 @@
// not a valid email
addOptionsError(
- fieldNamePrefix + ".email",
+ fieldNamePrefix,
_("pollen.error.poll.personToList.email.not.valid"));
} else {
@@ -577,7 +577,7 @@
// email doublon
addOptionsError(
- fieldNamePrefix + ".email",
+ fieldNamePrefix,
_("pollen.error.poll.personToList.email.doublon"));
}
}
@@ -588,7 +588,7 @@
// no weight filled (can be a bad conversion)
addOptionsError(
- fieldNamePrefix + ".weight",
+ fieldNamePrefix,
_("pollen.error.poll.personToList.weight.not.valid"));
}
}
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp 2012-04-12 16:27:37 UTC (rev 3253)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp 2012-04-13 08:16:54 UTC (rev 3254)
@@ -23,6 +23,7 @@
--%>
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="sp" uri="/nuiton-tags" %>
<s:set name="personPrefix">votingList<s:property value="votingListType"/>_<s:property value="votingListNumber"/>PersonToList_<s:property value="personToListNumber"/>
</s:set>
@@ -34,6 +35,7 @@
<s:div id='%{#personPrefix}' cssClass="personToList">
<s:hidden key='%{#personPrefix}.topiaId' value='%{#personToList.topiaId}' label=''/>
<s:hidden key='%{#personPrefix}.accountId' value='%{#personToList.pollAccount.accountId}' label=''/>
+ <sp:fielderror fieldName="%{#personPrefix}"/>
<div class="fleft choiceName">
<s:label for="%{#personPrefix}.votingId" id="%{#personPrefix}_label" theme="simple"
value=''/>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp 2012-04-12 16:27:37 UTC (rev 3253)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp 2012-04-13 08:16:54 UTC (rev 3254)
@@ -23,6 +23,7 @@
--%>
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
+<%@ taglib prefix="sp" uri="/nuiton-tags" %>
<s:set name="prefix">votingList<s:property value="votingListType"/>_<s:property
value="votingListNumber"/></s:set>
@@ -36,7 +37,7 @@
<s:div id='%{#prefix}' cssClass="votingList">
<fieldset class="ui-widget-content ui-corner-all">
- <s:fielderror fieldName="%{#prefix}"/>
+ <sp:fielderror fieldName="%{#prefix}"/>
<s:if test='%{#votingListType == "GROUP"}'>
<%--<div>--%>
<div class="fleft choiceName">
Modified: branches/pollen-1.2.6-struts2/pom.xml
===================================================================
--- branches/pollen-1.2.6-struts2/pom.xml 2012-04-12 16:27:37 UTC (rev 3253)
+++ branches/pollen-1.2.6-struts2/pom.xml 2012-04-13 08:16:54 UTC (rev 3254)
@@ -451,7 +451,7 @@
<eugenePluginVersion>2.4.2</eugenePluginVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<tapestryVersion>5.1.0.5</tapestryVersion>
- <nuitonWebVersion>1.10</nuitonWebVersion>
+ <nuitonWebVersion>1.11</nuitonWebVersion>
<nuitonUtilsVersion>2.4.7</nuitonUtilsVersion>
<h2Version>1.3.165</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
1
0
r3253 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll webapp/WEB-INF/jsp/poll
by fdesbois@users.chorem.org 12 Apr '12
by fdesbois@users.chorem.org 12 Apr '12
12 Apr '12
Author: fdesbois
Date: 2012-04-12 18:27:37 +0200 (Thu, 12 Apr 2012)
New Revision: 3253
Url: http://chorem.org/repositories/revision/pollen/3253
Log:
validation for votingLists
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 16:27:32 UTC (rev 3252)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 16:27:37 UTC (rev 3253)
@@ -29,6 +29,7 @@
import com.google.common.collect.Sets;
import com.opensymphony.xwork2.Preparable;
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -226,15 +227,9 @@
@Override
public void validate() {
- informationsError = validateInformations();
+ validateInformations();
- optionsError = validateOptions();
-
- if (!informationsError && optionsError) {
-
- // trick to force to go back to form
- addFieldError("", "");
- }
+ validateOptions();
}
@Override
@@ -367,11 +362,12 @@
return result;
}
- protected boolean validateInformations() {
+ protected void validateInformations() {
// -- Title : required -- //
if (StringUtils.isBlank(poll.getTitle())) {
- addFieldError("poll.title", _("pollen.error.poll.required.title"));
+ addInformationsError("poll.title",
+ _("pollen.error.poll.required.title"));
}
if (isVoteStarted()) {
@@ -385,8 +381,8 @@
if (MapUtils.isEmpty(choices)) {
// poll must have at least one choice
- addFieldError("poll.choices",
- _("pollen.error.poll.required.one.choice"));
+ addInformationsError("poll.choices",
+ _("pollen.error.poll.required.one.choice"));
} else {
ChoiceType choiceType = poll.getChoiceType();
@@ -396,22 +392,16 @@
choiceType));
if (inputChoicesSize > choiceValues.size()) {
- addFieldError(
+ addInformationsError(
"poll.choices",
_("pollen.error.poll.detected.duplicate.choice.name"));
}
}
}
-
- boolean result = hasFieldErrors();
-
- return result;
}
- protected boolean validateOptions() {
+ protected void validateOptions() {
- boolean result = false;
-
if (isVoteStarted()) {
// no validation on votingLists if vote is started
@@ -431,56 +421,43 @@
Set<String> emails = Sets.newHashSet();
for (Map.Entry<Integer, VotingList> entry : votingLists.entrySet()) {
- result |= validateVotingList(entry.getKey(),
- entry.getValue(),
- groups,
- voters,
- emails);
+ validateVotingList(entry.getKey(),
+ entry.getValue(),
+ groups,
+ voters,
+ emails);
}
}
}
if (validateEndDate(poll.getBeginChoiceDate(), poll.getEndChoiceDate())) {
- addFieldError("poll.endChoiceDate",
+ addOptionsError("poll.endChoiceDate",
_("pollen.error.poll.endChoiceDate.before.beginChoiceDate"));
- result = true;
}
if (validateEndDate(poll.getBeginDate(), poll.getEndDate())) {
- addFieldError("poll.endDate",
+ addOptionsError("poll.endDate",
_("pollen.error.poll.endDate.before.beginDate"));
- result = true;
}
if (validateEndDate(poll.getEndChoiceDate(), poll.getEndDate())) {
- addFieldError("poll.endChoiceDate",
+ addOptionsError("poll.endChoiceDate",
_("pollen.error.poll.endChoiceDate.after.endDate"));
- result = true;
}
-
- return result;
}
-
- protected boolean validateEndDate(Date begin, Date end) {
- return begin != null
- && end != null
- && end.before(begin);
- }
- protected boolean validateVotingList(int votingListNumber,
- VotingList votingList,
- Set<String> groups,
- Set<String> voters,
- Set<String> emails) {
+ protected void validateVotingList(int votingListNumber,
+ VotingList votingList,
+ Set<String> groups,
+ Set<String> voters,
+ Set<String> emails) {
+
+ PollType votingListType = poll.getPollType();
+ String fieldNamePrefix = "votingList" + votingListType + "_" + votingListNumber;
- boolean result = false;
- Map<String, String> errors = Maps.newHashMap();
-
- String votingListErrorPrefix = "poll.votingList_" + votingListNumber;
-
if (isGroupPoll()) {
// group poll
@@ -496,8 +473,9 @@
if (StringUtils.isEmpty(votingListName)) {
- errors.put(votingListErrorPrefix + ".name",
- _("pollen.error.poll.required.votingList.name"));
+ addOptionsError(
+ fieldNamePrefix + ".name",
+ _("pollen.error.poll.required.votingList.name"));
} else {
// check no votingList name doublon
@@ -505,8 +483,8 @@
if (!add) {
// name doublon
- errors.put(
- votingListErrorPrefix + ".name",
+ addOptionsError(
+ fieldNamePrefix + ".name",
_("pollen.error.poll.votingList.name.doublon"));
}
@@ -518,8 +496,8 @@
if (votingList.getWeight() == 0) {
// no weight filled (can be a bad conversion)
- errors.put(
- votingListErrorPrefix + ".weight",
+ addOptionsError(
+ fieldNamePrefix + ".weight",
_("pollen.error.poll.votingList.weight.not.valid"));
}
}
@@ -527,53 +505,38 @@
// check there is at least one voter
-// String persontoListToken = DisplayPersonToList.getPersonToListTokenId(
-// getVotingListTokenId(), votingListNumber);
-//
-// Map<Integer, PersonToList> personToLists =
-// getPollenSession().getDynamicData(persontoListToken);
-//
-// if (MapUtils.isEmpty(personToLists)) {
-//
-// // no personToList found for unique votingList 0
-// errors.put(votingListErrorPrefix,
-// _("pollen.error.poll.required.one.personToList"));
-// } else {
-//
-// // check no doublon on voter names
-// // check no doublon on voter emails
-//
-// for (Map.Entry<Integer, PersonToList> entry :
-// personToLists.entrySet()) {
-//
-// result |= validatePersonList(entry.getKey(), entry.getValue(),
-// voters, emails);
-// }
-// }
-//
-// if (MapUtils.isNotEmpty(errors)) {
-//
-// // keep errors to display them in correct action
-// String errorToken = DisplayVotingList.getVotingListErrorTokenId(
-// getVotingListTokenId(), votingListNumber);
-// if (log.isInfoEnabled()) {
-// log.info("Add " + errors.size() + " errors to " + errorToken);
-// }
-// getPollenSession().putDynamicData(errorToken, errors);
-// result = true;
-// }
- return result;
+ List<PersonToList> personToLists = votingList.getPollAccountPersonToList();
+
+ if (CollectionUtils.isEmpty(personToLists)) {
+
+ // no personToList found for unique votingList 0
+ addOptionsError(fieldNamePrefix,
+ _("pollen.error.poll.required.one.personToList"));
+ } else {
+
+ // check no doublon on voter names
+ // check no doublon on voter emails
+
+ for (int i = 0; i < personToLists.size(); i++) {
+
+ validatePersonList(i,
+ fieldNamePrefix,
+ personToLists.get(i),
+ voters,
+ emails);
+ }
+ }
}
- protected boolean validatePersonList(int personToListNumber,
- PersonToList personToList,
- Set<String> voters,
- Set<String> emails) {
+ protected void validatePersonList(int personToListNumber,
+ String votingListFieldNamePrefix,
+ PersonToList personToList,
+ Set<String> voters,
+ Set<String> emails) {
- boolean result = false;
- Map<String, String> errors = Maps.newHashMap();
- String fieldNamePrefix =
- "personToList_0_" + personToListNumber;
+ String fieldNamePrefix = votingListFieldNamePrefix +
+ "PersonToList_" + personToListNumber;
+
PollAccount pollAccount = personToList.getPollAccount();
{ // validate votingId
@@ -584,7 +547,7 @@
if (!add) {
// voter doublon
- errors.put(
+ addOptionsError(
fieldNamePrefix + ".votingId",
_("pollen.error.poll.personToList.votingId.doublon"));
}
@@ -593,7 +556,7 @@
String email = pollAccount.getEmail();
if (StringUtils.isEmpty(email)) {
- errors.put(
+ addOptionsError(
fieldNamePrefix + ".email",
_("pollen.error.poll.personToList.email.required"));
} else {
@@ -603,7 +566,7 @@
if (!validEmail) {
// not a valid email
- errors.put(
+ addOptionsError(
fieldNamePrefix + ".email",
_("pollen.error.poll.personToList.email.not.valid"));
} else {
@@ -613,7 +576,7 @@
if (!add) {
// email doublon
- errors.put(
+ addOptionsError(
fieldNamePrefix + ".email",
_("pollen.error.poll.personToList.email.doublon"));
}
@@ -624,25 +587,37 @@
if (personToList.getWeight() == 0) {
// no weight filled (can be a bad conversion)
- errors.put(
+ addOptionsError(
fieldNamePrefix + ".weight",
_("pollen.error.poll.personToList.weight.not.valid"));
}
}
+ }
- if (MapUtils.isNotEmpty(errors)) {
-// String errorToken =
-// DisplayPersonToList.getPersonToListErrorTokenId(
-// getVotingListTokenId(), 0, personToListNumber);
-// if (log.isInfoEnabled()) {
-// log.info("Add " + errors.size() + " errors to " + errorToken);
-// }
-// getPollenSession().putDynamicData(errorToken, errors);
- result = true;
+ protected boolean validateEndDate(Date begin, Date end) {
+ return begin != null
+ && end != null
+ && end.before(begin);
+ }
+
+ @Override
+ public void addFieldError(String fieldName, String errorMessage) {
+ super.addFieldError(fieldName, errorMessage);
+ if (log.isDebugEnabled()) {
+ log.debug("VALIDATION [" + fieldName + "] : " + errorMessage);
}
- return result;
}
+ protected void addInformationsError(String fieldName, String errorMessage) {
+ addFieldError(fieldName, errorMessage);
+ informationsError = true;
+ }
+
+ protected void addOptionsError(String fieldName, String errorMessage) {
+ addFieldError(fieldName, errorMessage);
+ optionsError = true;
+ }
+
protected Map<Integer, Choice> buildTextChoices() {
Map<Integer, Choice> result = Maps.newTreeMap();
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp 2012-04-12 16:27:32 UTC (rev 3252)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayPersonToList.jsp 2012-04-12 16:27:37 UTC (rev 3253)
@@ -32,7 +32,6 @@
<s:text name="pollen.action.pollPersonToListDelete"/>
</s:set>
<s:div id='%{#personPrefix}' cssClass="personToList">
- <s:fielderror/>
<s:hidden key='%{#personPrefix}.topiaId' value='%{#personToList.topiaId}' label=''/>
<s:hidden key='%{#personPrefix}.accountId' value='%{#personToList.pollAccount.accountId}' label=''/>
<div class="fleft choiceName">
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp 2012-04-12 16:27:32 UTC (rev 3252)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/displayVotingList.jsp 2012-04-12 16:27:37 UTC (rev 3253)
@@ -36,7 +36,7 @@
<s:div id='%{#prefix}' cssClass="votingList">
<fieldset class="ui-widget-content ui-corner-all">
- <s:fielderror/>
+ <s:fielderror fieldName="%{#prefix}"/>
<s:if test='%{#votingListType == "GROUP"}'>
<%--<div>--%>
<div class="fleft choiceName">
1
0
r3252 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions/poll resources/i18n
by fdesbois@users.chorem.org 12 Apr '12
by fdesbois@users.chorem.org 12 Apr '12
12 Apr '12
Author: fdesbois
Date: 2012-04-12 18:27:32 +0200 (Thu, 12 Apr 2012)
New Revision: 3252
Url: http://chorem.org/repositories/revision/pollen/3252
Log:
validation for poll dates
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 10:32:25 UTC (rev 3251)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 16:27:32 UTC (rev 3252)
@@ -439,9 +439,36 @@
}
}
}
+
+ if (validateEndDate(poll.getBeginChoiceDate(), poll.getEndChoiceDate())) {
+
+ addFieldError("poll.endChoiceDate",
+ _("pollen.error.poll.endChoiceDate.before.beginChoiceDate"));
+ result = true;
+ }
+ if (validateEndDate(poll.getBeginDate(), poll.getEndDate())) {
+
+ addFieldError("poll.endDate",
+ _("pollen.error.poll.endDate.before.beginDate"));
+ result = true;
+ }
+
+ if (validateEndDate(poll.getEndChoiceDate(), poll.getEndDate())) {
+
+ addFieldError("poll.endChoiceDate",
+ _("pollen.error.poll.endChoiceDate.after.endDate"));
+ result = true;
+ }
+
return result;
}
+
+ protected boolean validateEndDate(Date begin, Date end) {
+ return begin != null
+ && end != null
+ && end.before(begin);
+ }
protected boolean validateVotingList(int votingListNumber,
VotingList votingList,
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-12 10:32:25 UTC (rev 3251)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-12 16:27:32 UTC (rev 3252)
@@ -136,6 +136,9 @@
pollen.error.password2.required=You must repeat your password for confirmation
pollen.error.passwords.not.equals=Les deux mots de passe saisis non identiques
pollen.error.poll.detected.duplicate.choice.name=Choices must be unique.
+pollen.error.poll.endChoiceDate.after.endDate=The choice end date must be sooner than the poll end date.
+pollen.error.poll.endChoiceDate.before.beginChoiceDate=The choice end date must be later than the begin date.
+pollen.error.poll.endDate.before.beginDate=The poll end date must be later than the begin date.
pollen.error.poll.notfound=No such poll exists. Please make sure that you are using the correct link and copy it completely into your browser's address field.
pollen.error.poll.personToList.email.doublon=
pollen.error.poll.personToList.email.not.valid=
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-12 10:32:25 UTC (rev 3251)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-12 16:27:32 UTC (rev 3252)
@@ -143,6 +143,9 @@
pollen.error.password2.required=Mot de passe répété obligatoire
pollen.error.passwords.not.equals=Les deux mots de passe saisis non identiques
pollen.error.poll.detected.duplicate.choice.name=Les choix doivent être uniques.
+pollen.error.poll.endChoiceDate.after.endDate=La date de fin d'ajout de choix doit-être antérieure à la date de fin du sondage.
+pollen.error.poll.endChoiceDate.before.beginChoiceDate=La date de fin d'ajout de choix doit-être postérieure à la date de début.
+pollen.error.poll.endDate.before.beginDate=La date de fin du sondage doit-être postérieure à la date de début.
pollen.error.poll.notfound=Il n'y a pas de sondage à cette adresse. Veuillez verifier que vous utilisez le lien correcte et copiez-le complètement dans le champ d'adresse de votre navigateur.
pollen.error.poll.personToList.email.doublon=Les emails doivent être uniques.
pollen.error.poll.personToList.email.not.valid=Email non valide
1
0
r3251 - in branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services: . impl
by fdesbois@users.chorem.org 12 Apr '12
by fdesbois@users.chorem.org 12 Apr '12
12 Apr '12
Author: fdesbois
Date: 2012-04-12 12:32:25 +0200 (Thu, 12 Apr 2012)
New Revision: 3251
Url: http://chorem.org/repositories/revision/pollen/3251
Log:
send email to person on restricted poll update (if email change)
Modified:
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java 2012-04-12 10:32:21 UTC (rev 3250)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenServiceSupport.java 2012-04-12 10:32:25 UTC (rev 3251)
@@ -118,6 +118,14 @@
}
}
+ protected <T extends TopiaEntity, D extends TopiaDAO<? super T>> T update(D dao, T entity) {
+ try {
+ return (T) dao.update(entity);
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException("Could not update entity ", e);
+ }
+ }
+
protected TopiaContext getTransaction() {
return serviceContext.getTransaction();
}
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-12 10:32:21 UTC (rev 3250)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-12 10:32:25 UTC (rev 3251)
@@ -113,7 +113,6 @@
String pollTitle = poll.getTitle();
// Mail au créateur
-
if (StringUtils.isNotEmpty(poll.getCreator().getEmail())) {
String subject = l_(locale, "pollen.email.creatorEmail.subject",
pollTitle);
@@ -135,16 +134,10 @@
List<PollEmail> emails = Lists.newArrayList();
for (PollAccount account : votingPollAccounts) {
- String accountId = account.getAccountId();
- PollUrl accountVoteURL = PollUrl.newPollUrl(voteURL, accountId);
- String content =
- l_(locale, "pollen.email.votingEmail.content",
- pollTitle, accountId, accountVoteURL);
+ PollEmail pollEmail =
+ createVotingEmail(locale, pollTitle, account, voteURL);
- PollEmail pollEmail = createPollEmail(
- account.getEmail(), subject, content);
-
emails.add(pollEmail);
}
@@ -152,7 +145,45 @@
}
}
}
+
+ public void onRestrictedPersonAdded(Poll poll, PollAccount account, PollUrl voteURL) {
+ URL url = serviceContext.getApplicationURL();
+
+ if (url != null) {
+
+ Locale locale = getLocale();
+
+ String pollTitle = poll.getTitle();
+
+ PollEmail pollEmail =
+ createVotingEmail(locale, pollTitle, account, voteURL);
+
+ sendEmail(pollEmail);
+ }
+ }
+
+ private PollEmail createVotingEmail(Locale locale,
+ String pollTitle,
+ PollAccount account,
+ PollUrl voteURL) {
+
+ String subject = l_(locale, "pollen.email.votingEmail.subject",
+ pollTitle);
+
+ PollUrl accountVoteURL =
+ PollUrl.newPollUrl(voteURL, account.getAccountId());
+
+ String content =
+ l_(locale, "pollen.email.votingEmail.content",
+ pollTitle, account.getVotingId(), accountVoteURL);
+
+ PollEmail result = createPollEmail(
+ account.getEmail(), subject, content);
+
+ return result;
+ }
+
public void onPollReminder(Poll poll, PollUrl voteURL) {
URL url = serviceContext.getApplicationURL();
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-12 10:32:21 UTC (rev 3250)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-12 10:32:25 UTC (rev 3251)
@@ -23,6 +23,7 @@
*/
package org.chorem.pollen.services.impl;
+import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import org.apache.commons.io.FileUtils;
@@ -291,7 +292,9 @@
// -- VotingList -- //
try {
for (VotingList votingList : poll.getVotingList()) {
- saveVotingList(result, votingList);
+ // Do not set emailService, all emails will be send during
+ // onPollCreated
+ saveVotingList(result, votingList, null);
}
} catch (TopiaException e) {
throw new PollenTechnicalException("Can't save votingLists", e);
@@ -353,10 +356,11 @@
// -- VotingLists -- //
if (!voteStarted) {
+ EmailService emailService = newService(EmailService.class);
pollToUpdate.clearVotingList();
try {
for (VotingList votingList : poll.getVotingList()) {
- saveVotingList(pollToUpdate, votingList);
+ saveVotingList(pollToUpdate, votingList, emailService);
}
} catch (TopiaException e) {
throw new PollenTechnicalException("Can't save votingLists", e);
@@ -926,7 +930,7 @@
return result;
}
- protected void saveVotingList(Poll poll, VotingList votingList) throws TopiaException {
+ protected void saveVotingList(Poll poll, VotingList votingList, EmailService emailService) throws TopiaException {
VotingListDAO votingListDAO = getDAO(VotingList.class);
PersonToListDAO personToListDAO = getDAO(PersonToList.class);
@@ -947,6 +951,8 @@
result.setName(votingList.getName());
result.setWeight(votingList.getWeight());
+
+ PollUrl voteURL = getPollVoteUrl(poll);
// Merge PersonToList
List<PersonToList> personToListsUpdated = Lists.newArrayList();
@@ -974,7 +980,6 @@
pollAccountLoaded = create(pollAccountDAO);
pollAccountLoaded.setAccountId(accountId);
}
- personToListLoaded.setPollAccount(pollAccountLoaded);
} else {
personToListLoaded = getEntityById(PersonToList.class, personToList.getTopiaId());
@@ -983,8 +988,22 @@
personToListsUpdated.add(personToListLoaded);
personToListLoaded.setWeight(personToList.getWeight());
+ pollAccountLoaded.setVotingId(pollAccount.getVotingId());
+
+ boolean emailChanged = !Objects.equal(pollAccountLoaded.getEmail(),
+ pollAccount.getEmail());
+
pollAccountLoaded.setEmail(pollAccount.getEmail());
- pollAccountLoaded.setVotingId(pollAccount.getVotingId());
+
+ // Send email to the person if service is defined and email has changed
+ if (emailService != null && emailChanged) {
+ emailService.onRestrictedPersonAdded(poll, pollAccountLoaded, voteURL);
+ }
+
+ // Update the account (otherwise a saving error will occurs if
+ // already exists on delete cascade)
+ PollAccount pollAccountUpdated = update(pollAccountDAO, pollAccountLoaded);
+ personToListLoaded.setPollAccount(pollAccountUpdated);
}
result.setPollAccountPersonToList(personToListsUpdated);
}
1
0
r3250 - in branches/pollen-1.2.6-struts2: pollen-services/src/main/java/org/chorem/pollen/bean pollen-services/src/main/java/org/chorem/pollen/services pollen-services/src/main/java/org/chorem/pollen/services/impl pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll
by fdesbois@users.chorem.org 12 Apr '12
by fdesbois@users.chorem.org 12 Apr '12
12 Apr '12
Author: fdesbois
Date: 2012-04-12 12:32:21 +0200 (Thu, 12 Apr 2012)
New Revision: 3250
Url: http://chorem.org/repositories/revision/pollen/3250
Log:
- create new object PollUrl that use PollUri to avoid floating String for email urls
- missing reset for limitChoice
- ensure keeping existing account on update poll for restricted votingLists
Added:
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/bean/PollUrl.java
Modified:
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenNotifierWorker.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
Added: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/bean/PollUrl.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/bean/PollUrl.java (rev 0)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/bean/PollUrl.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -0,0 +1,63 @@
+package org.chorem.pollen.bean;
+
+/**
+ * Created: 12/04/12
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ */
+public class PollUrl {
+
+ private String baseUrl;
+
+ private PollUri pollUri;
+
+ /**
+ * Create a new PollUrl with {@code baseUrl} which is the application url
+ * for this url, and the {@code pollUri} to identify the poll.
+ *
+ * @param baseUrl Base url from the application for this url
+ * @param pollUri Uri that identify the poll and the account
+ * @return a new PollUrl
+ */
+ public static PollUrl newPollUrl(String baseUrl, PollUri pollUri) {
+ PollUrl result = new PollUrl();
+ result.baseUrl = baseUrl;
+ result.pollUri = pollUri;
+ return result;
+ }
+
+ /**
+ * Create a new PollUrl which is a copy of the given {@code pollUrl} with
+ * an other {@code accountId} for {@link PollUri}.
+ *
+ * @param pollUrl PollUrl to copy
+ * @param accountId New accountId to use for copy
+ * @return the new PollUrl
+ */
+ public static PollUrl newPollUrl(PollUrl pollUrl, String accountId) {
+ PollUrl result = new PollUrl();
+ result.baseUrl = pollUrl.getBaseUrl();
+ String pollId = pollUrl.getPollUri().getPollId();
+ result.pollUri = PollUri.newPollUri(pollId, accountId);
+ return result;
+ }
+
+ private PollUrl() { }
+
+ public String getBaseUrl() {
+ return baseUrl;
+ }
+
+ public PollUri getPollUri() {
+ return pollUri;
+ }
+
+ public String getUrl() {
+ return getBaseUrl() + getPollUri().getUri();
+ }
+
+ @Override
+ public String toString() {
+ return getUrl();
+ }
+}
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenNotifierWorker.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenNotifierWorker.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/PollenNotifierWorker.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -25,6 +25,7 @@
import com.google.common.base.Preconditions;
import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Poll;
import org.chorem.pollen.business.persistence.PreventRule;
import org.chorem.pollen.services.impl.PollService;
@@ -89,7 +90,7 @@
for (Poll poll : polls) {
- String pollVoteUrl = pollService.getPollVoteUrl(poll);
+ PollUrl pollVoteUrl = pollService.getPollVoteUrl(poll);
preventRuleService.onPollToRemind(poll, pollVoteUrl);
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -33,10 +33,10 @@
import org.apache.commons.mail.SimpleEmail;
import org.chorem.pollen.PollenConfiguration;
import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Poll;
import org.chorem.pollen.business.persistence.PollAccount;
import org.chorem.pollen.business.persistence.UserAccount;
-import org.chorem.pollen.common.PollType;
import org.chorem.pollen.services.PollenServiceSupport;
import org.nuiton.util.StringUtil;
@@ -72,7 +72,7 @@
}
}
- public void onVoteAdded(Poll poll, String voteURL, String modifURL) {
+ public void onVoteAdded(Poll poll, PollUrl voteURL, PollUrl modifURL) {
URL url = serviceContext.getApplicationURL();
@@ -102,7 +102,7 @@
}
}
- public void onPollCreated(Poll poll, String voteURL, String modifURL) {
+ public void onPollCreated(Poll poll, PollUrl voteURL, PollUrl modifURL) {
URL url = serviceContext.getApplicationURL();
@@ -115,14 +115,10 @@
// Mail au créateur
if (StringUtils.isNotEmpty(poll.getCreator().getEmail())) {
- String voteURL2 = voteURL;
- if (poll.getPollType() != PollType.FREE) {
- voteURL2 += ":" + poll.getCreator().getAccountId();
- }
String subject = l_(locale, "pollen.email.creatorEmail.subject",
pollTitle);
String content = l_(locale, "pollen.email.creatorEmail.content",
- pollTitle, voteURL2, modifURL);
+ pollTitle, voteURL, modifURL);
PollEmail pollEmail = createPollEmail(
poll.getCreator().getEmail(), subject, content);
@@ -140,8 +136,7 @@
List<PollEmail> emails = Lists.newArrayList();
for (PollAccount account : votingPollAccounts) {
String accountId = account.getAccountId();
- String accountVoteURL =
- voteURL + ":" + accountId;
+ PollUrl accountVoteURL = PollUrl.newPollUrl(voteURL, accountId);
String content =
l_(locale, "pollen.email.votingEmail.content",
@@ -158,7 +153,7 @@
}
}
- public void onPollReminder(Poll poll, String voteURL) {
+ public void onPollReminder(Poll poll, PollUrl voteURL) {
URL url = serviceContext.getApplicationURL();
@@ -177,8 +172,8 @@
List<PollEmail> emails = Lists.newArrayList();
for (PollAccount account : votingPollAccounts) {
- String accountVoteURL =
- voteURL + ":" + account.getAccountId();
+ PollUrl accountVoteURL =
+ PollUrl.newPollUrl(voteURL, account.getAccountId());
String content =
l_(locale, "pollen.email.reminderEmail.content",
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -25,6 +25,7 @@
import com.google.common.base.Preconditions;
import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Comment;
import org.chorem.pollen.business.persistence.CommentDAO;
import org.chorem.pollen.business.persistence.Poll;
@@ -91,7 +92,7 @@
PollService pollService = newService(PollService.class);
- String pollVoteUrl = pollService.getPollVoteUrl(poll);
+ PollUrl pollVoteUrl = pollService.getPollVoteUrl(poll);
PollFeedService pollFeedService = newService(PollFeedService.class);
pollFeedService.onAddComment(commentCreated, pollVoteUrl);
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -36,6 +36,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.chorem.pollen.PollenTechnicalException;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Choice;
import org.chorem.pollen.business.persistence.Comment;
import org.chorem.pollen.business.persistence.Poll;
@@ -81,7 +82,7 @@
return result;
}
- public void onPollCreated(Poll poll, String pollVoteUrl) {
+ public void onPollCreated(Poll poll, PollUrl pollVoteUrl) {
File file = getFeedLocation(poll);
String title = l_(getLocale(), "pollen.feed.pollTitle", poll.getTitle());
@@ -91,7 +92,7 @@
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("atom_1.0");
feed.setTitle(title);
- feed.setLink(pollVoteUrl);
+ feed.setLink(pollVoteUrl.getUrl());
feed.setDescription(description);
Writer writer = new FileWriter(file);
@@ -115,7 +116,7 @@
}
}
- public void onAddComment(Comment comment, String pollVoteUrl) {
+ public void onAddComment(Comment comment, PollUrl pollVoteUrl) {
String title = _("pollen.feed.addCommentTitle",
comment.getAuthor());
@@ -128,8 +129,8 @@
public void onAddVote(Vote vote,
boolean anonymousVote,
- String pollResult
- , String pollVoteUrl) {
+ String pollResult,
+ PollUrl pollVoteUrl) {
String userId;
if (anonymousVote) {
@@ -145,7 +146,7 @@
addFeedEntry(vote.getPoll(), title, content, pollVoteUrl);
}
- public void onAddChoice(Choice choice, String pollVoteUrl) {
+ public void onAddChoice(Choice choice, PollUrl pollVoteUrl) {
String title = _("pollen.feed.addChoiceTitle", choice.getName());
@@ -185,7 +186,7 @@
protected void addFeedEntry(Poll poll,
String title,
String content,
- String pollVoteUrl) {
+ PollUrl pollVoteUrl) {
//TODO tchemitshould remove this, may migrates when going to version 2.0
//TODO pass on all polls from database and creates the feed if not found.
@@ -205,7 +206,7 @@
SyndContent description;
entry = new SyndEntryImpl();
entry.setTitle(title);
- entry.setLink(pollVoteUrl);
+ entry.setLink(pollVoteUrl.getUrl());
entry.setPublishedDate(new Date());
description = new SyndContentImpl();
description.setType("text/plain");
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -34,6 +34,7 @@
import org.chorem.pollen.bean.PollDateChoice;
import org.chorem.pollen.bean.PollImageChoice;
import org.chorem.pollen.bean.PollUri;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Choice;
import org.chorem.pollen.business.persistence.ChoiceDAO;
import org.chorem.pollen.business.persistence.PersonToList;
@@ -241,10 +242,13 @@
Poll result = create(pollDAO);
// check max number choice authorized (can not be more than
- if (poll.getMaxChoiceNb() < 1
- || poll.getMaxChoiceNb() > poll.sizeChoice()) {
- poll.setMaxChoiceNb(poll.sizeChoice());
- }
+ // XXX-fdesbois-2012-04-11 : don't know why the maxNbChoice must be
+ // forced to the choice size, it seems useless. The case maxNbChoice = 0
+ // must be available (equivalent to undefined)
+// if (poll.getMaxChoiceNb() < 1
+// || poll.getMaxChoiceNb() > poll.sizeChoice()) {
+// poll.setMaxChoiceNb(poll.sizeChoice());
+// }
result.setAnonymous(poll.isAnonymous());
result.setAnonymousVoteAllowed(poll.isAnonymousVoteAllowed());
@@ -285,20 +289,26 @@
}
// -- VotingList -- //
- for (VotingList votingList : poll.getVotingList()) {
- saveVotingList(result, votingList);
+ try {
+ for (VotingList votingList : poll.getVotingList()) {
+ saveVotingList(result, votingList);
+ }
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException("Can't save votingLists", e);
}
commitTransaction("Could not create poll " + poll.getTitle());
- String pollVoteUrl = getPollVoteUrl(poll);
- String pollEditUrl = getPollEditUrl(poll);
+ PollUrl pollVoteUrl = getPollVoteUrl(poll);
+ PollUrl pollEditUrl = getPollEditUrl(poll);
// email notification
EmailService emailService = newService(EmailService.class);
emailService.onPollCreated(result, pollVoteUrl, pollEditUrl);
// feed notification
+ // XXX-fdesbois-2012-04-12 : if the feed is the same for everybody maybe
+ // not publish restricted poll that can't be accessed by everybody
PollFeedService pollFeedService = newService(PollFeedService.class);
pollFeedService.onPollCreated(result, pollVoteUrl);
@@ -344,35 +354,41 @@
if (!voteStarted) {
pollToUpdate.clearVotingList();
- for (VotingList votingList : poll.getVotingList()) {
- saveVotingList(pollToUpdate, votingList);
+ try {
+ for (VotingList votingList : poll.getVotingList()) {
+ saveVotingList(pollToUpdate, votingList);
+ }
+ } catch (TopiaException e) {
+ throw new PollenTechnicalException("Can't save votingLists", e);
}
}
commitTransaction("Could not update poll [" + poll.getTopiaId() + "]");
}
- public String getPollVoteUrl(Poll poll) {
+ public PollUrl getPollVoteUrl(Poll poll) {
URL applicationUrl = serviceContext.getApplicationURL();
- StringBuilder url = new StringBuilder(applicationUrl.toString());
- url.append("/poll/votefor/");
-
- if (PollType.FREE == poll.getPollType()) {
- url.append(poll.getPollId());
-
- } else {
- // Restricted poll is secure, the creator could access to it when
- // using the adminId
- url.append(poll.getAdminId());
+ String baseUrl = applicationUrl + "/poll/votefor/";
+ PollUri pollUri = PollUri.newPollUri(poll.getPollId());
+
+ if (poll.getPollType() != PollType.FREE) {
+ String creatorId = poll.getCreator().getAccountId();
+ pollUri.setAccountId(creatorId);
}
- return url.toString();
+
+ PollUrl result = PollUrl.newPollUrl(baseUrl, pollUri);
+ return result;
}
- public String getPollEditUrl(Poll poll) {
+ public PollUrl getPollEditUrl(Poll poll) {
URL applicationUrl = serviceContext.getApplicationURL();
- StringBuilder url = new StringBuilder(applicationUrl.toString());
- url.append("/poll/modification/").append(poll.getAdminId());
- return url.toString();
+ String baseUrl = applicationUrl + "/poll/modification/";
+
+ String creatorId = poll.getCreator().getAccountId();
+ PollUri pollUri = PollUri.newPollUri(poll.getPollId(), creatorId);
+
+ PollUrl result = PollUrl.newPollUrl(baseUrl, pollUri);
+ return result;
}
public List<Poll> getPolls(TopiaFilterPagerUtil.FilterPagerBean pager) {
@@ -889,8 +905,8 @@
// Send notification if necessary
PreventRuleService preventRuleService = newService(PreventRuleService.class);
- String pollVoteUrl = getPollVoteUrl(pollToUpdate);
- String modifUrl = getPollEditUrl(pollToUpdate);
+ PollUrl pollVoteUrl = getPollVoteUrl(pollToUpdate);
+ PollUrl modifUrl = getPollEditUrl(pollToUpdate);
preventRuleService.onVoteAdded(poll, pollVoteUrl, modifUrl);
}
@@ -910,7 +926,7 @@
return result;
}
- protected void saveVotingList(Poll poll, VotingList votingList) {
+ protected void saveVotingList(Poll poll, VotingList votingList) throws TopiaException {
VotingListDAO votingListDAO = getDAO(VotingList.class);
PersonToListDAO personToListDAO = getDAO(PersonToList.class);
@@ -946,9 +962,18 @@
// The model doesn't have any composition for this relation,
// the link must be set in both objects
personToListLoaded.setVotingList(result);
-
- pollAccountLoaded = create(pollAccountDAO);
- pollAccountLoaded.setAccountId(pollAccount.getAccountId());
+
+ // FIXME-fdesbois-2012-04-12 : find a better way to ensure accountId
+ String accountId = pollAccount.getAccountId();
+ if (accountId == null) {
+ accountId = serviceContext.createPollenUrlId();
+ }
+
+ pollAccountLoaded = pollAccountDAO.findByAccountId(accountId);
+ if (pollAccountLoaded == null) {
+ pollAccountLoaded = create(pollAccountDAO);
+ pollAccountLoaded.setAccountId(accountId);
+ }
personToListLoaded.setPollAccount(pollAccountLoaded);
} else {
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -26,6 +26,7 @@
import com.google.common.base.Preconditions;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.chorem.pollen.bean.PollUrl;
import org.chorem.pollen.business.persistence.Poll;
import org.chorem.pollen.business.persistence.PreventRule;
import org.chorem.pollen.services.PollenServiceSupport;
@@ -63,7 +64,7 @@
return rule;
}
- public void onVoteAdded(Poll poll, String pollVoteUrl, String modifURL) {
+ public void onVoteAdded(Poll poll, PollUrl pollVoteUrl, PollUrl modifURL) {
if (poll.getEndDate() != null) {
@@ -77,7 +78,7 @@
}
}
- public void onPollToRemind(Poll poll, String pollVoteUrl) {
+ public void onPollToRemind(Poll poll, PollUrl pollVoteUrl) {
// Parcours des preventRules de chaque sondage
// envoi d'un email si endDate-nowDate <= preventRuleSensibility
@@ -109,8 +110,8 @@
protected void onVoteAdded(Poll poll,
PreventRule preventRule,
- String pollVoteUrl,
- String modifURL) {
+ PollUrl pollVoteUrl,
+ PollUrl modifURL) {
// send to creator a email to say hey a new vote was added!
@@ -130,7 +131,7 @@
protected void onPollToRemind(Poll poll,
PreventRule preventRule,
- String pollVoteUrl,
+ PollUrl pollVoteUrl,
int timeValue) {
// send to all voting a email to say hey we need to vote
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -203,11 +203,11 @@
}
public String getPollVoteUrl() {
- return getPollService().getPollVoteUrl(poll);
+ return getPollService().getPollVoteUrl(poll).getUrl();
}
public String getPollEditUrl() {
- return getPollService().getPollEditUrl(poll);
+ return getPollService().getPollEditUrl(poll).getUrl();
}
public int getSelectedTab() {
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -85,6 +85,8 @@
private PollAccount pollAccount;
private boolean alreadyVoted;
+
+ private boolean voteAllowed;
private List<Vote> votes;
@@ -285,8 +287,10 @@
// TODO no pagination for the moment, need to retrieve the correct page depends on current pollAccount
votes = poll.getVote();
+ voteAllowed = getVoteService().isVoteAllowed(poll, pollAccount);
+
// Current vote
- if (isVoteAllowed()) {
+ if (voteAllowed) {
vote = getVoteService().getVoteEditable(poll, pollAccount);
}
@@ -370,7 +374,7 @@
}
public boolean isVoteAllowed() {
- return getVoteService().isVoteAllowed(getPoll(), getPollAccount());
+ return voteAllowed;
}
public boolean isDeleteCommentAllowed(Comment comment) {
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 07:54:38 UTC (rev 3249)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-12 10:32:21 UTC (rev 3250)
@@ -263,6 +263,11 @@
}
}
}
+
+ // Reset maxChoiceNb if limitChoice is unchecked
+ if (!isLimitChoice()) {
+ poll.setMaxChoiceNb(0);
+ }
poll.clearPreventRule();
1
0
r3249 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp: WEB-INF/jsp/poll js
by tchemit@users.chorem.org 12 Apr '12
by tchemit@users.chorem.org 12 Apr '12
12 Apr '12
Author: tchemit
Date: 2012-04-12 09:54:38 +0200 (Thu, 12 Apr 2012)
New Revision: 3249
Url: http://chorem.org/repositories/revision/pollen/3249
Log:
import group from voting list
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-12 06:54:09 UTC (rev 3248)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-12 07:54:38 UTC (rev 3249)
@@ -41,6 +41,7 @@
displayVotingListUrl:'<s:url namespace="/poll" action="displayVotingList"/>',
displayPersonToListUrl:'<s:url namespace="/poll" action="displayPersonToList"/>',
importPersonListToVotingListUrl:'<s:url namespace="/poll" action="importPersonListToVotingList"/>',
+ importPersonListToNewVotingListUrl:'<s:url namespace="/poll" action="importPersonListToNewVotingList"/>',
displayImageChoiceUrl:'<s:url namespace="/poll" action="displayImageChoice"/>',
displayDateChoiceUrl:'<s:url namespace="/poll" action="displayDateChoice"/>',
displayTextChoiceUrl:'<s:url namespace="/poll" action="displayTextChoice"/>',
@@ -211,7 +212,7 @@
<s:if test="userLoggued">
<s:submit key="pollen.action.addVotingListFromPersonList"
theme="simple"
- onclick="return selectPersonListToCreateNewVotingList();"
+ onclick='return selectPersonListToCreateNewVotingList();'
disabled="%{voteStarted}"/>
</s:if>
</div>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp 2012-04-12 06:54:09 UTC (rev 3248)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToAddToVotingList.jsp 2012-04-12 07:54:38 UTC (rev 3249)
@@ -47,7 +47,7 @@
<s:submit onclick="return cancel();" theme="simple"
key="pollen.action.cancel"/>
<s:submit
- onclick="return addPersonListToVotingList('%{votingListType}', '%{containerId}', '%{votingListNumber}', cancel);"
+ onclick="return addPersonListToVotingList('%{votingListType}', '%{containerId}', '%{votingListNumber}',$('#personList').val(), cancel);"
theme="simple" disabled='true' id='add'
key="pollen.action.importPersonListToExistingVotingList"/>
</div>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp 2012-04-12 06:54:09 UTC (rev 3248)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/selectPersonListToCreateNewVotingList.jsp 2012-04-12 07:54:38 UTC (rev 3249)
@@ -31,22 +31,6 @@
return false;
}
- function importPersonListToNewVotingList(personListId) {
- // add a new votingList
- addNewVotingList();
- // get his number
- var votingListNumber = getLastVotingList("votingLists");
-
- var containerId = "personToList_" + votingListNumber;
- // remove all personToList of this votingList
- var numbers = getAllPersonToListNumbers(containerId);
- for (n in numbers) {
- deletePersonToList(containerId + "_" + n);
- }
- // add personList to this votingList at position 0
- loadPersonListToVotingList(votingListNumber, 0, personListId);
- return cancel();
- }
jQuery(document).ready(function () {
$('#personList').change(function (event) {
var val = $(this).val();
@@ -59,15 +43,12 @@
<s:select id="personList" listValue="value.name" list="personList"
key='pollen.common.personList' headerKey="" headerValue=""/>
- <s:hidden key="votingListType" label=""/>
- <s:hidden key="votingListNumber" label=""/>
-
<hr/>
<div align="right">
<s:submit onclick="return cancel();" theme="simple"
key="pollen.action.cancel"/>
<s:submit id='import' disabled="true" theme="simple"
- onclick="return importPersonListToNewVotingList($('#personList').val());"
+ onclick="return importPersonListToNewVotingList($('#personList').val(), cancel);"
key="pollen.action.importPersonListToNewVotingList"/>
</div>
</fieldset>
\ No newline at end of file
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-12 06:54:09 UTC (rev 3248)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-12 07:54:38 UTC (rev 3249)
@@ -49,17 +49,6 @@
//-- Voting List methods
//----------------------------------------------------------------------------
-/*function getFirstVotingList(containerId) {
- var result = 65535;
- getAllVotingLists(containerId).each(function () {
- var current = $(this).data('votingListNumber');
- if (current < result) {
- result = current;
- }
- });
- return result;
- }*/
-
function getLastVotingList(containerId) {
var result = 0;
getAllVotingLists(containerId).each(function () {
@@ -84,12 +73,22 @@
votingList.data('votingListNumber', index);
votingList.data('votingListContainerId', containerId);
- preparePersonToLists(index, votingListId + 'PersonToList');
+ preparePersonToLists(votingListId + 'PersonToList', index);
});
updateUpdownVotingListActions(containerId);
}
+function prepareVotingList(containerId, votingListNumber) {
+
+ var votingListId = containerId + "_" + votingListNumber;
+ var votingList = $("#" + votingListId);
+ votingList.data('votingListNumber', votingListNumber);
+ votingList.data('votingListContainerId', containerId);
+ preparePersonToLists(votingListId + 'PersonToList', votingListNumber);
+ updateUpdownVotingListActions(containerId);
+}
+
function updateUpdownVotingListActions(containerId) {
getAllVotingLists(containerId).each(function (index) {
var currentVotingListNumber = $(this).data('votingListNumber');
@@ -114,18 +113,41 @@
success:function (data) {
var container = $("#" + containerId);
container.append(data);
- // store votingListNumber
- var votingListId = containerId + "_" + votingListNumber;
- var votingList = $("#" + votingListId);
- votingList.data('votingListNumber', votingListNumber);
- votingList.data('votingListContainerId', containerId);
- preparePersonToLists(votingListNumber, votingListId + 'PersonToList');
- updateUpdownVotingListActions(containerId);
+ // store votingListNumber and updates personToLists
+ prepareVotingList(containerId, votingListNumber);
}
});
return false;
}
+function importPersonListToNewVotingList(personListId, cancelCallBack) {
+
+ var containerId = 'votingListGROUP';
+
+ // get new voting list number
+ var votingListNumber = 1 + getLastVotingList(containerId);
+
+ $.ajax(
+ {
+ url:datas['importPersonListToNewVotingListUrl'],
+ data:{
+ votingListType:"GROUP",
+ votingListNumber:votingListNumber,
+ personListId:personListId
+ },
+ async:false,
+ dataType:"html",
+ success:function (data) {
+ console.info("My fucking containerId : " + containerId);
+ var container = $("#" + containerId);
+ container.append(data);
+ prepareVotingList(containerId, votingListNumber);
+ }
+ }
+ );
+ return cancelCallBack();
+}
+
function deleteVotingList(votingListId) {
var votingList = $('#' + votingListId);
var containerId = votingList.data('votingListContainerId');
@@ -139,17 +161,6 @@
//-- PersonToList methods
//----------------------------------------------------------------------------
-/*function getFirstPersonToList(containerId) {
- var result = 65535;
- getAllPersonToLists(containerId).each(function () {
- var current = $(this).data('personToListNumber');
- if (current < result) {
- result = current;
- }
- });
- return result;
- }*/
-
function getLastPersonToList(containerId) {
var result = 0;
getAllPersonToLists(containerId).each(function () {
@@ -177,7 +188,7 @@
function getFirstEmptyPersonToList(containerId) {
var result = -1;
var numbers = getAllPersonToListNumbers(containerId);
- $.each(numbers, function (index) {
+ $.each(numbers, function () {
var n = $(this)[0];
if (result == -1) {
var nameInput = $('[name="' + containerId + '_' + n + '.votingId"]');
@@ -190,40 +201,30 @@
}
}
});
- console.info("getFirstEmptyPersonToList = "+result);
return result;
}
-function preparePersonToLists(votingListNumber, containerId) {
- getAllPersonToLists(containerId).each(function (index) {
+function preparePersonToList(containerId, votingListNumber, personToListNumber) {
+ var personToList = $("#" + containerId + "_" + personToListNumber);
- var personToListId = containerId + "_" + index;
- var personToList = $("#" + personToListId);
+ personToList.data('votingListNumber', votingListNumber);
+ personToList.data('personToListNumber', personToListNumber);
+ personToList.data('personToListContainerId', containerId);
+ updateUpdownPersonToListActions(containerId);
+}
- console.info("preparePersonToLists : containerId = " + containerId +
- ", votingListNumber = " + votingListNumber +
- ", personToListId = " + personToListId +
- ", index " + index);
+function preparePersonToLists(containerId, votingListNumber) {
+ getAllPersonToLists(containerId).each(function (index) {
- personToList.data('votingListNumber', votingListNumber);
- personToList.data('personToListNumber', index);
- personToList.data('personToListContainerId', containerId);
+ preparePersonToList(containerId, votingListNumber, index);
});
- updateUpdownPersonToListActions(containerId);
}
+
function updateUpdownPersonToListActions(containerId) {
- console.info("updateUpdownPersonToListActions : containerId = " +
- containerId);
getAllPersonToLists(containerId).each(function (index) {
var currentPersonToListNumber = $(this).data('personToListNumber');
-
- console.info("updateUpdownPersonToListActions : containerId = " +
- containerId + ", index " + index +
- ", currentPersonToListNumber : " +
- currentPersonToListNumber);
-
var labelWidget = $('#' + containerId + "_" + currentPersonToListNumber + "_label");
labelWidget.html(datas['personToListText'] + ' ' + (index + 1));
});
@@ -245,55 +246,12 @@
var container = $("#" + containerId);
container.append(data);
// store personToListNumber
- var personToList = $("#" + containerId + "_" + personToListNumber);
- personToList.data('votingListNumber', votingListNumber);
- personToList.data('personToListNumber', personToListNumber);
- personToList.data('personToListContainerId', containerId);
- updateUpdownPersonToListActions(containerId);
+ preparePersonToList(containerId, votingListNumber, personToListNumber);
}
});
return false;
}
-function addPersonToList(votingListType, containerId, votingListNumber, personToListNumber, nbPersonToLists, tokenId) {
- loadPersonToList(
- votingListType,
- containerId,
- votingListNumber, personToListNumber, nbPersonToLists, tokenId
- );
-}
-
-function loadPersonToList(votingListType, containerId, votingListNumber, personToListNumber, nbPersonToLists, tokenId) {
- if (personToListNumber == -1) {
- // to add a new personToList, get the new available personToListNumber
- personToListNumber = 1 + getLastPersonToList(containerId);
- }
- $.ajax(
- {
- url:datas['displayPersonToListUrl'],
- data:{
- tokenId:tokenId,
- votingListNumber:votingListNumber,
- votingListType:votingListType,
- personToListNumber:personToListNumber
- },
- async:false,
- dataType:"html",
- success:function (data) {
- var container = $("#" + containerId);
- container.append(data);
- // store personToListNumber
- var personToList = $("#" + containerId + "_" + personToListNumber);
- personToList.data('votingListNumber', votingListNumber);
- personToList.data('personToListNumber', personToListNumber);
- personToList.data('personToListContainerId', containerId);
- if (personToListNumber == nbPersonToLists || !tokenId) {
- updateUpdownPersonToListActions(containerId);
- }
- }
- });
-}
-
function deletePersonToList(personToListId) {
var personToList = $('#' + personToListId);
var containerId = personToList.data('personToListContainerId');
@@ -302,45 +260,8 @@
return false;
}
-function loadPersonListToVotingList(votingListNumber, personToListNumber, personListId) {
+function addPersonListToVotingList(votingListType, containerId, votingListNumber, personListId, cancelCallBack) {
- $.ajax(
- {
- url:datas['importPersonListToVotingListUrl'],
- data:{
- votingListNumber:votingListNumber,
- personToListNumber:personToListNumber,
- personListId:personListId },
- async:false,
- dataType:"json",
- success:function (data) {
- var token = data.tokenId;
- var nbPersonToLists = parseInt(data['nbPersonToLists']);
- var personToListNumber = parseInt(data.personToListNumber);
- var maxPersonToListNumber = parseInt(personToListNumber) + nbPersonToLists - 1;
- console.info(">> token = " + token);
- console.info(">> personListId = " + personListId);
- console.info(">> incoming votingListNumber = " + votingListNumber);
- console.info(">> nb personToList to import = " + nbPersonToLists);
- console.info(">> first personToListNumber = " + personToListNumber);
- console.info(">> last PersonToListNumber = " + maxPersonToListNumber);
-
- var index = personToListNumber;
- while (index <= maxPersonToListNumber) {
- console.info("Will load personToList = " + index + " / " + maxPersonToListNumber);
- addPersonToList(votingListNumber,
- index,
- maxPersonToListNumber,
- token
- );
- index += 1;
- }
- }
- });
-}
-
-function addPersonListToVotingList(votingListType, containerId, votingListNumber, cancelCallBack) {
-
// get first personToList available position
var firstNumber = getFirstEmptyPersonToList(containerId);
if (firstNumber == -1) {
@@ -363,23 +284,21 @@
data:{
votingListType:votingListType,
votingListNumber:votingListNumber,
- personListId:$('#personList').val(),
+ personListId:personListId,
startNumber:firstNumber
},
async:false,
dataType:"html",
success:function (data) {
- console.info("My fucking containerId : " + containerId);
var container = $("#" + containerId);
container.append(data);
- preparePersonToLists(votingListNumber, containerId);
+ preparePersonToLists(containerId, votingListNumber);
}
}
);
return cancelCallBack();
}
-
//----------------------------------------------------------------------------
//-- Choice methods
//----------------------------------------------------------------------------
1
0
Author: fdesbois
Date: 2012-04-11 16:23:26 +0200 (Wed, 11 Apr 2012)
New Revision: 3247
Url: http://chorem.org/repositories/revision/pollen/3247
Log:
- manage preventRules (problem with vote email and manage update case)
- manage voteStarted case that disabled some part of the poll form
Modified:
branches/pollen-1.2.6-struts2/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollImpl.java
branches/pollen-1.2.6-struts2/pollen-persistence/src/main/xmi/pollen.zargo
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java
branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/PollAccessRequired.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/PersonToList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/VotingList.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/resume.jsp
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js
Modified: branches/pollen-1.2.6-struts2/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollImpl.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollImpl.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollImpl.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -139,10 +139,13 @@
public boolean isAddChoiceFinished(Date currentDate) {
return !choiceAddAllowed || (endChoiceDate != null && endChoiceDate.after(currentDate));
}
-
+
+ @Override
public PreventRule getPreventRuleByScope(String scope) {
Preconditions.checkNotNull(scope);
+
for (PreventRule value : getPreventRule()) {
+
if (scope.equals(value.getScope())) {
return value;
}
@@ -150,4 +153,46 @@
return null;
}
+ @Override
+ public PersonToList getPersonToListByVote(Vote vote) {
+ Preconditions.checkNotNull(vote);
+
+ PersonToList result;
+ for (VotingList votingList : getVotingList()) {
+
+ result = votingList.getPollAccountPersonToList(vote.getPollAccount());
+
+ if (result != null) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public List<PollAccount> getPollAccounts(boolean withNoVote) {
+
+ List<PollAccount> result = Lists.newLinkedList();
+
+ for (VotingList votingList : getVotingList()) {
+
+ for (PersonToList personToList :
+ votingList.getPollAccountPersonToList()) {
+
+ // ignore those with existing vote
+ if (withNoVote && personToList.isHasVoted()) {
+ continue;
+ }
+
+ result.add(personToList.getPollAccount());
+//
+// if (!withNoVote || !personToList.isHasVoted()) {
+//
+// result.add(personToList.getPollAccount());
+// }
+ }
+ }
+ return result;
+ }
+
} //PollImpl
Modified: branches/pollen-1.2.6-struts2/pollen-persistence/src/main/xmi/pollen.zargo
===================================================================
(Binary files differ)
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/EmailService.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -33,11 +33,9 @@
import org.apache.commons.mail.SimpleEmail;
import org.chorem.pollen.PollenConfiguration;
import org.chorem.pollen.PollenTechnicalException;
-import org.chorem.pollen.business.persistence.PersonToList;
import org.chorem.pollen.business.persistence.Poll;
import org.chorem.pollen.business.persistence.PollAccount;
import org.chorem.pollen.business.persistence.UserAccount;
-import org.chorem.pollen.business.persistence.VotingList;
import org.chorem.pollen.common.PollType;
import org.chorem.pollen.services.PollenServiceSupport;
import org.nuiton.util.StringUtil;
@@ -88,10 +86,12 @@
if (StringUtils.isNotEmpty(poll.getCreator().getEmail())) {
- String subject = l_(locale, "pollen.email.creatorEmail.subject",
+ int nbVotes = poll.sizeVote();
+
+ String subject = l_(locale, "pollen.email.voteEmail.subject",
pollTitle);
- String content = l_(locale, "pollen.email.creatorEmail.content",
- pollTitle, voteURL, modifURL);
+ String content = l_(locale, "pollen.email.voteEmail.content",
+ pollTitle, nbVotes, voteURL, modifURL);
PollEmail pollEmail = createPollEmail(
poll.getCreator().getEmail(), subject, content);
@@ -131,8 +131,7 @@
}
// Mails à tous les votants
- List<PollAccount> votingPollAccounts =
- getVotingPollAccounts(poll, false);
+ List<PollAccount> votingPollAccounts = poll.getPollAccounts(false);
if (CollectionUtils.isNotEmpty(votingPollAccounts)) {
String subject = l_(locale, "pollen.email.votingEmail.subject",
@@ -170,7 +169,7 @@
String pollTitle = poll.getTitle();
// Mails aux votants qui n'ont toujours pas voté
- List<PollAccount> votingPollAccounts = getVotingPollAccounts(poll, true);
+ List<PollAccount> votingPollAccounts = poll.getPollAccounts(true);
if (CollectionUtils.isNotEmpty(votingPollAccounts)) {
String subject = l_(locale, "pollen.email.reminderEmail.subject",
@@ -195,34 +194,6 @@
}
}
- //TODO Move this to Poll
- protected List<PollAccount> getVotingPollAccounts(Poll poll,
- boolean keepOnlyIfNotHasVoted) {
- List<PollAccount> result = Lists.newLinkedList();
-
- if (!poll.isVotingListEmpty()) {
-
- for (VotingList votingList : poll.getVotingList()) {
-
- if (!votingList.isPollAccountPersonToListEmpty()) {
-
- for (PersonToList personToList :
- votingList.getPollAccountPersonToList()) {
-
- if (!keepOnlyIfNotHasVoted || !personToList.isHasVoted()) {
-
- PollAccount account = personToList.getPollAccount();
- result.add(account);
- }
-
-
- }
- }
- }
- }
- return result;
- }
-
protected void sendEmail(Iterable<PollEmail> pollEmails) {
//TODO tchemit If two much mails then use SendEmail thread...
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollService.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -228,6 +228,9 @@
preventRuleLoaded, preventRuleEditable, !clone);
result.addPreventRule(preventRuleEditable);
}
+
+ // Load votes to have the correct size used to check if vote is started
+ result.setVote(source.getVote());
return result;
}
@@ -352,7 +355,16 @@
public String getPollVoteUrl(Poll poll) {
URL applicationUrl = serviceContext.getApplicationURL();
StringBuilder url = new StringBuilder(applicationUrl.toString());
- url.append("/poll/votefor/").append(poll.getPollId());
+ url.append("/poll/votefor/");
+
+ if (PollType.FREE == poll.getPollType()) {
+ url.append(poll.getPollId());
+
+ } else {
+ // Restricted poll is secure, the creator could access to it when
+ // using the adminId
+ url.append(poll.getAdminId());
+ }
return url.toString();
}
@@ -865,8 +877,21 @@
Vote voteToAdd = getEntityById(Vote.class, voteId);
pollToUpdate.addVote(voteToAdd);
+
+ // Update hasVoted flag for RESTRICTED/GROUP poll
+ if (PollType.FREE != poll.getPollType()) {
+ PersonToList personToList = pollToUpdate.getPersonToListByVote(voteToAdd);
+ personToList.setHasVoted(true);
+ }
+
commitTransaction("Can't add the vote [" + voteId + "] to the poll [" + pollId + "]");
+
+ // Send notification if necessary
+ PreventRuleService preventRuleService = newService(PreventRuleService.class);
+ String pollVoteUrl = getPollVoteUrl(pollToUpdate);
+ String modifUrl = getPollEditUrl(pollToUpdate);
+ preventRuleService.onVoteAdded(poll, pollVoteUrl, modifUrl);
}
public PersonToList getNewPersonToList(PollAccount pollAccount) {
@@ -943,19 +968,19 @@
PreventRuleDAO preventRuleDAO = getDAO(PreventRule.class);
- PreventRule preventRuleLoaded;
- if (preventRule.getTopiaId() == null) {
+ // For the moment only one rule by scope
+ PreventRule preventRuleLoaded = poll.getPreventRuleByScope(preventRule.getScope());
+
+ if (preventRuleLoaded == null) {
preventRuleLoaded = create(preventRuleDAO);
poll.addPreventRule(preventRuleLoaded);
+ preventRuleLoaded.setScope(preventRule.getScope());
+ preventRuleLoaded.setActive(true);
+ }
- } else {
- preventRuleLoaded = poll.getPreventRuleByTopiaId(preventRule.getTopiaId());
- }
- preventRuleLoaded.setActive(preventRule.isActive());
preventRuleLoaded.setMethod(preventRule.getMethod());
preventRuleLoaded.setOneTime(preventRule.isOneTime());
preventRuleLoaded.setRepeated(preventRule.isRepeated());
- preventRuleLoaded.setScope(preventRule.getScope());
preventRuleLoaded.setSensibility(preventRule.getSensibility());
}
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/PreventRuleService.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -39,13 +39,17 @@
* @since 1.2.6
*/
public class PreventRuleService extends PollenServiceSupport {
+
+ public static final String SCOPE_VOTE = "vote";
+
+ public static final String SCOPE_REMINDER = "rappel";
/** Logger. */
private static final Log log = LogFactory.getLog(PreventRuleService.class);
public PreventRule createAddVotePreventRule() {
PreventRule rule = newInstance(getDAO(PreventRule.class));
- rule.setScope("vote");
+ rule.setScope(SCOPE_VOTE);
rule.setSensibility(1);
rule.setRepeated(true);
return rule;
@@ -53,7 +57,7 @@
public PreventRule createRemindPreventRule(int sensibility) {
PreventRule rule = newInstance(getDAO(PreventRule.class));
- rule.setScope("rappel");
+ rule.setScope(SCOPE_REMINDER);
rule.setSensibility(sensibility);
rule.setRepeated(false);
return rule;
@@ -110,7 +114,7 @@
// send to creator a email to say hey a new vote was added!
- if (execute("vote", preventRule, 1)) {
+ if (execute(SCOPE_VOTE, preventRule, 1)) {
// ok can execute this task
@@ -131,7 +135,7 @@
// send to all voting a email to say hey we need to vote
- if (execute("rappel", preventRule, timeValue)) {
+ if (execute(SCOPE_REMINDER, preventRule, timeValue)) {
// ok can execute this task
Modified: branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-services/src/main/java/org/chorem/pollen/services/impl/VoteService.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -315,12 +315,21 @@
delete(voteToChoiceDao, voteToChoice);
}
- // Delete vote PollAccount if the Poll is free and account is not the creator
- Poll poll = entityToDelete.getPoll();
- PollAccount voteAccount = entityToDelete.getPollAccount();
- if (PollType.FREE.equals(poll.getPollType()) && !voteAccount.equals(poll.getCreator())) {
- PollAccountDAO accountDAO = getDAO(PollAccount.class);
- delete(accountDAO, voteAccount);
+ Poll poll = entityToDelete.getPoll();
+
+ if (PollType.FREE == poll.getPollType()) {
+
+ // Delete vote PollAccount if the Poll is free and account is not the creator
+ PollAccount voteAccount = entityToDelete.getPollAccount();
+ if (!voteAccount.equals(poll.getCreator())) {
+ PollAccountDAO accountDAO = getDAO(PollAccount.class);
+ delete(accountDAO, voteAccount);
+ }
+
+ // Update pollAccount hasVoted flag
+ } else {
+ PersonToList personToList = poll.getPersonToListByVote(entityToDelete);
+ personToList.setHasVoted(false);
}
poll.removeVote(entityToDelete);
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractPollForm.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -228,6 +228,18 @@
public boolean isVoteStarted() {
return isEdit() && poll.sizeVote() > 0;
}
+
+// public boolean isPersonEditable(PersonToList personToList) {
+// boolean result;
+// // If vote is started, the person is editable if he hasn't vote yet
+// if (isVoteStarted()) {
+// result = !personToList.isHasVoted();
+//
+// } else {
+// result = true;
+// }
+// return result;
+// }
public boolean isCreatorUserAccountDefined() {
PollAccount creator = poll.getCreator();
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -286,7 +286,9 @@
votes = poll.getVote();
// Current vote
- vote = getVoteService().getVoteEditable(poll, pollAccount);
+ if (isVoteAllowed()) {
+ vote = getVoteService().getVoteEditable(poll, pollAccount);
+ }
loadPollResults();
loadPollComments();
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/LoadPoll.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -25,8 +25,10 @@
import org.chorem.pollen.bean.PollUri;
import org.chorem.pollen.business.persistence.Choice;
+import org.chorem.pollen.business.persistence.PreventRule;
import org.chorem.pollen.business.persistence.UserAccount;
import org.chorem.pollen.business.persistence.VotingList;
+import org.chorem.pollen.services.impl.PreventRuleService;
import java.util.List;
@@ -72,6 +74,27 @@
pollVotingLists,
!isVoteStarted());
+ if (poll.getMaxChoiceNb() > 0) {
+ setLimitChoice(true);
+ }
+
+ PreventRule reminder = poll.getPreventRuleByScope(
+ PreventRuleService.SCOPE_REMINDER);
+ if (reminder != null) {
+ setReminder(true);
+ setReminderHourCountdown(reminder.getSensibility());
+ }
+
+ PreventRule notification = poll.getPreventRuleByScope(
+ PreventRuleService.SCOPE_VOTE);
+ if (notification != null) {
+ setNotification(true);
+ }
+
+ if (isVoteStarted()) {
+ addActionMessage(_("pollen.information.poll.form.voteStarted"));
+ }
+
return SUCCESS;
}
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/SavePoll.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -49,7 +49,6 @@
import org.chorem.pollen.business.persistence.VotingListImpl;
import org.chorem.pollen.common.ChoiceType;
import org.chorem.pollen.common.PollType;
-import org.chorem.pollen.services.impl.PollService;
import org.chorem.pollen.services.impl.PreventRuleService;
import org.chorem.pollen.ui.actions.FileUploadAware;
import org.nuiton.util.StringUtil;
@@ -120,6 +119,20 @@
*/
private Map<Integer, VotingList> votingLists;
+ /**
+ * This message is used in {@code resume.jsp} to display text before vote
+ * page url. For a restricted poll, the message is different because the
+ * url contains the creator accountId.
+ *
+ * @return the message to display to explain vote page url depends on
+ * {@code pollType}.
+ */
+ public String getMessagePollVotePage() {
+ String result = isFreePoll() ? _("pollen.label.pollVotePage") :
+ _("pollen.label.pollVotePage.restricted");
+ return result;
+ }
+
@Override
public void prepare() throws Exception {
@@ -140,55 +153,67 @@
poll = getPollService().getPollEditable(pollUid, userAccount, false);
- // Retrieve choiceType from parameters, the poll object will be updated after prepare
- String choiceTypeParam = getNonEmptyParameterValue("poll.choiceType");
- ChoiceType pollChoiceType = ChoiceType.valueOf(choiceTypeParam);
- poll.setChoiceType(pollChoiceType);
-
- // build poll choices
-
- switch (pollChoiceType) {
-
- case TEXT:
- choices = buildTextChoices();
- break;
- case DATE:
- choices = buildDateChoices();
- break;
- case IMAGE:
- choices = buildImageChoices();
- break;
+ // If vote is started, prepare choices and votingLists is useless
+ // because they can't be updated.
+ if (!isVoteStarted()) {
+
+ // Retrieve choiceType from parameters, the poll object will be updated after prepare
+ String choiceTypeParam = getNonEmptyParameterValue("poll.choiceType");
+ ChoiceType pollChoiceType = ChoiceType.valueOf(choiceTypeParam);
+ poll.setChoiceType(pollChoiceType);
+
+ // build poll choices
+
+ switch (pollChoiceType) {
+
+ case TEXT:
+ choices = buildTextChoices();
+ break;
+ case DATE:
+ choices = buildDateChoices();
+ break;
+ case IMAGE:
+ choices = buildImageChoices();
+ break;
+ }
+
+ PollType pollType;
+ String pollTypeParam = getNonEmptyParameterValue("poll.pollType");
+ if (pollTypeParam == null) {
+ pollType = poll.getPollType();
+
+ } else {
+ pollType = PollType.valueOf(pollTypeParam);
+ }
+
+ switch (pollType) {
+
+ case FREE:
+
+ // empty voting list
+ votingLists = Maps.newTreeMap();
+ break;
+ case RESTRICTED:
+
+ // restricted voting list
+ votingLists = buildVotingLists(pollType);
+ break;
+ case GROUP:
+
+ // group voting lists
+ votingLists = buildVotingLists(pollType);
+ break;
+ }
}
-
- String pollTypeParam = getNonEmptyParameterValue("poll.pollType");
- PollType pollType = PollType.valueOf(pollTypeParam);
- poll.setPollType(pollType);
-
- switch (pollType) {
-
- case FREE:
-
- // empty voting list
- votingLists = Maps.newTreeMap();
- break;
- case RESTRICTED:
-
- // restricted voting list
- votingLists = buildVotingLists(pollType);
- break;
- case GROUP:
-
- // group voting lists
- votingLists = buildVotingLists(pollType);
- break;
- }
}
@Override
public String input() {
- Collection<Choice> pollChoices = choices.values();
- Collection<VotingList> pollVotingLists = votingLists.values();
+ Collection<Choice> pollChoices =
+ isVoteStarted() ? poll.getChoice() : choices.values();
+ Collection<VotingList> pollVotingLists =
+ isVoteStarted() ? poll.getVotingList() : votingLists.values();
loadChoicesAndvotingLists(poll,
pollChoices,
@@ -201,60 +226,10 @@
@Override
public void validate() {
- informationsError = false;
+ informationsError = validateInformations();
- // poll must have a title
- if (StringUtils.isEmpty(poll.getTitle())) {
- addFieldError("poll.title", _("pollen.error.poll.required.title"));
- }
+ optionsError = validateOptions();
- // validate choices
-
- if (MapUtils.isEmpty(choices)) {
-
- // poll must have at least one choice
- addFieldError("poll.choices",
- _("pollen.error.poll.required.one.choice"));
- } else {
-
- ChoiceType choiceType = poll.getChoiceType();
- int inputChoicesSize = choices.size();
- Set<Object> choiceValues =
- Sets.newHashSet(ChoiceHelper.toValues(choices.values(),
- choiceType));
-
- if (inputChoicesSize > choiceValues.size()) {
- addFieldError(
- "poll.choices",
- _("pollen.error.poll.detected.duplicate.choice.name"));
- }
- }
-
- optionsError = false;
-
- // validate security stuff
-
- if (isFreePoll()) {
-
- // nothing to validate
-
- } else {
-
- Set<String> groups = Sets.newHashSet();
- Set<String> voters = Sets.newHashSet();
- Set<String> emails = Sets.newHashSet();
-
- for (Map.Entry<Integer, VotingList> entry : votingLists.entrySet()) {
- optionsError |= validateVotingList(entry.getKey(),
- entry.getValue(),
- groups,
- voters,
- emails);
- }
- }
-
- informationsError = hasFieldErrors();
-
if (!informationsError && optionsError) {
// trick to force to go back to form
@@ -266,28 +241,31 @@
@InputConfig(methodName = "input")
public String execute() throws Exception {
- // Clear previous collections to save those from the form
- poll.clearChoice();
- poll.clearPreventRule();
- poll.clearVotingList();
+ // Save choices and votingLists only if vote is not started
+ if (!isVoteStarted()) {
- Map<Integer, Choice> orderedChoices = choices;
+ // Clear previous collections to save those from the form
+ poll.clearChoice();
+ poll.clearVotingList();
- for (Integer index : orderedChoices.keySet()) {
- Choice choice = orderedChoices.get(index);
- poll.addChoice(choice);
- }
+ Map<Integer, Choice> orderedChoices = choices;
- if (!isFreePoll()) {
+ for (Integer index : orderedChoices.keySet()) {
+ Choice choice = orderedChoices.get(index);
+ poll.addChoice(choice);
+ }
- for (Integer index : votingLists.keySet()) {
- VotingList votingList = votingLists.get(index);
- poll.addVotingList(votingList);
+ if (!isFreePoll()) {
+
+ for (Integer index : votingLists.keySet()) {
+ VotingList votingList = votingLists.get(index);
+ poll.addVotingList(votingList);
+ }
}
}
+
+ poll.clearPreventRule();
- PollService service = getPollService();
-
PreventRuleService preventRuleService =
newService(PreventRuleService.class);
if (isNotification()) {
@@ -310,11 +288,11 @@
}
if (isEdit()) {
- service.updatePoll(poll);
+ getPollService().updatePoll(poll);
addActionMessage(_("pollen.information.poll.updated"));
} else {
- service.createPoll(poll);
+ getPollService().createPoll(poll);
addActionMessage(_("pollen.information.poll.created"));
}
@@ -384,6 +362,82 @@
return result;
}
+ protected boolean validateInformations() {
+
+ // -- Title : required -- //
+ if (StringUtils.isBlank(poll.getTitle())) {
+ addFieldError("poll.title", _("pollen.error.poll.required.title"));
+ }
+
+ if (isVoteStarted()) {
+
+ // no validation on choices if vote is started
+
+ } else {
+
+ // -- Choice -- //
+
+ if (MapUtils.isEmpty(choices)) {
+
+ // poll must have at least one choice
+ addFieldError("poll.choices",
+ _("pollen.error.poll.required.one.choice"));
+ } else {
+
+ ChoiceType choiceType = poll.getChoiceType();
+ int inputChoicesSize = choices.size();
+ Set<Object> choiceValues =
+ Sets.newHashSet(ChoiceHelper.toValues(choices.values(),
+ choiceType));
+
+ if (inputChoicesSize > choiceValues.size()) {
+ addFieldError(
+ "poll.choices",
+ _("pollen.error.poll.detected.duplicate.choice.name"));
+ }
+ }
+ }
+
+ boolean result = hasFieldErrors();
+
+ return result;
+ }
+
+ protected boolean validateOptions() {
+
+ boolean result = false;
+
+ if (isVoteStarted()) {
+
+ // no validation on votingLists if vote is started
+
+ } else {
+
+ // -- VotingList -- //
+
+ if (isFreePoll()) {
+
+ // nothing to validate
+
+ } else {
+
+ Set<String> groups = Sets.newHashSet();
+ Set<String> voters = Sets.newHashSet();
+ Set<String> emails = Sets.newHashSet();
+
+ for (Map.Entry<Integer, VotingList> entry : votingLists.entrySet()) {
+ result |= validateVotingList(entry.getKey(),
+ entry.getValue(),
+ groups,
+ voters,
+ emails);
+ }
+ }
+ }
+
+ return result;
+ }
+
protected boolean validateVotingList(int votingListNumber,
VotingList votingList,
Set<String> groups,
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -33,6 +33,7 @@
import org.chorem.pollen.business.persistence.PollAccount;
import org.chorem.pollen.business.persistence.Vote;
import org.chorem.pollen.business.persistence.VoteToChoice;
+import org.chorem.pollen.common.PollType;
/**
* Votes to a poll.
@@ -83,6 +84,7 @@
for (VoteToChoice voteToChoice : vote.getChoiceVoteToChoice()) {
Integer value = voteToChoice.getVoteValue();
+ // XXX-fdesbois-2012-04-11 : for a VoteCountingType#NUMBER the difference between 0 and null value could be important
if (value != null && value != 0) {
nbVotes++;
totalValues += value;
@@ -121,8 +123,8 @@
clearMessages();
- // Display updateUrl if user is not logged
- if (!isUserLoggued()) {
+ // For free Poll, display the update Url (useless if user is logged)
+ if (PollType.FREE == getPoll().getPollType() && !isUserLoggued()) {
String pollId = getPoll().getPollId();
String accountId = getPollAccount().getAccountId();
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/PollAccessRequired.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/PollAccessRequired.java 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/security/PollAccessRequired.java 2012-04-11 14:23:26 UTC (rev 3247)
@@ -41,8 +41,11 @@
protected final AdminUserRequired adminFilter;
+ protected final PollCreatorRequired pollCreatorFilter;
+
public PollAccessRequired() {
adminFilter = new AdminUserRequired();
+ pollCreatorFilter = new PollCreatorRequired();
}
@Override
@@ -57,6 +60,11 @@
// user is connected ans admin, so
isAccessAllowed = true;
+ } else if (pollCreatorFilter.isAccessAllowed(request, response, mappedValue)) {
+
+ // user is connected ans admin, so
+ isAccessAllowed = true;
+
} else {
PollUri pollUri = getPollUri(request);
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-11 14:23:26 UTC (rev 3247)
@@ -191,6 +191,7 @@
pollen.information.irreversible.operation=Be ware, this operation is irreversible.
pollen.information.need.login=You must be logged to access this page. Please fill the form below.
pollen.information.poll.created=Poll created
+pollen.information.poll.form.voteStarted=Votes are started, some options can't be updated.
pollen.information.poll.updated=Poll modified
pollen.information.pollAccount.addedTofavoriteList=Member '%s was added to favorite list.
pollen.information.pollAccount.removedFromFavoriteList=Member %s was removed from favorite list.
@@ -209,6 +210,7 @@
pollen.label.pollEditPage=The link below leads to the page to modify your poll. Save it to be able to modify your poll later if you need it or to close it \:
pollen.label.pollRegisterPage=If you are a logged user, you can find these links on the page
pollen.label.pollVotePage=The link below leads to the page to vote for your poll. Save it and send it to the people that you want to vote \:
+pollen.label.pollVotePage.restricted=
pollen.legend.login=Login
pollen.legend.select.favoriteList.to.add=Sélectionner la liste de favoris à ajouter
pollen.legend.select.personList.to.create.votingList=Sélectionner la liste des votant à importer dans le nouveau groupe
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-11 14:23:26 UTC (rev 3247)
@@ -199,6 +199,7 @@
pollen.information.irreversible.operation=Attention, Cette opération est irréversible.
pollen.information.need.login=Vous devez être identifié pour pouvoir accéder à cette page. Veuillez remplir le formulaire ci-dessous.
pollen.information.poll.created=Sondage créé
+pollen.information.poll.form.voteStarted=Les votes ont commencé, certaines options ne sont pas modifiables.
pollen.information.poll.updated=Sondage mise à jour
pollen.information.pollAccount.addedTofavoriteList=Le membre %s a été ajoutée à la liste des favoris.
pollen.information.pollAccount.removedFromFavoriteList=Le membre %s a été supprimé de la liste des favoris.
@@ -217,6 +218,7 @@
pollen.label.pollEditPage=Le lien ci-dessous mène à la page de modification du sondage. Enregistrez-le pour pouvoir modifier votre sondage au besoin ou le clore \:
pollen.label.pollRegisterPage=Si vous êtes un utilisateur identifié, vous pouvez retrouver ces liens dans la page
pollen.label.pollVotePage=Le lien ci-dessous mène à la page de vote. Enregistrez-le et envoyez-le à ceux que vous voulez voir voter \:
+pollen.label.pollVotePage.restricted=Le lien ci-dessous mène à la page de vote. Cet accès n'est valable que pour vous en tant que créateur du sondage \:
pollen.legend.login=Login
pollen.legend.select.favoriteList.to.add=Sélectionner la liste de favoris à ajouter
pollen.legend.select.personList.to.create.votingList=Sélectionner la liste des votant à importer dans le nouveau groupe
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/PersonToList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/PersonToList.jsp 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/PersonToList.jsp 2012-04-11 14:23:26 UTC (rev 3247)
@@ -40,24 +40,29 @@
value=''/>
<s:textfield cssClass="nameField" id='%{#personPrefix}.votingId'
key="%{#personPrefix}.votingId" label='' theme="simple"
- value="%{#personToList.pollAccount.votingId}"/>
+ value="%{#personToList.pollAccount.votingId}"
+ disabled="%{voteStarted}"/>
-
<s:label for="%{#personPrefix}.email" key="pollen.common.email" theme="simple"/>
<s:textfield cols="30" id="%{#personPrefix}.email" key="%{#personPrefix}.email"
label='' theme="simple" size="30"
- value="%{#personToList.pollAccount.email}"/>
+ value="%{#personToList.pollAccount.email}"
+ disabled="%{voteStarted}"/>
-
<s:label for="%{#personPrefix}.weight" key="pollen.common.weight" theme="simple"/>
<s:textfield id="%{#personPrefix}.weight" key="%{#personPrefix}.weight" size="1"
- label='' theme="simple" value="%{#personToList.weight}"/>
+ label='' theme="simple" value="%{#personToList.weight}"
+ disabled="%{voteStarted}"/>
</div>
- <div class="fright">
- <s:a href='#' onclick="return deletePersonToList('%{#personPrefix}')">
- <image alt='<s:property value="%{#deletePersonTitle}"/>'
- title='<s:property value="%{#deletePersonTitle}"/>'
- src="<s:url value='/img/delete.png'/>"></image>
- </s:a>
- </div>
+ <s:if test="!voteStarted">
+ <div class="fright">
+ <s:a href='#' onclick="return deletePersonToList('%{#personPrefix}')">
+ <image alt='<s:property value="%{#deletePersonTitle}"/>'
+ title='<s:property value="%{#deletePersonTitle}"/>'
+ src="<s:url value='/img/delete.png'/>"></image>
+ </s:a>
+ </div>
+ </s:if>
<div class="cleanBoth"></div>
</s:div>
\ No newline at end of file
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/VotingList.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/VotingList.jsp 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/VotingList.jsp 2012-04-11 14:23:26 UTC (rev 3247)
@@ -125,12 +125,14 @@
<s:submit id='%{#prefix}_addPersonToList'
name='%{#prefix}_addPersonToList'
key="pollen.action.addPersonToList" theme="simple"
- onclick='return addNewPersonToList("%{votingListType}","%{#prefix}PersonToList","%{votingListNumber}");'/>
+ onclick='return addNewPersonToList("%{votingListType}","%{#prefix}PersonToList","%{votingListNumber}");'
+ disabled="%{voteStarted}"/>
<s:if test="userLoggued">
<s:submit id='%{#prefix}_addPersonToList' theme="simple"
name='%{#prefix}_addPersonToList'
key="pollen.action.addPersonListFromVotingList"
- onclick='return selectPersonListToAddToVotingList("%{votingListNumber}");'/>
+ onclick='return selectPersonListToAddToVotingList("%{votingListNumber}");'
+ disabled="%{voteStarted}"/>
</s:if>
</div>
</fieldset>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/create.jsp 2012-04-11 14:23:26 UTC (rev 3247)
@@ -47,6 +47,9 @@
selectPersonListToAddToVotingListUrl:'<s:url action="selectPersonListToAddToVotingList" namespace="/poll"/>',
selectPersonListToCreateNewVotingListUrl:'<s:url action="selectPersonListToCreateNewVotingList" namespace="/poll"/>',
+ choiceAddAllowed:'<s:property value="%{poll.choiceAddAllowed}"/>',
+ limitChoice:'<s:property value="%{limitChoice}"/>',
+ reminder:'<s:property value="%{reminder}"/>',
voteCountingType:'<s:property value="%{poll.voteCountingType.name()}"/>',
choiceType:'<s:property value="%{poll.choiceType.name()}"/>',
pollType:'<s:property value="%{poll.pollType.name()}"/>'
@@ -134,17 +137,20 @@
<div id='addChoiceAddAllowedPanel' class="hidden">
<sj:datepicker key="poll.beginChoiceDate"
label="%{getText('pollen.common.beginChoiceDate')}"
- displayFormat="dd/mm/yy"/>
+ displayFormat="dd/mm/yy" timepicker="true"
+ disabled="%{voteStarted}"/>
<sj:datepicker key="poll.endChoiceDate"
label="%{getText('pollen.common.endChoiceDate')}"
- displayFormat="dd/mm/yy"/>
+ displayFormat="dd/mm/yy" timepicker="true"
+ disabled="%{voteStarted}"/>
</div>
<s:checkbox key="limitChoice"
label="%{getText('pollen.common.pollOption.limitChoice')}"
disabled="%{voteStarted}"/>
<div id='maxChoiceNbPanel' class="hidden">
<s:textfield key="poll.maxChoiceNb"
- label="%{getText('pollen.common.pollOption.maxChoiceNb')}"/>
+ label="%{getText('pollen.common.pollOption.maxChoiceNb')}"
+ disabled="%{voteStarted}"/>
</div>
<s:checkbox key="notification"
label="%{getText('pollen.common.pollOption.notification')}"/>
@@ -162,8 +168,10 @@
<sj:datepicker key="poll.beginDate" displayFormat="dd/mm/yy"
label="%{getText('pollen.common.beginDate')}"
+ timepicker="true"
disabled="%{voteStarted}"/>
<sj:datepicker key="poll.endDate" displayFormat="dd/mm/yy"
+ timepicker="true"
label="%{getText('pollen.common.endDate')}"/>
</fieldset>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/createPoll_choices.jsp 2012-04-11 14:23:26 UTC (rev 3247)
@@ -45,35 +45,39 @@
<s:label for="%{#prefix}.name" id="choicesTEXT_label_%{#choiceNumber}"
theme="simple" value=''/>
<s:textfield cssClass="nameField" id='%{#prefix}.name' key="%{#prefix}.name"
- label='' theme="simple" value="%{#choice.name}"/>
+ label='' theme="simple" value="%{#choice.name}"
+ disabled="%{voteStarted}"/>
-
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
<%--/div>
<div class="fleft"--%>
<s:textarea cols="30" id="%{#prefix}.description" label='' theme="simple"
- key="%{#prefix}.description" value="%{#choice.description}"/>
+ key="%{#prefix}.description" value="%{#choice.description}"
+ disabled="%{voteStarted}"/>
</div>
- <div class="fright">
- <s:a href='#' onclick="return deleteChoice('choicesTEXT_%{#choiceNumber}')">
- <image alt='<s:property value="deleteTitle"/>'
- title='<s:property value="deleteTitle"/>'
- src="<s:url value='/img/delete.png'/>"></image>
- </s:a>
- <%--s:a id='choicesTEXT_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
+ <s:if test="!voteStarted">
+ <div class="fright">
+ <s:a href='#' onclick="return deleteChoice('choicesTEXT_%{#choiceNumber}')">
+ <image alt='<s:property value="deleteTitle"/>'
+ title='<s:property value="deleteTitle"/>'
+ src="<s:url value='/img/delete.png'/>"></image>
</s:a>
- <s:a id='choicesTEXT_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesTEXT_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
- </div>
+ <%--s:a id='choicesTEXT_down_%{choiceNumber}'
+ cssClass="hidden" href='#'
+ onclick="return downChoice('choicesTEXT_%{choiceNumber}')">
+ <image alt='<s:property value="downTitle"/>'
+ title='<s:property value="downTitle"/>'
+ src="<s:url value='/img/1downarrow.png'/>"></image>
+ </s:a>
+ <s:a id='choicesTEXT_up_%{choiceNumber}' href='#' cssClass="hidden"
+ onclick="return upChoice('choicesTEXT_%{choiceNumber}')">
+ <image alt='<s:property value="upTitle"/>'
+ title='<s:property value="upTitle"/>'
+ src="<s:url value='/img/1uparrow.png'/>"></image>
+ </s:a--%>
+ </div>
+ </s:if>
<div class="cleanBoth"></div>
</div>
</s:iterator>
@@ -90,7 +94,8 @@
theme="simple" value=''/>
<sj:datepicker id='%{#prefix}.name' key="%{#prefix}.name" changeMonth="true"
changeYear="true" labelSeparator="" theme="simple" label=""
- timepicker="true" value="%{choice.date}" displayFormat="dd/mm/yy"/>
+ timepicker="true" value="%{choice.date}" displayFormat="dd/mm/yy"
+ disabled="%{voteStarted}"/>
-
<s:label for="%{#prefix}.description" key="pollen.common.description"
theme="simple"/>
@@ -98,28 +103,31 @@
<div class="fleft">
<s:textarea cols="30" id="%{#prefix}.description"
key="%{#prefix}.description" label='' theme="simple"
- value="%{choice.description}"/>
+ value="%{choice.description}"
+ disabled="%{voteStarted}"/>
</div>
- <div class="fright">
- <s:a href='#' onclick="return deleteChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="deleteTitle"/>'
- title='<s:property value="deleteTitle"/>'
- src="<s:url value='/img/delete.png'/>"></image>
- </s:a>
- <%--s:a id='choicesDATE_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
+ <s:if test="!voteStarted">
+ <div class="fright">
+ <s:a href='#' onclick="return deleteChoice('choicesDATE_%{choiceNumber}')">
+ <image alt='<s:property value="deleteTitle"/>'
+ title='<s:property value="deleteTitle"/>'
+ src="<s:url value='/img/delete.png'/>"></image>
</s:a>
- <s:a id='choicesDATE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesDATE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
- </div>
+ <%--s:a id='choicesDATE_down_%{choiceNumber}'
+ cssClass="hidden" href='#'
+ onclick="return downChoice('choicesDATE_%{choiceNumber}')">
+ <image alt='<s:property value="downTitle"/>'
+ title='<s:property value="downTitle"/>'
+ src="<s:url value='/img/1downarrow.png'/>"></image>
+ </s:a>
+ <s:a id='choicesDATE_up_%{choiceNumber}' href='#' cssClass="hidden"
+ onclick="return upChoice('choicesDATE_%{choiceNumber}')">
+ <image alt='<s:property value="upTitle"/>'
+ title='<s:property value="upTitle"/>'
+ src="<s:url value='/img/1uparrow.png'/>"></image>
+ </s:a--%>
+ </div>
+ </s:if>
<div class="cleanBoth"></div>
</div>
</s:iterator>
@@ -147,7 +155,8 @@
</s:if>
<s:else>
<%--New image--%>
- <s:file key='%{#prefix2}' label='' theme="simple" cssClass="nameField"/>
+ <s:file key='%{#prefix2}' label='' theme="simple" cssClass="nameField"
+ disabled="%{voteStarted}"/>
</s:else>
-
<s:label for="%{#prefix}.description" key="pollen.common.description"
@@ -155,28 +164,31 @@
</div>
<div class="fleft">
<s:textarea cols="30" id="%{#prefix}.description" label='' theme="simple"
- key="%{#prefix}.description" value="%{choice.description}"/>
+ key="%{#prefix}.description" value="%{choice.description}"
+ disabled="%{voteStarted}"/>
</div>
- <div class="fright">
- <s:a href='#' onclick="return deleteChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="deleteTitle"/>'
- title='<s:property value="deleteTitle"/>'
- src="<s:url value='/img/delete.png'/>"></image>
- </s:a>
- <%--s:a id='choicesIMAGE_down_%{choiceNumber}'
- cssClass="hidden" href='#'
- onclick="return downChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="downTitle"/>'
- title='<s:property value="downTitle"/>'
- src="<s:url value='/img/1downarrow.png'/>"></image>
+ <s:if test="!voteStarted">
+ <div class="fright">
+ <s:a href='#' onclick="return deleteChoice('choicesIMAGE_%{choiceNumber}')">
+ <image alt='<s:property value="deleteTitle"/>'
+ title='<s:property value="deleteTitle"/>'
+ src="<s:url value='/img/delete.png'/>"></image>
</s:a>
- <s:a id='choicesIMAGE_up_%{choiceNumber}' href='#' cssClass="hidden"
- onclick="return upChoice('choicesIMAGE_%{choiceNumber}')">
- <image alt='<s:property value="upTitle"/>'
- title='<s:property value="upTitle"/>'
- src="<s:url value='/img/1uparrow.png'/>"></image>
- </s:a--%>
- </div>
+ <%--s:a id='choicesIMAGE_down_%{choiceNumber}'
+ cssClass="hidden" href='#'
+ onclick="return downChoice('choicesIMAGE_%{choiceNumber}')">
+ <image alt='<s:property value="downTitle"/>'
+ title='<s:property value="downTitle"/>'
+ src="<s:url value='/img/1downarrow.png'/>"></image>
+ </s:a>
+ <s:a id='choicesIMAGE_up_%{choiceNumber}' href='#' cssClass="hidden"
+ onclick="return upChoice('choicesIMAGE_%{choiceNumber}')">
+ <image alt='<s:property value="upTitle"/>'
+ title='<s:property value="upTitle"/>'
+ src="<s:url value='/img/1uparrow.png'/>"></image>
+ </s:a--%>
+ </div>
+ </s:if>
<div class="cleanBoth"></div>
</div>
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/resume.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/resume.jsp 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/resume.jsp 2012-04-11 14:23:26 UTC (rev 3247)
@@ -32,7 +32,7 @@
<img src="<s:url value='/img/vote.png'/>"
alt="<s:text name='pollen.common.voteAction'/>"
style="margin-right: 18px;"/>
- <s:text name='pollen.label.pollVotePage'/>
+ <s:property value="%{messagePollVotePage}"/>
<br/>
<s:set name="voteUrl" value="%{pollVoteUrl}"/>
<s:a href="%{voteUrl}" cssStyle="margin-left:50px;">
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-11 14:23:09 UTC (rev 3246)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/js/createPoll.js 2012-04-11 14:23:26 UTC (rev 3247)
@@ -508,6 +508,30 @@
jQuery(document).ready(function () {
+ function changeChoiceAddAllowed(val) {
+ if (val) {
+ $('#addChoiceAddAllowedPanel').show();
+ } else {
+ $('#addChoiceAddAllowedPanel').hide();
+ }
+ }
+
+ function changeLimitChoice(val) {
+ if (val) {
+ $('#maxChoiceNbPanel').show();
+ } else {
+ $('#maxChoiceNbPanel').hide();
+ }
+ }
+
+ function changeReminder(val) {
+ if (val) {
+ $('#reminderPanel').show();
+ } else {
+ $('#reminderPanel').hide();
+ }
+ }
+
function changePollType(type) {
$('.pollType').addClass('hidden');
@@ -528,31 +552,16 @@
$('[name="poll.choiceType"][value="' + type + '"]').attr('checked', 'checked');
}
- $('[name="poll.choiceAddAllowed"]').change(function () {
- var val = $(this).prop('checked');
- if (val) {
- $('#addChoiceAddAllowedPanel').show();
- } else {
- $('#addChoiceAddAllowedPanel').hide();
- }
+ $('[name="poll.choiceAddAllowed"]').change(function() {
+ changeChoiceAddAllowed($(this).prop('checked'));
});
$('[name="limitChoice"]').change(function () {
- var val = $(this).prop('checked');
- if (val) {
- $('#maxChoiceNbPanel').show();
- } else {
- $('#maxChoiceNbPanel').hide();
- }
+ changeLimitChoice($(this).prop('checked'));
});
$('[name="reminder"]').change(function () {
- var val = $(this).prop('checked');
- if (val) {
- $('#reminderPanel').show();
- } else {
- $('#reminderPanel').hide();
- }
+ changeReminder($(this).prop('checked'));
});
$('[name="poll.anonymous"]').change(function () {
@@ -583,9 +592,11 @@
prepareVotingLists('votingListRESTRICTED');
prepareVotingLists('votingListGROUP');
+ changeChoiceAddAllowed(datas['choiceAddAllowed'] == 'true');
+ changeLimitChoice(datas['limitChoice'] == 'true');
+ changeReminder(datas['reminder'] == 'true');
+
changeChoiceType(datas['choiceType']);
-
changePollType(datas['pollType']);
-
});
\ No newline at end of file
1
0
r3246 - in branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main: java/org/chorem/pollen/ui/actions java/org/chorem/pollen/ui/actions/poll resources/i18n webapp/WEB-INF/jsp/poll
by fdesbois@users.chorem.org 11 Apr '12
by fdesbois@users.chorem.org 11 Apr '12
11 Apr '12
Author: fdesbois
Date: 2012-04-11 16:23:09 +0200 (Wed, 11 Apr 2012)
New Revision: 3246
Url: http://chorem.org/repositories/revision/pollen/3246
Log:
clean some messages and translations
Modified:
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/PollenActionSupport.java 2012-04-11 14:23:09 UTC (rev 3246)
@@ -288,4 +288,20 @@
List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS);
return CollectionUtils.isNotEmpty(result);
}
+
+ @Override
+ public void clearMessages() {
+ List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_MESSAGES);
+ if (result != null) {
+ result.clear();
+ }
+ }
+
+ @Override
+ public void clearActionErrors() {
+ List<String> result = getPollenSession().getDynamicData(PollenSession.SESSION_TOKEN_ERRORS);
+ if (result != null) {
+ result.clear();
+ }
+ }
}
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/AbstractVoteAction.java 2012-04-11 14:23:09 UTC (rev 3246)
@@ -201,7 +201,7 @@
}
public String getVoteSizeMessage() {
- return voteSizeMessage;
+ return _("pollen.common.voteNbVotes", getPoll().sizeVote());
}
public boolean isDescNull(Choice choice) {
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/VoteForPoll.java 2012-04-11 14:23:09 UTC (rev 3246)
@@ -119,6 +119,8 @@
getPollService().addVoteToPoll(getPoll(), voteCreated);
}
+ clearMessages();
+
// Display updateUrl if user is not logged
if (!isUserLoggued()) {
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-04-11 14:23:09 UTC (rev 3246)
@@ -202,8 +202,8 @@
pollen.information.user.created=User %s created.
pollen.information.user.deleted=User %s deleted.
pollen.information.user.updated=User %s updated.
-pollen.information.vote.created=
-pollen.information.vote.createdWithUpdateUrl=
+pollen.information.vote.created=Vote saved
+pollen.information.vote.createdWithUpdateUrl=Vote saved, you can modify it using this address \: <br/> <a href\="%1$s">%1$s</a>
pollen.information.your.are.loggued=You are logged.
pollen.label.contact.administrator=Send an email to an administrator
pollen.label.pollEditPage=The link below leads to the page to modify your poll. Save it to be able to modify your poll later if you need it or to close it \:
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-04-11 14:23:09 UTC (rev 3246)
@@ -211,7 +211,7 @@
pollen.information.user.deleted=L'utilisateur %s a été supprimé.
pollen.information.user.updated=L'utilisateur %s a été mis à jour.
pollen.information.vote.created=Vote enregistré
-pollen.information.vote.createdWithUpdateUrl=Vote enregistré, vous pourrez le modifier à l'adresse suivante <a href\="%1$s">%1$s</a>
+pollen.information.vote.createdWithUpdateUrl=Vote enregistré, vous pourrez le modifier à l'adresse suivante \: <br/> <a href\="%1$s">%1$s</a>
pollen.information.your.are.loggued=Vous êtes connecté.
pollen.label.contact.administrator=Contacter un administrateur
pollen.label.pollEditPage=Le lien ci-dessous mène à la page de modification du sondage. Enregistrez-le pour pouvoir modifier votre sondage au besoin ou le clore \:
Modified: branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp
===================================================================
--- branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-04-11 14:23:02 UTC (rev 3245)
+++ branches/pollen-1.2.6-struts2/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/vote.jsp 2012-04-11 14:23:09 UTC (rev 3246)
@@ -153,12 +153,10 @@
<%--<t:feedback t:id="voteFeedback"/>--%>
</s:if>
<s:else>
- <%--TODO Do me!--%>
<div class="p-pager">
- <s:text name="pollen.common.voteNbVotes">
- <s:param><s:property value="%{poll.sizeVote()}"/></s:param>
- </s:text>
+ <s:property value="%{voteSizeMessage}"/>
</div>
+ <%--TODO Do me pager !--%>
<%--<t:pager t:nbRowsPerPage="nbVotesPerPage" t:nbTotalRows="poll.nbVotes"--%>
<%--t:currentPage="page" t:noPagerText="prop:noPagerText"/>--%>
</s:else>
1
0