diff --git a/YACOSWeb/WebContent/WEB-INF/jsp/listReport.jsp b/YACOSWeb/WebContent/WEB-INF/jsp/listReport.jsp
index 4ff1eb5..5e0ed1c 100644
--- a/YACOSWeb/WebContent/WEB-INF/jsp/listReport.jsp
+++ b/YACOSWeb/WebContent/WEB-INF/jsp/listReport.jsp
@@ -7,13 +7,15 @@
-
+
There is no report for this article at the moment.
+
+
@@ -46,6 +48,39 @@
+
+
+
+
+ | : ${rpt.referee.firstName} ${rpt.referee.lastName} |
+
+
+ |
+ ${rpt.article.title} |
+
+
+
+
+ |
+ ${rating.criterion.name} is: |
+ ${rating.value} |
+
+
+
+
+ |
+ ${rpt.commentPCMember} |
+
+
+
+ |
+ ${rpt.commentAuthor} |
+
+
+
+
+
+
diff --git a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
index 67af772..11b0d87 100644
--- a/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
+++ b/YACOSWeb/WebContent/WEB-INF/yacos-servlet.xml
@@ -292,6 +292,8 @@
+
+
diff --git a/YACOSWeb/src/org/yacos/web/PCmember/controller/ListReportController.java b/YACOSWeb/src/org/yacos/web/PCmember/controller/ListReportController.java
index 0fdc3c0..86623d2 100644
--- a/YACOSWeb/src/org/yacos/web/PCmember/controller/ListReportController.java
+++ b/YACOSWeb/src/org/yacos/web/PCmember/controller/ListReportController.java
@@ -15,10 +15,16 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.mvc.SimpleFormController;
+import org.yacos.core.article.Article;
+import org.yacos.core.article.IArticleManager;
+import org.yacos.core.article.Article.State;
import org.yacos.core.evaluation.IEvaluationManager;
import org.yacos.core.evaluation.Rating;
import org.yacos.core.evaluation.Report;
+import org.yacos.core.users.IUserManager;
+import org.yacos.core.users.Role.RoleType;
import org.yacos.web.system.controller.NoConferenceSelectedException;
+import org.yacos.web.system.session.SessionService;
public class ListReportController extends SimpleFormController {
@@ -26,51 +32,116 @@ public class ListReportController extends SimpleFormController {
protected final Log logger = LogFactory.getLog(getClass());
private IEvaluationManager evaluationManager;
+ private IUserManager userManager;
+ private IArticleManager articleManager;
+
+
+ public IArticleManager getArticleManager() {
+ return articleManager;
+ }
+
+ public void setArticleManager(IArticleManager articleManager) {
+ this.articleManager = articleManager;
+ }
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NoConferenceSelectedException {
logger.info("Returning listReport view");
- List listReport;
+ List listReport=new ArrayList();
String reportId = request.getParameter("id");
+
try {
Integer id = new Integer(reportId);
+ Article a = articleManager.getArticle(id);
+ if (a == null)
+ throw new ModelAndViewDefiningException(new ModelAndView("404error"));
Map model = new HashMap();
- listReport = evaluationManager.getReportsForArticle(id);
-
+ if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.CHAIRMAN, SessionService.getInstance().getCurrentConferenceId()))
+
+ { listReport = evaluationManager.getReportsForArticle(id);
+
if (listReport.isEmpty())
return new ModelAndView("listReport", "listReport", null);
+
+ else { model.put("listReport", listReport);
-
-
- model.put("listReport", listReport);
-
List container=new ArrayList();
-
- for (int i=0; i<=listReport.size()-1;i++){
- List ratings = evaluationManager.getRatingForReport(listReport.get(i).getId());
- container.add(ratings);
- }
+
+ for (int i=0; i<=listReport.size()-1;i++){
+ List ratings = evaluationManager.getRatingForReport(listReport.get(i).getId());
+ container.add(ratings);
+ }
model.put("container", container);
+ }
+
+ }
+
+ else
+ if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.PCMEMBER, SessionService.getInstance().getCurrentConferenceId()))
+ {
+
+ if (a.getState()== State.ACCEPTED ||a.getState()==State.REJECTED)
+ {
+ listReport = evaluationManager.getReportsForArticle(id);
+
+ if (listReport.isEmpty())
+ return new ModelAndView("listReport", "listReport", null);
+
+ else {model.put("listReport", listReport);
+
+ List container=new ArrayList();
+
+ for (int i=0; i<=listReport.size()-1;i++){
+ List ratings = evaluationManager.getRatingForReport(listReport.get(i).getId());
+ container.add(ratings);
+ }
+ model.put("container", container);
+ }
+
+ }
+
+ else{
+ Report rpt = evaluationManager.getReportforArticleAndReferee(id, SessionService.getInstance().getCurrentUserLogin());
+
+ if (rpt==null)
+ return new ModelAndView("listReport", "rpt", null);
+ else {
+ model.put("rpt", rpt);
+ List ratings = evaluationManager.getRatingForReport(rpt.getId());
+ model.put("rtgs",ratings);
+
+ }
+
+ }
+
+
+
+
+ }
+
+
+
+
model.put("whereIcome", request.getHeader("REFERER"));
-
- /* double[] moyennes=new double[listReport.size()];
-
+
+ /* double[] moyennes=new double[listReport.size()];
+
for (Rating rt : ratings)
{
-
-
+
+
}*/
-
-
+
+
return new ModelAndView("listReport", model);
}
-
+
catch (NumberFormatException e) {
throw new ModelAndViewDefiningException(new ModelAndView("404error"));
}
@@ -83,4 +154,12 @@ public class ListReportController extends SimpleFormController {
public void setEvaluationManager(IEvaluationManager evaluationManager) {
this.evaluationManager = evaluationManager;
}
+
+ public IUserManager getUserManager() {
+ return userManager;
+ }
+
+ public void setUserManager(IUserManager userManager) {
+ this.userManager = userManager;
+ }
}
\ No newline at end of file