diff --git a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
index aa3dff8..a5a809a 100644
--- a/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
+++ b/YACOSWeb/WebContent/WEB-INF/classes/messages.properties
@@ -107,8 +107,9 @@ message.error.page404.content=Sorry, the page where you looking for, doesn't fou
message.error.page403.title=Acces denied
message.error.page403.content=Sorry, you have not access at this page.
-
submission.title=Article's submission
+submission.modify=Modify your article
+submission.modify.denied=Sorry, you aren't allowed to do that operation.
form.submission.article.title=Article's title
form.submission.article.theme=Article's theme
diff --git a/YACOSWeb/WebContent/WEB-INF/decorators/main.jsp b/YACOSWeb/WebContent/WEB-INF/decorators/main.jsp
index 0c531db..02379a8 100644
--- a/YACOSWeb/WebContent/WEB-INF/decorators/main.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/decorators/main.jsp
@@ -11,6 +11,7 @@
+
-
-
@@ -35,8 +33,8 @@
">
-
-
+ ">
+ ">
diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/submissionArticle.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/submissionArticle.jsp
index 0c760cb..bcf6ecc 100644
--- a/YACOSWeb/WebContent/WEB-INF/jsp/submissionArticle.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/submissionArticle.jsp
@@ -9,8 +9,17 @@
+
+
+
+
+
+
+
+
+
+
-
diff --git a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
index eccc078..4556cb4 100644
--- a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
+++ b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
@@ -39,11 +39,10 @@
LogonController
ListEvaluationController
ArticleDownloadController
+ ArticleDeleteController
ListReportController
ForgotPasswordController
-
- DetailArticleController
-
+ DetailArticleController
@@ -65,6 +64,10 @@
+
+
+
+
@@ -73,7 +76,7 @@
-
+
@@ -100,7 +103,7 @@
-
+
diff --git a/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java b/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java
new file mode 100644
index 0000000..0dad6ea
--- /dev/null
+++ b/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java
@@ -0,0 +1,49 @@
+package org.yacos.web.author.controller;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.swing.text.html.FormView;
+
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.ModelAndViewDefiningException;
+import org.springframework.web.servlet.mvc.Controller;
+import org.springframework.web.servlet.view.RedirectView;
+import org.yacos.core.article.Article;
+import org.yacos.core.article.IArticleManager;
+
+public class ArticleDeleteController implements Controller {
+ private IArticleManager articleManager;
+
+ public IArticleManager getArticleManager() {
+ return articleManager;
+ }
+
+ public void setArticleManager(IArticleManager articleManager) {
+ this.articleManager = articleManager;
+ }
+
+ public ModelAndView handleRequest(HttpServletRequest request,
+ HttpServletResponse response) throws Exception {
+
+ try {
+ Integer articleId = Integer.parseInt(request.getParameter("articleId"));
+ Article article = articleManager.getArticle(articleId);
+
+ // FIXME : vérifier si le gars a le droit de suppr ou pas
+
+ if(article == null){
+ return new ModelAndView(new RedirectView("404error.htm"));
+ }
+
+ articleManager.removeArticle(articleId);
+
+
+ }
+ catch(NumberFormatException e) {
+ throw new ModelAndViewDefiningException(new ModelAndView("404error"));
+ }
+
+ return new ModelAndView(new RedirectView("manageArticle.htm"));
+ }
+
+}
\ No newline at end of file
diff --git a/YACOSWeb/src/org/yacos/web/author/controller/ManageArticleController.java b/YACOSWeb/src/org/yacos/web/author/controller/ManageArticleController.java
index 420700c..70e2063 100644
--- a/YACOSWeb/src/org/yacos/web/author/controller/ManageArticleController.java
+++ b/YACOSWeb/src/org/yacos/web/author/controller/ManageArticleController.java
@@ -21,6 +21,12 @@ public class ManageArticleController extends SimpleFormController {
protected final Log logger = LogFactory.getLog(getClass());
private IArticleManager articleManager;
+
+
+ public void deleteArticle(Integer id) {
+ articleManager.removeArticle(id);
+ }
+
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NoConferenceSelectedException {
diff --git a/YACOSWeb/src/org/yacos/web/author/controller/SArticleController.java b/YACOSWeb/src/org/yacos/web/author/controller/SArticleController.java
index dff9d1a..9844223 100644
--- a/YACOSWeb/src/org/yacos/web/author/controller/SArticleController.java
+++ b/YACOSWeb/src/org/yacos/web/author/controller/SArticleController.java
@@ -15,6 +15,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.validation.BindException;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;
import org.yacos.core.article.Article;
@@ -107,14 +108,54 @@ public class SArticleController extends SimpleFormController {
return new ModelAndView(new RedirectView(getSuccessView()));
}
+
+ protected Object formBackingObject(HttpServletRequest request) throws ModelAndViewDefiningException {
+ String action = request.getParameter("action");
+ if (action == null || action.equals(""))
+ {
+ FormSubmission myArticle = new FormSubmission();
+ return myArticle;
+ }
+ else if (action.equals("modify")) {
+
+ String articleID = request.getParameter("articleID");
+
+ try {
+ Integer id = new Integer(articleID);
+
+ // TODO : vérifier que l'id de l'article appartient à l'auteur... vive les GET...
+
+ Article a = articleManager.getArticle(id);
+
+ if (a == null)
+ throw new ModelAndViewDefiningException(new ModelAndView("denied", "message", getMessageSourceAccessor().getMessage("submission.modify.denied")));
+
+ FormSubmission myArticle = new FormSubmission();
+
+
+ // FIXME : stocker l'abstract texte ds la BDD... et le récup après...
+ //myArticle.setAbstractText();
+
+ myArticle.setTitle(a.getTitle());
+ myArticle.setListe(a.getSecondaryAuthors());
+ myArticle.setTheme(a.getTopic());
+
+
+
+
+ return myArticle;
+
+ }
+ catch (NumberFormatException e) {
+ throw new ModelAndViewDefiningException(new ModelAndView("404error"));
+ }
+
+ }
+ else {
+ throw new ModelAndViewDefiningException(new ModelAndView("404error"));
+ }
- protected Object formBackingObject(HttpServletRequest request) throws ServletException {
- FormSubmission myArticle = new FormSubmission();
- myArticle.setTitle("");
- myArticle.setTheme("");
- //myArticle.setMainauthor("");
- myArticle.setSecondaryauthor("");
- return myArticle;
+
}
public IArticleManager getArticleManager() {
diff --git a/YACOSWeb/src/org/yacos/web/author/form/FormSubmission.java b/YACOSWeb/src/org/yacos/web/author/form/FormSubmission.java
index 138f540..e458401 100644
--- a/YACOSWeb/src/org/yacos/web/author/form/FormSubmission.java
+++ b/YACOSWeb/src/org/yacos/web/author/form/FormSubmission.java
@@ -6,7 +6,7 @@ import java.util.List;
import org.springframework.web.multipart.MultipartFile;
public class FormSubmission {
-
+
private MultipartFile file;
private String title;
private String theme;
@@ -14,19 +14,19 @@ public class FormSubmission {
private String secondaryauthor;
private ArrayList liste = new ArrayList();
private String abstractText;
-
+
public FormSubmission() {
-
+
}
- public void setFile(MultipartFile file) {
- this.file = file;
- }
+ public void setFile(MultipartFile file) {
+ this.file = file;
+ }
+
+ public MultipartFile getFile() {
+ return file;
+ }
- public MultipartFile getFile() {
- return file;
- }
-
public String getTitle() {
return title;
}
@@ -57,13 +57,13 @@ public class FormSubmission {
}
public void setListe(ArrayList liste) {
- if(liste!=null)
+ if(liste != null)
{
- this.liste=new ArrayList(liste);
+ this.liste = new ArrayList(liste);
}
else
{
- this.liste = new ArrayList();
+ this.liste = new ArrayList();
}
}
diff --git a/YACOSWeb/src/org/yacos/web/system/controller/ArticleDownloadController.java b/YACOSWeb/src/org/yacos/web/system/controller/ArticleDownloadController.java
index 3cb7f93..fc968ec 100644
--- a/YACOSWeb/src/org/yacos/web/system/controller/ArticleDownloadController.java
+++ b/YACOSWeb/src/org/yacos/web/system/controller/ArticleDownloadController.java
@@ -42,6 +42,8 @@ public class ArticleDownloadController implements Controller {
Integer articleId = Integer.parseInt(request.getParameter("articleId"));
Article article = articleManager.getArticle(articleId);
+ // FIXME : vérifier si le gars a le droit de dl ou pas
+
if(article == null){
return new ModelAndView(new RedirectView("404error.htm"));
}