diff --git a/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java b/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java index 393a787..84f1854 100644 --- a/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java +++ b/YACOSWeb/src/org/yacos/web/author/controller/ArticleDeleteController.java @@ -2,16 +2,17 @@ package org.yacos.web.author.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + 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; +import org.yacos.core.users.IUserManager; public class ArticleDeleteController implements Controller { private IArticleManager articleManager; - public IArticleManager getArticleManager() { return articleManager; } @@ -20,6 +21,16 @@ public class ArticleDeleteController implements Controller { this.articleManager = articleManager; } + private IUserManager userManager; + public IUserManager getUserManager() { + return userManager; + } + + public void setUserManager(IUserManager userManager) { + this.userManager = userManager; + } + + public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -32,7 +43,11 @@ public class ArticleDeleteController implements Controller { if(article == null){ return new ModelAndView(new RedirectView("404error.htm")); } - + + if(articleManager.getPreferencesForArticle(articleId)!= null + || userManager.getPCMemberForArticle(articleId)!= null){ + return new ModelAndView(new RedirectView("manageArticle.htm?delete=ko")); + } articleManager.removeArticle(articleId); } @@ -43,4 +58,5 @@ public class ArticleDeleteController implements Controller { return new ModelAndView(new RedirectView("manageArticle.htm?delete=ok")); } + } \ No newline at end of file