diff --git a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
index ac9d6a2..1166831 100644
--- a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
+++ b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
@@ -49,3 +49,11 @@ conference.otherInformations=Complementary information
conference.linkMenu.title=Adding Conference
conference.linkMenu.choose=Choosing current conference
conference.linkMenu.change=Change current conference
+
+conference2.title=Calendar
+conference2.date=Conference's date
+conference2.start=Start :
+conference2.end=End :
+conference2.abstract=Abstract's deadline
+conference2.article=Article's deadline
+conference2.evaluation=Evaluation's deadline
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/addConference.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/addConference.jsp
index eaa30b7..5a68293 100644
--- a/YACOSWeb/WebContent/WEB-INF/jsp/addConference.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/addConference.jsp
@@ -6,16 +6,7 @@
-
-
-
+
@@ -32,16 +23,12 @@ form.submit();
-
-
-
-
-
- Next
+
+
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/addConference2.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/addConference2.jsp
index 3ece4cd..b0b42b3 100644
--- a/YACOSWeb/WebContent/WEB-INF/jsp/addConference2.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/addConference2.jsp
@@ -6,29 +6,13 @@
-
-
-
+
+
-
-
+
+
+
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/addConference3.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/addConference3.jsp
index 871c36c..325d61b 100644
--- a/YACOSWeb/WebContent/WEB-INF/jsp/addConference3.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/addConference3.jsp
@@ -1,12 +1,41 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
+<%@ include file="/WEB-INF/jsp/include.jsp"%>
+<%@ page session="false"%>
+
-
-Insert title here
+
+
+
+
-Haha conf 3
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/addConference4.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/addConference4.jsp
new file mode 100644
index 0000000..dcfeef4
--- /dev/null
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/addConference4.jsp
@@ -0,0 +1,39 @@
+<%@ include file="/WEB-INF/jsp/include.jsp"%>
+<%@ page session="false"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/addConference5.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/addConference5.jsp
new file mode 100644
index 0000000..7e7a635
--- /dev/null
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/addConference5.jsp
@@ -0,0 +1,39 @@
+<%@ include file="/WEB-INF/jsp/include.jsp"%>
+<%@ page session="false"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YACOSWeb/WebContent/stylesheets/arrowleftmonth.gif b/YACOSWeb/WebContent/stylesheets/arrowleftmonth.gif
new file mode 100644
index 0000000..313b627
Binary files /dev/null and b/YACOSWeb/WebContent/stylesheets/arrowleftmonth.gif differ
diff --git a/YACOSWeb/WebContent/stylesheets/arrowrightmonth.gif b/YACOSWeb/WebContent/stylesheets/arrowrightmonth.gif
new file mode 100644
index 0000000..0ad2aa1
Binary files /dev/null and b/YACOSWeb/WebContent/stylesheets/arrowrightmonth.gif differ
diff --git a/YACOSWeb/WebContent/stylesheets/calendar.js b/YACOSWeb/WebContent/stylesheets/calendar.js
new file mode 100644
index 0000000..8d00fdd
--- /dev/null
+++ b/YACOSWeb/WebContent/stylesheets/calendar.js
@@ -0,0 +1,248 @@
+/* --- Swazz Javascript Calendar ---
+/* --- v 1.0 3rd November 2006
+By Oliver Bryant
+http://calendar.swazz.org */
+
+function getObj(objID)
+{
+ if (document.getElementById) {return document.getElementById(objID);}
+ else if (document.all) {return document.all[objID];}
+ else if (document.layers) {return document.layers[objID];}
+}
+
+function checkClick(e) {
+ e?evt=e:evt=event;
+ CSE=evt.target?evt.target:evt.srcElement;
+ if (getObj('fc'))
+ if (!isChild(CSE,getObj('fc')))
+ getObj('fc').style.display='none';
+}
+
+function isChild(s,d) {
+ while(s) {
+ if (s==d)
+ return true;
+ s=s.parentNode;
+ }
+ return false;
+}
+
+function Left(obj)
+{
+ var curleft = 0;
+ if (obj.offsetParent)
+ {
+ while (obj.offsetParent)
+ {
+ curleft += obj.offsetLeft
+ obj = obj.offsetParent;
+ }
+ }
+ else if (obj.x)
+ curleft += obj.x;
+ return curleft;
+}
+
+function Top(obj)
+{
+ var curtop = 0;
+ if (obj.offsetParent)
+ {
+ while (obj.offsetParent)
+ {
+ curtop += obj.offsetTop
+ obj = obj.offsetParent;
+ }
+ }
+ else if (obj.y)
+ curtop += obj.y;
+ return curtop;
+}
+
+document.write('');
+document.write(' | |  |
');
+document.write('| S | M | T | W | T | F | S |
');
+for(var kk=1;kk<=6;kk++) {
+ document.write('');
+ for(var tt=1;tt<=7;tt++) {
+ num=7 * (kk-1) - (-tt);
+ document.write('| | ');
+ }
+ document.write('
');
+}
+document.write('
');
+
+document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);
+
+
+// Calendar script
+var now = new Date;
+var sccm=now.getMonth();
+var sccy=now.getFullYear();
+var ccm=now.getMonth();
+var ccy=now.getFullYear();
+
+var updobj;
+function lcs(ielem) {
+ updobj=ielem;
+ getObj('fc').style.left=Left(ielem);
+ getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
+ getObj('fc').style.display='';
+
+ // First check date is valid
+ curdt=ielem.value;
+ curdtarr=curdt.split('/');
+ isdt=true;
+ for(var k=0;k= (cd -(-1))) && (d<=cd-(-marr[cm]))) {
+ dip=((d-cd < sd)&&(cm==sccm)&&(cy==sccy));
+ htd=((hd!='')&&(d-cd==hd));
+ if (dip)
+ f_cpps(getObj('v'+parseInt(d)));
+ else if (htd)
+ f_hds(getObj('v'+parseInt(d)));
+ else
+ f_cps(getObj('v'+parseInt(d)));
+
+ getObj('v'+parseInt(d)).onmouseover=(dip)?null:cs_over;
+ getObj('v'+parseInt(d)).onmouseout=(dip)?null:cs_out;
+ getObj('v'+parseInt(d)).onclick=(dip)?null:cs_click;
+
+ getObj('v'+parseInt(d)).innerHTML=d-cd;
+ calvalarr[d]=''+(d-cd)+'/'+(cm-(-1))+'/'+cy;
+ }
+ else {
+ getObj('v'+d).innerHTML=' ';
+ getObj('v'+parseInt(d)).onmouseover=null;
+ getObj('v'+parseInt(d)).onmouseout=null;
+ getObj('v'+parseInt(d)).style.cursor='default';
+ }
+ }
+}
+
+prepcalendar('',ccm,ccy);
+//getObj('fc'+cc).style.visibility='hidden';
+
+function caddm() {
+ marr=((ccy%4)==0)?mnl:mnn;
+
+ ccm+=1;
+ if (ccm>=12) {
+ ccm=0;
+ ccy++;
+ }
+ cdayf();
+ prepcalendar('',ccm,ccy);
+}
+
+function csubm() {
+ marr=((ccy%4)==0)?mnl:mnn;
+
+ ccm-=1;
+ if (ccm<0) {
+ ccm=11;
+ ccy--;
+ }
+ cdayf();
+ prepcalendar('',ccm,ccy);
+}
+
+function cdayf() {
+if ((ccy>sccy)|((ccy==sccy)&&(ccm>=sccm)))
+ return;
+else {
+ ccy=sccy;
+ ccm=sccm;
+ cfd=scfd;
+ }
+}
diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController.java b/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController.java
index 919c72e..be39b3a 100644
--- a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController.java
+++ b/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController.java
@@ -1,18 +1,22 @@
package org.yacos.web.chairman.controller;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.validation.BindException;
+import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.SimpleFormController;
-import org.springframework.web.servlet.view.RedirectView;
+import org.springframework.web.servlet.ModelAndViewDefiningException;
+import org.springframework.web.servlet.mvc.AbstractWizardFormController;
import org.yacos.core.conferences.IConferenceManager;
import org.yacos.web.chairman.form.FormConference;
-public class AddConferenceController extends SimpleFormController{
+public class AddConferenceController extends AbstractWizardFormController {
protected final Log logger = LogFactory.getLog(getClass());
@@ -24,32 +28,72 @@ public class AddConferenceController extends SimpleFormController{
public void setConferenceManager(IConferenceManager conferenceManager) {
this.conferenceManager = conferenceManager;
}
-
- protected ModelAndView onSubmit(HttpServletRequest request,
- HttpServletResponse response, Object command, BindException errors)
- throws Exception
- {
- String typeAction = ((FormConference) command).getTypeAction();
-
- logger.info(((FormConference) command).getTitle());
-
- if (typeAction.equals("back")) {
- logger.info("je passe ds le back du controller 1");
- return new ModelAndView("addConference");
- }
-
- logger.info("Returning addConference2 view");
- return new ModelAndView(new RedirectView("addConference2.htm"));
+
+ public AddConferenceController() {
+ setCommandName("formConference");
+ setPages(new String[] {"addConference", "addConference2", "addConference3", "addConference4", "addConference5"});
+ }
+
+ protected Object formBackingObject(HttpServletRequest request) throws ModelAndViewDefiningException {
+ FormConference conference = new FormConference();
+ return conference;
}
- protected Object formBackingObject(HttpServletRequest request) throws Exception
- {
- FormConference conference = null;
+ protected void onBindAndValidate(HttpServletRequest request, Object command, BindException errors, int page) {
+ /*if (page == 0 && request.getParameter("shippingAddressRequired") == null) {
+ OrderForm orderForm = (OrderForm) command;
+ orderForm.setShippingAddressRequired(false);
+ }*/
+ }
- conference = new FormConference();
+ protected Map referenceData(HttpServletRequest request, int page) {
+ /*if (page == 0) {
+ List creditCardTypes = new ArrayList();
+ creditCardTypes.add("Visa");
+ creditCardTypes.add("MasterCard");
+ creditCardTypes.add("American Express");
+ Map model = new HashMap();
+ model.put("creditCardTypes", creditCardTypes);
+ return model;
+ }*/
+ return null;
+ }
- return conference;
+ /*protected int getTargetPage(HttpServletRequest request, Object command, Errors errors, int currentPage) {
+ FormConference conference = (FormConference) command;
+ if (currentPage == 0) {
+ return 1;
+ }
+ else {
+ return 2;
+ }
+ }*/
+
+ protected void validatePage(Object command, Errors errors, int page) {
+ FormConference conference = (FormConference) command;
+ /*OrderValidator orderValidator = (OrderValidator) getValidator();
+ errors.setNestedPath("order");
+ switch (page) {
+ case 0:
+ orderValidator.validateCreditCard(orderForm.getOrder(), errors);
+ orderValidator.validateBillingAddress(orderForm.getOrder(), errors);
+ break;
+ case 1:
+ orderValidator.validateShippingAddress(orderForm.getOrder(), errors);
+ }
+ errors.setNestedPath("");*/
+ }
+
+ protected ModelAndView processFinish(
+ HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) {
+ FormConference conference = (FormConference) command;
+ /*this.petStore.insertOrder(orderForm.getOrder());
+ request.getSession().removeAttribute("sessionCart");
+ Map model = new HashMap();
+ model.put("order", orderForm.getOrder());
+ model.put("message", "Thank you, your order has been submitted.");*/
+ return new ModelAndView("main"/*, model*/);
+ }
- }
}
diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController2.java b/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController2.java
deleted file mode 100644
index 30182d2..0000000
--- a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController2.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.yacos.web.chairman.controller;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.validation.BindException;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.SimpleFormController;
-import org.springframework.web.servlet.view.RedirectView;
-import org.yacos.core.conferences.IConferenceManager;
-import org.yacos.web.author.form.FormSubmission;
-import org.yacos.web.chairman.form.FormConference;
-
-public class AddConferenceController2 extends SimpleFormController{
-
- protected final Log logger = LogFactory.getLog(getClass());
-
- private IConferenceManager conferenceManager;
-
- public IConferenceManager getConferenceManager() {
- return conferenceManager;
- }
- public void setConferenceManager(IConferenceManager conferenceManager) {
- this.conferenceManager = conferenceManager;
- }
-
- protected ModelAndView onSubmit(HttpServletRequest request,
- HttpServletResponse response, Object command, BindException errors)
- throws Exception
- {
- String typeAction = ((FormConference) command).getTypeAction();
-
- if (typeAction.equals("back")) {
- logger.info("je passe ds le back du controller 2");
- return new ModelAndView("addConference");
- }
-
- logger.info("Returning addConference2 view");
- return new ModelAndView(new RedirectView("addConference3.htm"));
- }
-
- protected Object formBackingObject(HttpServletRequest request) throws Exception
- {
- FormConference conference = null;
-
- conference = new FormConference();
-
- return conference;
-
- }
-}
\ No newline at end of file
diff --git a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController3.java b/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController3.java
deleted file mode 100644
index 5a8dc6e..0000000
--- a/YACOSWeb/src/org/yacos/web/chairman/controller/AddConferenceController3.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.yacos.web.chairman.controller;
-
-import org.springframework.web.servlet.mvc.SimpleFormController;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.IOException;
-import java.util.Date;
-
-public class AddConferenceController3 extends SimpleFormController {
-
- protected final Log logger = LogFactory.getLog(getClass());
-
- public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- logger.info("Returning addConference3 view");
-
- return new ModelAndView("addConference3");
- }
-
-}
\ No newline at end of file