Correction générale

This commit is contained in:
Frederic Debuire
2008-02-25 23:22:25 +00:00
parent 90f615cbab
commit 87e8364511
32 changed files with 372 additions and 242 deletions

View File

@@ -268,31 +268,34 @@ invitation.send=Send an invitation
#ConflictList #ConflictList
ConflictList.list1=Members of the conference ConflictList.list1=Members of the conference
ConflictList.list2=ConflictList of the article ConflictList.list2=Members you have excluded
ConflictList.choose=manage the conflict list of the conference's articles ConflictList.choose=Manage the conflict list
ConflictList.help=Click to an article to edit the conflict list ConflictList.help=Click on an article to edit the conflict list
#DispatchMembers #DispatchMembers
members.list1=Members of the conference members.list1=Members of the conference
members.list2=Members associate to the article members.list2=Members you have associated
dipatchArticle.description=Article's description dipatchArticle.description=Article's description
dipatchArticle.choose=Dispatch the articles between the members dipatchArticle.choose=Dispatch the articles amongst the members
disptachArticle.help=Click to an article to dispatch the members disptachArticle.help=Click on an article to dispatch it to the members
#DelegateArticles #DelegateArticles
delegateArticles.choose=delegate the articles between to the referees delegateArticles.choose=Delegate the articles amongst the referees
delegateArticles.list1= referees of the conference delegateArticles.list1= Referees of the conference
delegateArticles.list2= referees associated to this article delegateArticles.list2= Referees you have associated
delegateArticles.help=Click to an article to delegate it to the referees delegateArticles.help=Click on an article to delegate it to the referees
#valider les articles #valider les articles
validate.download=download the article validate.download=Download the article
validate.report=View the result of the evaluation validate.report=View the result of the evaluation
validate.validate=Validate validate.validate=Validate
validate.reject=Reject validate.reject=Reject
#forum validation
forum.validation=You must write a message
#report des evaluations #report des evaluations
report.headPage=Here is the list of the evaluation report.headPage=Report's list
report.referee=Evaluated by report.referee=Evaluated by
#detail d'un article #detail d'un article

View File

@@ -63,8 +63,5 @@
</table> </table>
</form:form> </form:form>
<br />
<a href="<c:url value="main.htm"/>">Home</a>
</body> </body>
</html> </html>

View File

@@ -77,9 +77,6 @@
</table> </table>
</form:form> </form:form>
<br />
<a href="<c:url value="main.htm"/>">Home</a>
</body> </body>
</html> </html>

View File

@@ -62,7 +62,5 @@
</table> </table>
</form:form> </form:form>
<a href="<c:url value="main.htm"/>">Home</a>
</body> </body>
</html> </html>

View File

@@ -173,6 +173,19 @@ var CritereManager = Class.create({
</c:otherwise> </c:otherwise>
</c:choose></h4> </c:choose></h4>
<c:choose>
<c:when test="${currentConference != null and currentConference.currentPhase != 'CALL_FOR_PAPER'}">
<div class="warningBox">
Sorry, you can't modify anymore this part of the conference because the call for paper is already over.
</div>
<form:form commandName="formConference">
<input type="submit" name="_target2" value="Back">
<input type="submit" name="_target4" value="Next" />
</form:form>
</c:when>
<c:otherwise>
<fmt:message key="step"> <fmt:message key="step">
<fmt:param value="4" /> <fmt:param value="4" />
<fmt:param value="5" /> <fmt:param value="5" />
@@ -273,8 +286,8 @@ var CritereManager = Class.create({
<script type="text/javascript"> <script type="text/javascript">
init(); init();
</script> </script>
</c:otherwise>
<a href="<c:url value="main.htm"/>">Home</a> </c:choose>
</body> </body>
</html> </html>

View File

@@ -119,6 +119,17 @@ function filterUser(el, value) {
</c:otherwise> </c:otherwise>
</c:choose></h4> </c:choose></h4>
<c:choose>
<c:when test="${currentConference != null and currentConference.currentPhase != 'CALL_FOR_PAPER'}">
<div class="warningBox">
Sorry, you can't modify anymore this part of the conference because the call for paper is already over.
</div>
<form:form commandName="formConference">
<input type="submit" name="_target3" value="Back">
<input type="submit" name="_finish" value="Finish" />
</form:form>
</c:when>
<c:otherwise>
<fmt:message key="step"> <fmt:message key="step">
<fmt:param value="5" /> <fmt:param value="5" />
<fmt:param value="5" /> <fmt:param value="5" />
@@ -207,10 +218,8 @@ function filterUser(el, value) {
<script type="text/javascript"> <script type="text/javascript">
init(); init();
</script> </script>
</c:otherwise>
<br /> </c:choose>
<br />
<a href="<c:url value="main.htm"/>">Home</a>
</body> </body>
</html> </html>

View File

@@ -170,35 +170,27 @@
<div id="title${article.id}" onclick="showDetail(${article.id})"> <div id="title${article.id}" onclick="showDetail(${article.id})">
<table style="width:100%;text-align:center;"> <table style="width:100%;text-align:center;">
<tr> <tr>
<td><img src="./images/cc-wp-64x64.png"></td> <td width="20%"><img src="./images/cc-wp-24x24.png"></td>
<td>title : ${article.title} <td width="60%"><a href="<c:url value='detailArticle.htm?id=${article.id}'/>"><b>${article.title}</b></a> by ${article.mainAuthor.firstName}&nbsp;${article.mainAuthor.lastName}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}${article.mainAuthor.lastName}
<c:if test="${!empty article.secondaryAuthors}">
<br/>secondaries authors:
<c:forEach var="author" items="${article.secondaryAuthors}">
<br/>${author}
</c:forEach>
</c:if>
</td> </td>
<td><a href="<c:url value='detailArticle.htm?id=${article.id}'/>">article's detail</a></td> <td width="20%"><img src="./images/1uparrow.png"></td>
</tr> </tr>
</table> </table>
</div> </div>
<div id='dispatcher${article.id}' class="textBox" style="display:none;"> <div id='dispatcher${article.id}' class="textBox" style="display:none;">
<table style="width:100%;"> <table style="width:100%;">
<tr><td> <tr><td>
<h1><fmt:message key="members.list1"/></h1> <h1><fmt:message key="ConflictList.list1"/></h1>
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;"> <div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div> </div>
</td><td> </td><td>
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/> <img id="addButton" src="./images/agt_forward.png" onclick="addRemote()"><br />
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/> <img id="removeButton" src="./images/agt_back.png" onclick="removeRemote()">
</td><td> </td><td>
<h1><fmt:message key="members.list2"/></h1> <h1><fmt:message key="ConflictList.list2"/></h1>
<div id="membersConflictList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;"> <div id="membersConflictList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div> </div>

View File

@@ -156,19 +156,10 @@
<div id="title${article.id}" onclick="showDetail(${article.id})"> <div id="title${article.id}" onclick="showDetail(${article.id})">
<table style="width:100%;text-align:center;"> <table style="width:100%;text-align:center;">
<tr> <tr>
<td><img src="./images/cc-wp-64x64.png"></td> <td width="20%"><img src="./images/cc-wp-24x24.png"></td>
<td>title : ${article.title} <td width="60%"><a href="<c:url value='detailArticle.htm?id=${article.id}'/>"><b>${article.title}</b></a> by ${article.mainAuthor.firstName}&nbsp;${article.mainAuthor.lastName}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}${article.mainAuthor.lastName}
<c:if test="${!empty article.secondaryAuthors}">
<br/>secondaries authors:
<c:forEach var="author" items="${article.secondaryAuthors}">
<br/>${author}
</c:forEach>
</c:if>
</td> </td>
<td><a href="<c:url value='detailArticle.htm?id=${article.id}'/>">article's detail</a></td> <td width="20%"><img src="./images/1uparrow.png"></td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -181,8 +172,8 @@
</div> </div>
</td><td> </td><td>
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/> <img id="addButton" src="./images/agt_forward.png" onclick="addRemote()"><br />
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/> <img id="removeButton" src="./images/agt_back.png" onclick="removeRemote()">
</td><td> </td><td>
<h1><fmt:message key="delegateArticles.list2"/></h1> <h1><fmt:message key="delegateArticles.list2"/></h1>
<div id="refereesArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;"> <div id="refereesArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">

View File

@@ -9,17 +9,23 @@
<div id="account_data"> <div id="account_data">
<h2>${article.title}</h2> <p class="legend">Title</p>
<fieldset>
<div>
<label>Title: </label>
<span class="content"><b>${article.title}</b></span>
</div>
</fieldset>
<p class="legend">Authors</p> <p class="legend">Authors</p>
<fieldset> <fieldset>
<div> <div>
<label>Principal Author :</label> <label>Main Author:</label>
<span class="content"><b>${article.mainAuthor.firstName}&nbsp;${article.mainAuthor.lastName}</b></span> <span class="content"><b>${article.mainAuthor.firstName}&nbsp;${article.mainAuthor.lastName}</b></span>
</div> </div>
<c:if test="${article.secondaryAuthors!=null}"> <c:if test="${not empty article.secondaryAuthors}">
<div> <div>
<label>Secondary Authors : </label> <label>Secondary Authors: </label>
<ul> <ul>
<c:forEach items="${article.secondaryAuthors}" var="sAuthor"> <c:forEach items="${article.secondaryAuthors}" var="sAuthor">
<li>${sAuthor}</li> <li>${sAuthor}</li>
@@ -31,14 +37,24 @@
<p class="legend">Topic</p> <p class="legend">Topic</p>
<fieldset> <fieldset>
<label>Topic : </label> <div>
<label>Topic: </label>
<span class="content"><b>${article.topic}</b></span> <span class="content"><b>${article.topic}</b></span>
</div>
</fieldset>
<p class="legend">Abstract</p>
<fieldset>
<div>
<label>Abstract: </label>
<span class="content"><b>${article.abstractText}</b></span>
</div>
</fieldset> </fieldset>
<p class="legend">State</p> <p class="legend">State</p>
<fieldset> <fieldset>
<div> <div>
<label>State of article : </label> <label>State of article: </label>
<span class="content"><b>${article.state}</b></span> <span class="content"><b>${article.state}</b></span>
</div> </div>
</fieldset> </fieldset>
@@ -48,7 +64,9 @@
<a class="download" href=" <a class="download" href="
<c:url value="/download.htm"> <c:url value="/download.htm">
<c:param name="articleId" value="${article.id}"/> <c:param name="articleId" value="${article.id}"/>
</c:url>">Download</a> </c:url>">Download</a><br /><br />
<a class="back_link" href="<c:url value="${whereIcome}"/>"><fmt:message
key="form.link.back" /></a>
</body> </body>
</html> </html>

View File

@@ -164,7 +164,7 @@
</head> </head>
<body> <body>
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4> <h4 class="title"><fmt:message key="dipatchArticle.choose" /></h4>
<p class="formHelp"> <p class="formHelp">
<fmt:message key="disptachArticle.help" /> <fmt:message key="disptachArticle.help" />
</p> </p>
@@ -174,19 +174,11 @@
<div id="title${article.id}" onclick="showDetail(${article.id})"> <div id="title${article.id}" onclick="showDetail(${article.id})">
<table style="width:100%;text-align:center;"> <table style="width:100%;text-align:center;">
<tr> <tr>
<td><img src="./images/cc-wp-64x64.png"></td> <td width="20%"><img src="./images/cc-wp-24x24.png"></td>
<td>title : ${article.title} <td width="60%"><a href="<c:url value='detailArticle.htm?id=${article.id}'/>"><b>${article.title}</b></a> by ${article.mainAuthor.firstName}&nbsp;${article.mainAuthor.lastName}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}${article.mainAuthor.lastName}
<c:if test="${!empty article.secondaryAuthors}">
<br/>secondaries authors:
<c:forEach var="author" items="${article.secondaryAuthors}">
<br/>${author}
</c:forEach>
</c:if>
</td> </td>
<td><a href="<c:url value='detailArticle.htm?id=${article.id}'/>">article's detail</a></td> <td width="20%"><img src="./images/1uparrow.png"></td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -199,8 +191,8 @@
</div> </div>
</td><td> </td><td>
<input type="button" name="addButton" value="add&gt;&gt;&gt;" onclick="addRemote()"/><br/> <img id="addButton" src="./images/agt_forward.png" onclick="addRemote()"><br />
<input type="button" name="removeButton" value="&lt;&lt;&lt;remove" onclick="removeRemote()"/> <img id="removeButton" src="./images/agt_back.png" onclick="removeRemote()">
</td><td> </td><td>
<h1><fmt:message key="members.list2"/></h1> <h1><fmt:message key="members.list2"/></h1>
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;"> <div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">

View File

@@ -8,19 +8,33 @@
<h4 class="title">Forum</h4> <h4 class="title">Forum</h4>
<table style="width: 100%; border: 1px solid orange;"> <table style="width: 100%">
<tr> <tr bgcolor="#FFCE64">
<th>Article</th> <td width="10%" align="center"><b>Details</b></td>
<th>Message's number</th> <td width="80%" align="center"><b>Articles</b></td>
<td width="10%" align="center"><b>Replies</b></td>
</tr> </tr>
<c:forEach items="${listArticle}" var="article"> <c:forEach items="${listArticle}" var="article" varStatus="status">
<c:choose>
<tr> <c:when test="${(status.index%2)==0}">
<td><a href="<c:url value="/forumArticle.htm"><c:param name="articleId" value="${article.id}"/></c:url>"><b>${article.title}</b></a></td> <tr bgcolor="white">
<td>?</td> <td width="10%" align="center"><a href="<c:url value='detailArticle.htm?id=${article.a.id}'/>"><img src="./images/cc-kghostview-24x24.png"></a></td>
</tr> <td width="80%" align="center"><a
href="<c:url value="/forumArticle.htm"><c:param name="articleId" value="${article.a.id}"/></c:url>"><b>${article.a.title}</b></a></td>
<td width="10%" align="center"><b>${article.numberMessage}</b></td>
</tr>
</c:when>
<c:otherwise>
<tr bgcolor="#FDF2D8">
<td width="10%" align="center"><a href="<c:url value='detailArticle.htm?id=${article.a.id}'/>"><img src="./images/cc-kghostview-24x24.png"></a></td>
<td width="80%" align="center"><a
href="<c:url value="/forumArticle.htm"><c:param name="articleId" value="${article.a.id}"/></c:url>"><b>${article.a.title}</b></a></td>
<td width="10%" align="center"><b>${article.numberMessage}</b></td>
</tr>
</c:otherwise>
</c:choose>
</c:forEach> </c:forEach>

View File

@@ -30,7 +30,7 @@
<fmt:formatDate value="${message.dateMessage}" dateStyle="short" /> <fmt:formatDate value="${message.dateMessage}" dateStyle="short" />
</td> </td>
<td width="25%" align="center" valign="top">${message.user.firstName} ${message.user.lastName}</td> <td width="25%" align="center" valign="top">${message.user.firstName} ${message.user.lastName}</td>
<td width="60%" align="left"><b>${message.title}</b><br />${message.message}</td> <td width="60%" align="left"><b>${message.title}:</b><br />${message.message}</td>
</tr> </tr>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
@@ -65,6 +65,7 @@
<div> <div>
<form:label path="message">Your message</form:label> <form:label path="message">Your message</form:label>
<form:textarea path="message" cols="60" rows="10" /> <form:textarea path="message" cols="60" rows="10" />
<span class="formError"><form:errors path="message" /></span>
</div> </div>
</fieldset> </fieldset>
@@ -72,6 +73,6 @@
</form:form> </form:form>
<br /> <br />
<a href="main.htm" class="back_link"> Main</a> <a class="back_link" href="main.htm">Main</a>
</body> </body>
</html> </html>

View File

@@ -9,20 +9,9 @@
<c:forEach items="${listArticle}" var="article"> <c:forEach items="${listArticle}" var="article">
<div class="article cbb"> <div class="article cbb">
<h2>${article.title}</h2> <h2><a href="<c:url value='detailArticle.htm?id=${article.id}'/>">${article.title}</a> by ${article.mainAuthor.firstName} ${article.mainAuthor.lastName}</h2>
<p>Author: <b>${article.mainAuthor.firstName} ${article.mainAuthor.lastName}</b></p>
<p>
<c:if test="${not empty article.secondaryAuthors}">
Secondary Authors:
<ul>
<c:forEach items="${article.secondaryAuthors}" var="sAuthor">
<li>${sAuthor}</li>
</c:forEach>
</ul>
</c:if>
<p>Topic: <b>${article.topic}</b></p>
<p>State: <b>${article.state}</b></p> <p>State: <b>${article.state}</b></p>
<p><a href="<c:url value="/download.htm"><c:param name="articleId" value="${article.id}"/></c:url>">Download</a> <p><a class="download" href="<c:url value="/download.htm"><c:param name="articleId" value="${article.id}"/></c:url>">Download</a>
</p> </p>
<c:if test="${article.state == 'EVALUATED' or article.state == 'REJECTED' or article.state == 'ACCEPTED'}"> <c:if test="${article.state == 'EVALUATED' or article.state == 'REJECTED' or article.state == 'ACCEPTED'}">
<p><a href="<c:url value="listReport.htm?id=${article.id}"/>"><fmt:message key="validate.report" /></a></p> <p><a href="<c:url value="listReport.htm?id=${article.id}"/>"><fmt:message key="validate.report" /></a></p>

View File

@@ -57,7 +57,7 @@
<c:choose> <c:choose>
<c:when test="${empty listConference}"> <c:when test="${empty listConference}">
<div class="errorBox"> <div class="warningBox">
Sorry, there is no conference at the moment. Sorry, there is no conference at the moment.
</div> </div>
</c:when> </c:when>
@@ -74,7 +74,7 @@
<input id="register" type="checkbox" name="register" value="Register" onchange="ShowRegistered()" checked="checked"> Conference you are registered in<br /> <input id="register" type="checkbox" name="register" value="Register" onchange="ShowRegistered()" checked="checked"> Conference you are registered in<br />
<input id="notregister" type="checkbox" name="notregister" value="NotRegister" onchange="ShowNotRegistered()" checked="checked"> Conference you are not registered in<br /> <input id="notregister" type="checkbox" name="notregister" value="NotRegister" onchange="ShowNotRegistered()" checked="checked"> Conference you are not registered in<br />
</authz:authorize> </authz:authorize>
<input id="ongoing" type="checkbox" name="ongoing" value="Upcoming" onchange="ShowOngoing()" checked="checked"> Only upcoming conferences<br /> <input id="ongoing" type="checkbox" name="ongoing" value="Upcoming" onchange="ShowOngoing()"> Only upcoming conferences<br />
</td> </td>
</tr> </tr>
</table> </table>
@@ -90,7 +90,7 @@
<c:when test="${varName == 'true'}"> <c:when test="${varName == 'true'}">
<c:choose> <c:choose>
<c:when test="${conference.currentPhase == 'PAST'}"> <c:when test="${conference.currentPhase == 'PAST'}">
<div class="conferenceBloc cbb isRegistered confPast" style="display:none;height:0px;width:0px;"> <div class="conferenceBloc cbb isRegistered confPast">
<h2> <h2>
${conference.title} - In this conference you are: ${conference.title} - In this conference you are:
<c:forEach items="${listRole}" var="role"> <c:forEach items="${listRole}" var="role">

View File

@@ -62,25 +62,25 @@
<c:choose> <c:choose>
<c:when test="${currentConference.typePDF == true or currentConference.typeLatec == true or currentConference.typeWord == true or currentConference.typeODT == true}"> <c:when test="${currentConference.typePDF == true or currentConference.typeLatec == true or currentConference.typeWord == true or currentConference.typeODT == true}">
<c:if test="${currentConference.typePDF == true}"> <c:if test="${currentConference.typePDF == true}">
.pdf&nbsp; <b>.pdf&nbsp;</b>
</c:if> </c:if>
<c:if test="${currentConference.typeLatec == true}"> <c:if test="${currentConference.typeLatec == true}">
.tex&nbsp; <b>.tex&nbsp;</b>
</c:if> </c:if>
<c:if test="${currentConference.typeWord == true}"> <c:if test="${currentConference.typeWord == true}">
.doc&nbsp;.docx&nbsp; <b>.doc&nbsp;.docx&nbsp;</b>
</c:if> </c:if>
<c:if test="${currentConference.typeODT == true}"> <c:if test="${currentConference.typeODT == true}">
.odt&nbsp; <b>.odt&nbsp;</b>
</c:if> </c:if>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
Any file's type. <b>Any file's type.</b>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
<br /><br /> <br /><br />
Other informations about the submission: ${currentConference.sendInfo} Other informations about the submission: <b>${currentConference.sendInfo}</b>
</div> </div>
<br /> <br />

View File

@@ -56,25 +56,25 @@
<c:choose> <c:choose>
<c:when test="${conferenceReport.typePDF == true or conferenceReport.typeLatec == true or conferenceReport.typeWord == true or conferenceReport.typeODT == true}"> <c:when test="${conferenceReport.typePDF == true or conferenceReport.typeLatec == true or conferenceReport.typeWord == true or conferenceReport.typeODT == true}">
<c:if test="${conferenceReport.typePDF == true}"> <c:if test="${conferenceReport.typePDF == true}">
.pdf&nbsp; <b>.pdf&nbsp;</b>
</c:if> </c:if>
<c:if test="${conferenceReport.typeLatec == true}"> <c:if test="${conferenceReport.typeLatec == true}">
.tex&nbsp; <b>.tex&nbsp;</b>
</c:if> </c:if>
<c:if test="${conferenceReport.typeWord == true}"> <c:if test="${conferenceReport.typeWord == true}">
.doc&nbsp;.docx&nbsp; <b>.doc&nbsp;.docx&nbsp;</b>
</c:if> </c:if>
<c:if test="${conferenceReport.typeODT == true}"> <c:if test="${conferenceReport.typeODT == true}">
.odt&nbsp; <b>.odt&nbsp;</b>
</c:if> </c:if>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
Any file's type. <b>Any file's type.</b>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
<br /><br /> <br /><br />
Other informations about the submission: ${conferenceReport.sendInfo} Other informations about the submission: <b>${conferenceReport.sendInfo}</b>
</div> </div>

View File

@@ -33,7 +33,7 @@
<form:form method="post" enctype="multipart/form-data" commandName="submissionArticle" id="account_data"> <form:form method="post" enctype="multipart/form-data" commandName="submissionArticle" id="account_data">
<p class="legend"><fmt:message key="form.article.information" /></p> <p class="legend"><fmt:message key="form.article.information" /></p>
<p class="formHelp"><fmt:message key="conference.help.step2datelimit" /></p> <p class="formHelp"><fmt:message key="conference.help.step2datelimit" /></p><br />
<fieldset> <fieldset>
<span class="info"><fmt:message key="form.field.necessary" /></span> <span class="info"><fmt:message key="form.field.necessary" /></span>

View File

@@ -72,6 +72,7 @@
class="org.yacos.web.PCmember.controller.ForumController"> class="org.yacos.web.PCmember.controller.ForumController">
<property name="articleManager" ref="articleManager" /> <property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" /> <property name="userManager" ref="userManager" />
<property name="messageManager" ref="messageManager" />
</bean> </bean>
<bean id="ForumArticleController" <bean id="ForumArticleController"
@@ -82,6 +83,11 @@
<property name="formView" value="forumArticle" /> <property name="formView" value="forumArticle" />
<property name="messageManager" ref="messageManager" /> <property name="messageManager" ref="messageManager" />
<property name="articleManager" ref="articleManager" /> <property name="articleManager" ref="articleManager" />
<property name="validator" ref="ForumValidator"/>
</bean>
<bean id="ForumValidator"
class="org.yacos.web.PCmember.validation.ForumArticleValidator">
</bean> </bean>
<bean id="AdminController" <bean id="AdminController"

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -10,6 +10,7 @@ import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView; import org.springframework.web.servlet.view.RedirectView;
import org.yacos.core.article.Article; import org.yacos.core.article.Article;
import org.yacos.core.article.IArticleManager; import org.yacos.core.article.IArticleManager;
import org.yacos.core.article.Article.State;
import org.yacos.core.evaluation.IEvaluationManager; import org.yacos.core.evaluation.IEvaluationManager;
import org.yacos.core.evaluation.Rating; import org.yacos.core.evaluation.Rating;
import org.yacos.core.evaluation.Report; import org.yacos.core.evaluation.Report;
@@ -53,6 +54,12 @@ public class EvaluationRemoveController implements Controller {
if (rpt == null) if (rpt == null)
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));
List<Report> listReport = evaluationManager.getReportsForArticle(article.getId());
if (listReport.size() <= 1) {
article.setState(State.SUBMITED);
articleManager.updateArticle(article);
}
List<Rating> listRating = evaluationManager.getRatingForReport(rpt.getId()); List<Rating> listRating = evaluationManager.getRatingForReport(rpt.getId());
for (Rating rt : listRating) { for (Rating rt : listRating) {
@@ -66,8 +73,14 @@ public class EvaluationRemoveController implements Controller {
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));
} }
// TODO : mettre le bon lien ici String addr = request.getHeader("REFERER");
return new ModelAndView(new RedirectView("listEvaluation.htm"));
if (addr.toLowerCase().contains("role=pcmember"))
return new ModelAndView(new RedirectView("listEvaluation.htm?role=pcmember"));
else if (addr.toLowerCase().contains("role=referee"))
return new ModelAndView(new RedirectView("listEvaluation.htm?role=referee"));
else
throw new ModelAndViewDefiningException(new ModelAndView("denied"));
} }
} }

View File

@@ -1,11 +1,15 @@
package org.yacos.web.PCmember.controller; package org.yacos.web.PCmember.controller;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.validation.BindException; import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException; import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.mvc.SimpleFormController; import org.springframework.web.servlet.mvc.SimpleFormController;
@@ -47,6 +51,19 @@ public class ForumArticleController extends SimpleFormController {
logger.info("Returning message view"); logger.info("Returning message view");
FormArticleMessage fam = new FormArticleMessage();
return fam;
}
@SuppressWarnings("unchecked")
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors) throws Exception {
Map<String, Object> model = new HashMap<String, Object>();
String articleId = request.getParameter("articleId"); String articleId = request.getParameter("articleId");
try { try {
@@ -58,11 +75,10 @@ public class ForumArticleController extends SimpleFormController {
List<Message> listMessage = messageManager.getMessagesForArticle(id); List<Message> listMessage = messageManager.getMessagesForArticle(id);
request.getSession().setAttribute("listMessage", listMessage); model.put("listMessage", listMessage);
FormArticleMessage fam = new FormArticleMessage(); return model;
return fam;
} }
catch (NumberFormatException e) { catch (NumberFormatException e) {
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));

View File

@@ -3,11 +3,9 @@ package org.yacos.web.PCmember.controller;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@@ -17,8 +15,10 @@ import org.yacos.core.article.Article;
import org.yacos.core.article.IArticleManager; import org.yacos.core.article.IArticleManager;
import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.Conference;
import org.yacos.core.exceptions.ConferenceDoesntExistException; import org.yacos.core.exceptions.ConferenceDoesntExistException;
import org.yacos.core.forum.IMessageManager;
import org.yacos.core.users.IUserManager; import org.yacos.core.users.IUserManager;
import org.yacos.core.users.Role.RoleType; import org.yacos.core.users.Role.RoleType;
import org.yacos.web.PCmember.form.ArticleForumBean;
import org.yacos.web.system.controller.NoConferenceSelectedException; import org.yacos.web.system.controller.NoConferenceSelectedException;
import org.yacos.web.system.session.SessionService; import org.yacos.web.system.session.SessionService;
@@ -27,8 +27,17 @@ public class ForumController extends SimpleFormController {
protected final Log logger = LogFactory.getLog(getClass()); protected final Log logger = LogFactory.getLog(getClass());
private IArticleManager articleManager; private IArticleManager articleManager;
private IMessageManager messageManager;
private IUserManager userManager; private IUserManager userManager;
public IMessageManager getMessageManager() {
return messageManager;
}
public void setMessageManager(IMessageManager messageManager) {
this.messageManager = messageManager;
}
public IArticleManager getArticleManager() { public IArticleManager getArticleManager() {
return articleManager; return articleManager;
} }
@@ -55,24 +64,44 @@ public class ForumController extends SimpleFormController {
String person = request.getParameter("role"); String person = request.getParameter("role");
if(person == null){ if(person == null || person.equals("")){
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));
} }
List<ArticleForumBean> listArticleBean = new ArrayList<ArticleForumBean>();
if (person.equals("pcmember")) { if (person.equals("pcmember")) {
if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.PCMEMBER, conf.getId())) { if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.PCMEMBER, conf.getId())) {
listArticle = articleManager.getArticlesOfMember(conf.getId(), SessionService.getInstance().getCurrentUserLogin()); listArticle = articleManager.getArticlesOfMember(conf.getId(), SessionService.getInstance().getCurrentUserLogin());
for (Article a : listArticle) {
ArticleForumBean afb = new ArticleForumBean();
afb.setA(a);
afb.setNumberMessage(messageManager.getMessagesForArticle(a.getId()).size());
listArticleBean.add(afb);
}
} }
else
throw new ModelAndViewDefiningException(new ModelAndView("denied"));
} }
else if (person.equals("chairman")) { else if (person.equals("chairman")) {
if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.CHAIRMAN, conf.getId())) { if (userManager.hasRoleForConference(SessionService.getInstance().getCurrentUserLogin(), RoleType.CHAIRMAN, conf.getId())) {
listArticle = articleManager.getArticles(conf.getId()); listArticle = articleManager.getArticles(conf.getId());
for (Article a : listArticle) {
ArticleForumBean afb = new ArticleForumBean();
afb.setA(a);
afb.setNumberMessage(messageManager.getMessagesForArticle(a.getId()).size());
listArticleBean.add(afb);
}
} }
else
throw new ModelAndViewDefiningException(new ModelAndView("denied"));
} }
else else
throw new ModelAndViewDefiningException(new ModelAndView("denied")); throw new ModelAndViewDefiningException(new ModelAndView("denied"));
return new ModelAndView("forum", "listArticle", listArticle); return new ModelAndView("forum", "listArticle", listArticleBean);
} }
} }

View File

@@ -0,0 +1,23 @@
package org.yacos.web.PCmember.form;
import org.yacos.core.article.Article;
public class ArticleForumBean {
private Article a;
private Integer numberMessage;
public Article getA() {
return a;
}
public void setA(Article a) {
this.a = a;
}
public Integer getNumberMessage() {
return numberMessage;
}
public void setNumberMessage(Integer numberMessage) {
this.numberMessage = numberMessage;
}
}

View File

@@ -0,0 +1,18 @@
package org.yacos.web.PCmember.validation;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import org.yacos.web.PCmember.form.FormArticleMessage;
public class ForumArticleValidator implements Validator {
@SuppressWarnings("unchecked")
public boolean supports(Class commandClass) {
return commandClass.isAssignableFrom(FormArticleMessage.class);
}
public void validate(Object commandObject, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "message", "forum.validation");
}
}

View File

@@ -1,6 +1,8 @@
package org.yacos.web.author.controller; package org.yacos.web.author.controller;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -34,7 +36,12 @@ public class DetailArticleController extends SimpleFormController {
if (article == null) if (article == null)
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));
return new ModelAndView("detailArticle", "article", article); Map <String, Object> model = new HashMap<String, Object>();
model.put("whereIcome", request.getHeader("REFERER"));
model.put("article", article);
return new ModelAndView("detailArticle", model);
} }
catch (NumberFormatException e) { catch (NumberFormatException e) {
throw new ModelAndViewDefiningException(new ModelAndView("404error")); throw new ModelAndViewDefiningException(new ModelAndView("404error"));

View File

@@ -21,6 +21,7 @@ import org.springframework.web.servlet.mvc.AbstractWizardFormController;
import org.springframework.web.servlet.view.RedirectView; import org.springframework.web.servlet.view.RedirectView;
import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.Conference;
import org.yacos.core.conferences.IConferenceManager; import org.yacos.core.conferences.IConferenceManager;
import org.yacos.core.conferences.Conference.Phase;
import org.yacos.core.evaluation.Criterion; import org.yacos.core.evaluation.Criterion;
import org.yacos.core.evaluation.IEvaluationManager; import org.yacos.core.evaluation.IEvaluationManager;
import org.yacos.core.exceptions.ConferenceDoesntExistException; import org.yacos.core.exceptions.ConferenceDoesntExistException;
@@ -476,7 +477,7 @@ public class AddConferenceController extends AbstractWizardFormController {
mailBody += "You've been invited to join the program comity of the conference :\n"; mailBody += "You've been invited to join the program comity of the conference :\n";
mailBody += conf.getTitle()+"/n"; mailBody += conf.getTitle()+"/n";
mailBody += "You can register on this page : \n"; mailBody += "You can register on this page : \n";
mailBody += YACOSUtils.fullURL("registerUser.htm")+" /n"; mailBody += YACOSUtils.fullURL("registerUser.htm")+" \n";
mailBody += "Please note that you MUST use this eMail address in the registration form in order to get the appropriate credentials."; mailBody += "Please note that you MUST use this eMail address in the registration form in order to get the appropriate credentials.";
// TODO : use a template // TODO : use a template
for(String invitationEmail : listInvitations){ for(String invitationEmail : listInvitations){
@@ -514,22 +515,25 @@ public class AddConferenceController extends AbstractWizardFormController {
conferenceManager.update(conf); conferenceManager.update(conf);
conferenceManager.removeCriterionToConference(conf.getId()); if (conf.getCurrentPhase() == Phase.CALL_FOR_PAPER) {
for(CriterionBean criterion : criteria){ conferenceManager.removeCriterionToConference(conf.getId());
conferenceManager.addCriterionToConference(
conf.getId(),
criterion.getLabel(),
criterion.getMin(),
criterion.getMax());
}
conferenceManager.removePCMemberForConf(conf.getId()); for(CriterionBean criterion : criteria){
conferenceManager.addCriterionToConference(
conf.getId(),
criterion.getLabel(),
criterion.getMin(),
criterion.getMax());
}
for(PersonBean personBean : listPersonAdded){ conferenceManager.removePCMemberForConf(conf.getId());
conferenceManager.addPCMemberToConference(
conf.getId(), for(PersonBean personBean : listPersonAdded){
personBean.getLogin()); conferenceManager.addPCMemberToConference(
conf.getId(),
personBean.getLogin());
}
} }
} }