r35 - in trunk/chorem-web: . src/main/java/org/chorem/gepeto/action src/main/resources src/main/resources/i18n src/main/webapp/WEB-INF/jsp/gepeto
Author: vbriand Date: 2011-03-18 17:04:03 +0100 (Fri, 18 Mar 2011) New Revision: 35 Url: http://chorem.org/repositories/revision/chorem/35 Log: It is now possible to add a project for real Modified: trunk/chorem-web/ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectAction.java trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties trunk/chorem-web/src/main/resources/struts.xml trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addProject.jsp Property changes on: trunk/chorem-web ___________________________________________________________________ Modified: svn:ignore - .settings .classpath .project target + .settings .classpath .project target PutObjectStoreDirHere Modified: trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectAction.java =================================================================== --- trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectAction.java 2011-03-18 15:01:37 UTC (rev 34) +++ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectAction.java 2011-03-18 16:04:03 UTC (rev 35) @@ -2,7 +2,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.ChoremProxy; import org.chorem.action.BaseAction; +import org.chorem.entities.ProjectImpl; +import static org.nuiton.i18n.I18n.n_; /** * Project management class @@ -55,8 +58,14 @@ String result = INPUT; if (name != null && description != null) { + //If the mandatory fields have been filled in if (!name.isEmpty() && !description.isEmpty()) { - result = SUCCESS; + //If the project has been created successfully + if (addProject()) { + result = SUCCESS; + } else { + result = ERROR; + } } } return result; @@ -70,4 +79,28 @@ public String remove() { return SUCCESS; } + + /** + * Stores the new project through the proxy + * + * @return true if the project has been stored properly + * @return false if a problem occurred + */ + protected boolean addProject() { + boolean result = true; + + try { + ChoremProxy proxy = getChoremProxy(); + ProjectImpl newProject = new ProjectImpl(); + + newProject.setDescription(description); + newProject.setName(name); + proxy.store(newProject); + } catch (Exception e) { + result = false; + addActionError(getText(n_("chorem.gepeto.project.create.error"))); + log.error("An error occured while creating a new project", e); + } + return result; + } } Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties =================================================================== --- trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-03-18 15:01:37 UTC (rev 34) +++ trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-03-18 16:04:03 UTC (rev 35) @@ -18,6 +18,7 @@ chorem.gepeto.home=Home chorem.gepeto.project=Project {0} chorem.gepeto.project.add=Add a new project +chorem.gepeto.project.create.error=An error occurred while creating your new project, please try again. If the problem persists, please contact an administrator chorem.gepeto.project.description=Description chorem.gepeto.project.description.required=You must describe the project chorem.gepeto.project.name=Project name Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties =================================================================== --- trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-03-18 15:01:37 UTC (rev 34) +++ trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-03-18 16:04:03 UTC (rev 35) @@ -18,6 +18,7 @@ chorem.gepeto.home=Accueil chorem.gepeto.project=Projet {0} chorem.gepeto.project.add=Ajouter un nouveau projet +chorem.gepeto.project.create.error=Une erreur s''est produite lors de la cr\u00E9ation de votre nouveau projet, merci d''essayer \u00E0 nouveau. Si le probl\u00E8me se reproduit, merci de contacter un administrateur chorem.gepeto.project.description=Description chorem.gepeto.project.description.required=Vous devez d\u00E9crire le projet chorem.gepeto.project.name=Nom du projet Modified: trunk/chorem-web/src/main/resources/struts.xml =================================================================== --- trunk/chorem-web/src/main/resources/struts.xml 2011-03-18 15:01:37 UTC (rev 34) +++ trunk/chorem-web/src/main/resources/struts.xml 2011-03-18 16:04:03 UTC (rev 35) @@ -38,6 +38,7 @@ </action> <action name="addProject" class="org.chorem.gepeto.action.ProjectAction" method="add"> <result name="input">/WEB-INF/jsp/gepeto/addProject.jsp</result> + <result name="error">/WEB-INF/jsp/gepeto/addProject.jsp</result> <result type="redirectAction">home</result> </action> <action name="removeProject" class="org.chorem.gepeto.action.ProjectAction" method="delete"> Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addProject.jsp =================================================================== --- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addProject.jsp 2011-03-18 15:01:37 UTC (rev 34) +++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addProject.jsp 2011-03-18 16:04:03 UTC (rev 35) @@ -9,6 +9,7 @@ </head> <body> <h2><s:text name="chorem.gepeto.project.add" /></h2> + <s:actionerror /> <s:form action="addProject" method="post"> <fieldset> <legend>
participants (1)
-
vbriand@users.chorem.org