Policy failures:
Code warning - failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 209 - failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 20 Override reason: c
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.generic.runtimeTarget/JBoss v4.2"/>
|
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.generic.runtimeTarget/JBoss v4.2"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/YACOSCore"/>
|
<classpathentry combineaccessrules="false" kind="src" path="/YACOSCore"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
<classpathentry kind="output" path="build/classes"/>
|
<classpathentry kind="output" path="build/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
7
YACOSWeb/.settings/org.eclipse.jdt.core.prefs
Normal file
7
YACOSWeb/.settings/org.eclipse.jdt.core.prefs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#Wed Feb 20 12:50:07 CET 2008
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.6
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#Wed Dec 12 11:00:14 GMT+01:00 2007
|
#Wed Feb 20 12:50:07 CET 2008
|
||||||
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.6.0_02/owners=jst.java\:5.0
|
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER/owners=jst.java\:6.0
|
||||||
classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.generic.runtimeTarget\:\:JBoss\ v4.2/owners=jst.web\:2.5
|
classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.generic.runtimeTarget\:\:JBoss\ v4.2/owners=jst.web\:2.5
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
<runtime name="JBoss v4.2"/>
|
<runtime name="JBoss v4.2"/>
|
||||||
<fixed facet="jst.java"/>
|
<fixed facet="jst.java"/>
|
||||||
<fixed facet="jst.web"/>
|
<fixed facet="jst.web"/>
|
||||||
<installed facet="jst.java" version="5.0"/>
|
|
||||||
<installed facet="jst.web" version="2.5"/>
|
<installed facet="jst.web" version="2.5"/>
|
||||||
|
<installed facet="jst.java" version="6.0"/>
|
||||||
</faceted-project>
|
</faceted-project>
|
||||||
|
|||||||
@@ -252,9 +252,17 @@ invitation.send=Send an invitation
|
|||||||
|
|
||||||
|
|
||||||
#DispatchMembers
|
#DispatchMembers
|
||||||
members.List1=Members of the conference
|
members.list1=Members of the conference
|
||||||
members.List2=Members associate to the article
|
members.list2=Members associate to the article
|
||||||
dipatchArticle.description=Article's description
|
dipatchArticle.description=Article's description
|
||||||
|
dipatchArticle.choose=Dispatch the articles between the members
|
||||||
|
disptachArticle.help=Click on an article to dispatch the members
|
||||||
|
|
||||||
|
#DelegateArticles
|
||||||
|
delegateArticles.choose=delegate the articles between to the referees
|
||||||
|
delegateArticles.list1= referees of the conference
|
||||||
|
delegateArticles.list2= referees aassociate to the article
|
||||||
|
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
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<li><a href="<c:url value="addConference.htm"/>"><fmt:message key="menu.chairman.conference.create" /></a></li>
|
<li><a href="<c:url value="addConference.htm"/>"><fmt:message key="menu.chairman.conference.create" /></a></li>
|
||||||
</authz:authorize>
|
</authz:authorize>
|
||||||
<li><a href="<c:url value="addConference.htm?action=modify"/>"><fmt:message key="menu.chairman.conference.modify" /></a></li>
|
<li><a href="<c:url value="addConference.htm?action=modify"/>"><fmt:message key="menu.chairman.conference.modify" /></a></li>
|
||||||
<li><a href="<c:url value="dispatchArticleList.htm"/>"><fmt:message key="menu.chairman.article.dispatch" /></a></li>
|
<li><a href="<c:url value="dispatchArticle.htm"/>"><fmt:message key="menu.chairman.article.dispatch" /></a></li>
|
||||||
<li><a href="<c:url value="validateArticle.htm"/>"><fmt:message key="menu.chairman.article.validate" /></a></li>
|
<li><a href="<c:url value="validateArticle.htm"/>"><fmt:message key="menu.chairman.article.validate" /></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="footer"></div>
|
<div id="footer"></div>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<h4><fmt:message key="menu.pcmember.title" /></h4>
|
<h4><fmt:message key="menu.pcmember.title" /></h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="<c:url value="choosePreference.htm"/>"><fmt:message key="menu.pcmember.article.preference" /></a></li>
|
<li><a href="<c:url value="choosePreference.htm"/>"><fmt:message key="menu.pcmember.article.preference" /></a></li>
|
||||||
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.delegate" /></a></li>
|
<li><a href="<c:url value="delegateArticle.htm"/>"><fmt:message key="menu.pcmember.article.delegate" /></a></li>
|
||||||
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation" /></a></li>
|
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation" /></a></li>
|
||||||
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation.modify" /></a></li>
|
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation.modify" /></a></li>
|
||||||
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.discussion" /></a></li>
|
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.discussion" /></a></li>
|
||||||
|
|||||||
214
YACOSWeb/WebContent/WEB-INF/jsp/delegateArticle.jsp
Normal file
214
YACOSWeb/WebContent/WEB-INF/jsp/delegateArticle.jsp
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||||
|
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||||
|
<script type='text/javascript' src='./dwr/engine.js'></script>
|
||||||
|
<script type='text/javascript' src='./dwr/util.js'></script>
|
||||||
|
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
var selectedArticleId;
|
||||||
|
var articleId;
|
||||||
|
var pattern;
|
||||||
|
|
||||||
|
function showDetail(artId){
|
||||||
|
articleId = artId;
|
||||||
|
var divTitle = 'title'+artId;
|
||||||
|
var divArticle = 'article'+artId;
|
||||||
|
|
||||||
|
if (!$(divTitle).hasClassName('selected')){
|
||||||
|
if(selectedArticleId != null){
|
||||||
|
removeAll(selectedArticleId);
|
||||||
|
$('title'+selectedArticleId).removeClassName('selected');
|
||||||
|
//new Effect.SlideUp('dispatcher'+selectedArticleId);
|
||||||
|
$('dispatcher'+selectedArticleId).hide();
|
||||||
|
}
|
||||||
|
selectedArticleId = articleId;
|
||||||
|
$(divTitle).addClassName('selected');
|
||||||
|
initDispatcher(divArticle);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
removeAll(articleId);
|
||||||
|
//$('dispatcher'+articleId).remove();
|
||||||
|
//new Effect.SlideUp('dispatcher'+articleId);
|
||||||
|
$('dispatcher'+articleId).hide();
|
||||||
|
$(divTitle).removeClassName('selected');
|
||||||
|
selectedArticleId = null;
|
||||||
|
//, {afterFinish:function(){$('dispatcher').remove();}});
|
||||||
|
// $('dispatcherPattern').innerHTML = pattern;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initDispatcher(elementId){
|
||||||
|
//container
|
||||||
|
|
||||||
|
//var pattern = $('dispatcherPattern').innerHTML
|
||||||
|
|
||||||
|
//$('dispatcherPattern').innerHTML = "";
|
||||||
|
//var elem = new Element('div',
|
||||||
|
//{'class':'dynamicListItem',
|
||||||
|
//'id':"dispatcher"}).update(pattern);
|
||||||
|
|
||||||
|
//$(elementId).insert(elem);
|
||||||
|
//listes
|
||||||
|
//DispatchArticlesJS.sayHello(articleId,retour);
|
||||||
|
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
||||||
|
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
||||||
|
|
||||||
|
|
||||||
|
//new Effect.SlideDown('dispatcher'+articleId);
|
||||||
|
$('dispatcher'+articleId).show();
|
||||||
|
//buttons
|
||||||
|
//$('addButton').observe("click",addRemote());
|
||||||
|
//$('removeButton').observe("click",removeRemote());
|
||||||
|
//$('dispatcherPattern').innerHTML = pattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
function retour(data){
|
||||||
|
alert(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillListArticleMembers(data){
|
||||||
|
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
var member = data[i];
|
||||||
|
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||||
|
+ " preferences:"+ member.preference;
|
||||||
|
var elem = new Element('div',
|
||||||
|
{'class':'dynamicListItem','id':member.login,
|
||||||
|
"style":"border:1px"}).update(value);
|
||||||
|
$('membersArticleList'+articleId).insert(elem);
|
||||||
|
elem.observe('click', function(event){
|
||||||
|
select(Event.element(event));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillListMembers(data){
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
var member = data[i];
|
||||||
|
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||||
|
+ " preferences:"+ member.preference;
|
||||||
|
var elem = new Element('div',
|
||||||
|
{'class':'dynamicListItem','id':member.login,
|
||||||
|
"style":"border:1px"}).update(value);
|
||||||
|
$('membersList'+articleId).insert(elem);
|
||||||
|
elem.observe('click', function(event){
|
||||||
|
select(Event.element(event));
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function select(elem){
|
||||||
|
var item = elem;
|
||||||
|
if(item.hasClassName('selected')){
|
||||||
|
item.removeClassName('selected');
|
||||||
|
} else {
|
||||||
|
item.addClassName('selected');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeRemote() {
|
||||||
|
var itemsToRemove = $('membersList'+articleId).select('div.selected');
|
||||||
|
var membersId = itemsToRemove.pluck('id');
|
||||||
|
//var articleId = $('articleId').value;
|
||||||
|
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove() {
|
||||||
|
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
|
||||||
|
//suppression dans la premi<6D>re liste
|
||||||
|
itemsToRemove.invoke('remove');
|
||||||
|
|
||||||
|
//ajout dans la seconde liste
|
||||||
|
if (itemsToRemove.length != 0){
|
||||||
|
for (var i = 0; i < itemsToRemove.length; i++) {
|
||||||
|
item = itemsToRemove[i];
|
||||||
|
item.removeClassName('selected');
|
||||||
|
$('membersList'+articleId).insert(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addRemote(){
|
||||||
|
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||||
|
var membersId = itemsToAdd.pluck('id');
|
||||||
|
//var articleId = $('articleId').value;
|
||||||
|
DispatchArticlesJS.addMembers(membersId, articleId, add());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||||
|
//suppression dans la premi<6D>re liste
|
||||||
|
itemsToAdd.invoke('remove');
|
||||||
|
|
||||||
|
//ajout dans la seconde liste
|
||||||
|
if (itemsToAdd.length != 0){
|
||||||
|
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||||
|
item = itemsToAdd[i];
|
||||||
|
item.removeClassName('selected');
|
||||||
|
$('membersArticleList'+articleId).insert(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeAll(artId){
|
||||||
|
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
|
||||||
|
itemsToRemove.invoke('remove');
|
||||||
|
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
|
||||||
|
itemsToRemove.invoke('remove');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
|
||||||
|
<p class="formHelp">
|
||||||
|
<fmt:message key="delegateArticles.help" />
|
||||||
|
</p>
|
||||||
|
<c:forEach var="article" items="${articles}">
|
||||||
|
|
||||||
|
<div class=" conferenceBloc cbb">
|
||||||
|
<div id="article${article.id}">
|
||||||
|
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
||||||
|
<h2>
|
||||||
|
|
||||||
|
title : ${article.title}
|
||||||
|
<br/>theme: ${article.topic}
|
||||||
|
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
||||||
|
<a href="${article.URL_article}">download the article</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div id='dispatcher${article.id}' style="display:none;">
|
||||||
|
<table style="width:100%;">
|
||||||
|
<tr><td>
|
||||||
|
<h1><fmt:message key="members.List1"/></h1>
|
||||||
|
|
||||||
|
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td><td>
|
||||||
|
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
|
||||||
|
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
|
||||||
|
</td><td>
|
||||||
|
<h1><fmt:message key="members.List2"/></h1>
|
||||||
|
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||||
|
</div>
|
||||||
|
</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -2,76 +2,124 @@
|
|||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
||||||
|
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
||||||
<script type='text/javascript' src='./dwr/engine.js'></script>
|
<script type='text/javascript' src='./dwr/engine.js'></script>
|
||||||
<script type='text/javascript' src='./dwr/util.js'></script>
|
<script type='text/javascript' src='./dwr/util.js'></script>
|
||||||
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
||||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
<script type="text/javascript">
|
||||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
|
||||||
|
|
||||||
<script type='text/javascript'>
|
var selectedArticleId;
|
||||||
|
var articleId;
|
||||||
|
var pattern;
|
||||||
|
|
||||||
|
function showDetail(artId){
|
||||||
|
articleId = artId;
|
||||||
|
var divTitle = 'title'+artId;
|
||||||
|
var divArticle = 'article'+artId;
|
||||||
|
|
||||||
|
if (!$(divTitle).hasClassName('selected')){
|
||||||
|
if(selectedArticleId != null){
|
||||||
|
removeAll(selectedArticleId);
|
||||||
|
$('title'+selectedArticleId).removeClassName('selected');
|
||||||
|
//new Effect.SlideUp('dispatcher'+selectedArticleId);
|
||||||
|
$('dispatcher'+selectedArticleId).hide();
|
||||||
|
}
|
||||||
|
selectedArticleId = articleId;
|
||||||
|
$(divTitle).addClassName('selected');
|
||||||
|
initDispatcher(divArticle);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
removeAll(articleId);
|
||||||
|
//$('dispatcher'+articleId).remove();
|
||||||
|
//new Effect.SlideUp('dispatcher'+articleId);
|
||||||
|
$('dispatcher'+articleId).hide();
|
||||||
|
$(divTitle).removeClassName('selected');
|
||||||
|
selectedArticleId = null;
|
||||||
|
//, {afterFinish:function(){$('dispatcher').remove();}});
|
||||||
|
// $('dispatcherPattern').innerHTML = pattern;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initDispatcher(elementId){
|
||||||
|
//container
|
||||||
|
|
||||||
|
//var pattern = $('dispatcherPattern').innerHTML
|
||||||
|
|
||||||
|
//$('dispatcherPattern').innerHTML = "";
|
||||||
|
//var elem = new Element('div',
|
||||||
|
//{'class':'dynamicListItem',
|
||||||
|
//'id':"dispatcher"}).update(pattern);
|
||||||
|
|
||||||
|
//$(elementId).insert(elem);
|
||||||
|
//listes
|
||||||
|
//DispatchArticlesJS.sayHello(articleId,retour);
|
||||||
|
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
||||||
|
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
||||||
|
|
||||||
|
|
||||||
var InvitationsManager = Class.create({
|
//new Effect.SlideDown('dispatcher'+articleId);
|
||||||
initialize: function(buttonAdd,buttonRemove){
|
$('dispatcher'+articleId).show();
|
||||||
this.buttonAdd = buttonAdd;
|
//buttons
|
||||||
this.buttonRemove = buttonRemove;
|
//$('addButton').observe("click",addRemote());
|
||||||
|
//$('removeButton').observe("click",removeRemote());
|
||||||
|
//$('dispatcherPattern').innerHTML = pattern;
|
||||||
|
}
|
||||||
|
|
||||||
$(buttonAdd).observe("click",this.addRemote.bind(this));
|
function retour(data){
|
||||||
$(buttonRemove).observe("click",this.removeRemote.bind(this));
|
alert(data);
|
||||||
|
}
|
||||||
|
|
||||||
DispatchArticlesJS.getMembersWithTheArticle($('articleId').value,this.fillListArticleMembers.bind(this));
|
function fillListArticleMembers(data){
|
||||||
DispatchArticlesJS.getMembersWithoutTheArticle($('articleId').value,this.fillListMembers.bind(this));
|
|
||||||
},
|
|
||||||
|
|
||||||
fillListArticleMembers: function(data){
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var member = data[i];
|
var member = data[i];
|
||||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||||
+ " preferences:"+ member.Preference;
|
+ " preferences:"+ member.preference;
|
||||||
var elem = new Element('div',
|
var elem = new Element('div',
|
||||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
{'class':'dynamicListItem','id':member.login,
|
||||||
$('membersArticleList').insert(elem);
|
"style":"border:1px"}).update(value);
|
||||||
elem.observe('click', this.select.bindAsEventListener());
|
$('membersArticleList'+articleId).insert(elem);
|
||||||
|
elem.observe('click', function(event){
|
||||||
|
select(Event.element(event));
|
||||||
//a placer sur tous les items :
|
});
|
||||||
//elem.observe('click', this.select.bindAsEventListener());
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
fillListMembers: function(data){
|
|
||||||
|
|
||||||
|
function fillListMembers(data){
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var member = data[i];
|
var member = data[i];
|
||||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
|
||||||
+ " preferences:"+ member.Preference;
|
+ " preferences:"+ member.preference;
|
||||||
var elem = new Element('div',
|
var elem = new Element('div',
|
||||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
{'class':'dynamicListItem','id':member.login,
|
||||||
$('membersList').insert(elem);
|
"style":"border:1px"}).update(value);
|
||||||
elem.observe('click', this.select.bindAsEventListener());
|
$('membersList'+articleId).insert(elem);
|
||||||
}
|
elem.observe('click', function(event){
|
||||||
},
|
select(Event.element(event));
|
||||||
|
});
|
||||||
|
|
||||||
select: function(event){
|
}
|
||||||
var item = event.element();
|
}
|
||||||
|
|
||||||
|
function select(elem){
|
||||||
|
var item = elem;
|
||||||
if(item.hasClassName('selected')){
|
if(item.hasClassName('selected')){
|
||||||
item.removeClassName('selected');
|
item.removeClassName('selected');
|
||||||
} else {
|
} else {
|
||||||
item.addClassName('selected');
|
item.addClassName('selected');
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
removeRemote: function() {
|
function removeRemote() {
|
||||||
var itemsToRemove = $('membersList').select('div.selected');
|
var itemsToRemove = $('membersList'+articleId).select('div.selected');
|
||||||
var membersId = itemsToRemove.pluck('id');
|
var membersId = itemsToRemove.pluck('id');
|
||||||
var articleId = $('articleId').value;
|
//var articleId = $('articleId').value;
|
||||||
DispatchArticlesJS.removeMembers(membersId, articleId, this.remove.bind(this));
|
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
||||||
},
|
}
|
||||||
|
|
||||||
remove: function() {
|
function remove() {
|
||||||
var itemsToRemove = $('membersArticleList').select('div.selected');
|
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
|
||||||
//suppression dans la premi<6D>re liste
|
//suppression dans la premi<6D>re liste
|
||||||
itemsToRemove.invoke('remove');
|
itemsToRemove.invoke('remove');
|
||||||
|
|
||||||
@@ -80,21 +128,21 @@
|
|||||||
for (var i = 0; i < itemsToRemove.length; i++) {
|
for (var i = 0; i < itemsToRemove.length; i++) {
|
||||||
item = itemsToRemove[i];
|
item = itemsToRemove[i];
|
||||||
item.removeClassName('selected');
|
item.removeClassName('selected');
|
||||||
$('membersList').insert(item);
|
$('membersList'+articleId).insert(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
addRemote: function(){
|
function addRemote(){
|
||||||
var itemsToAdd = $('membersList').select('div.selected');
|
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||||
var membersId = itemsToAdd.pluck('id');
|
var membersId = itemsToAdd.pluck('id');
|
||||||
var articleId = $('articleId').value;
|
//var articleId = $('articleId').value;
|
||||||
DispatchArticlesJS.removeMembers(membersId, articleId, this.add.bind(this));
|
DispatchArticlesJS.addMembers(membersId, articleId, add());
|
||||||
|
|
||||||
},
|
}
|
||||||
|
|
||||||
add: function() {
|
function add() {
|
||||||
var itemsToAdd = $('membersList').select('div.selected');
|
var itemsToAdd = $('membersList'+articleId).select('div.selected');
|
||||||
//suppression dans la premi<6D>re liste
|
//suppression dans la premi<6D>re liste
|
||||||
itemsToAdd.invoke('remove');
|
itemsToAdd.invoke('remove');
|
||||||
|
|
||||||
@@ -103,44 +151,61 @@
|
|||||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||||
item = itemsToAdd[i];
|
item = itemsToAdd[i];
|
||||||
item.removeClassName('selected');
|
item.removeClassName('selected');
|
||||||
$('membersArticleList').insert(item);
|
$('membersArticleList'+articleId).insert(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeAll(artId){
|
||||||
});
|
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
|
||||||
|
itemsToRemove.invoke('remove');
|
||||||
Event.observe(window,'load', function(){
|
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
|
||||||
new DispatcheManager('addButton','removeButton')});
|
itemsToRemove.invoke('remove');
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div>
|
||||||
|
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
|
||||||
|
<p class="formHelp">
|
||||||
|
<fmt:message key="disptachArticle.help" />
|
||||||
|
</p>
|
||||||
|
<c:forEach var="article" items="${articles}">
|
||||||
|
<div class=" conferenceBloc cbb">
|
||||||
|
<div id="article${article.id}">
|
||||||
|
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
||||||
|
<h2>
|
||||||
|
|
||||||
<div id=dispatcher></div>
|
title : ${article.title}
|
||||||
|
<br/>theme: ${article.topic}
|
||||||
|
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
||||||
|
<a href="${article.URL_article}">download the article</a>
|
||||||
|
|
||||||
<h4 class="title">NO NAME</h4>
|
</h2>
|
||||||
|
</div>
|
||||||
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
|
<div id='dispatcher${article.id}' style="display:none;">
|
||||||
|
<table style="width:100%;">
|
||||||
<input type=hidden id="articleId" value="${article.id}">
|
<tr><td>
|
||||||
|
<h1><fmt:message key="members.list1"/></h1>
|
||||||
<div style="display:inline;border:1px">
|
|
||||||
<h2><fmt:message key="members.List1"/></h2>
|
|
||||||
<div id="membersList">
|
|
||||||
|
|
||||||
|
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="button" id="addButton" value="add"/>
|
</td><td>
|
||||||
<input type="button" id="removeButton" value="remove"/>
|
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
|
||||||
|
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
|
||||||
<h2><fmt:message key="members.List2"/></h2>
|
</td><td>
|
||||||
<div id="membersArticleList">
|
<h1><fmt:message key="members.list2"/></h1>
|
||||||
|
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
|
||||||
|
</div>
|
||||||
|
</td></tr>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
<div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
<%@ include file="/WEB-INF/decorators/include.jsp"%>
|
|
||||||
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<script type='text/javascript' src='./javascripts/prototype.js'></script>
|
|
||||||
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
|
|
||||||
<script type='text/javascript' src='./dwr/engine.js'></script>
|
|
||||||
<script type='text/javascript' src='./dwr/util.js'></script>
|
|
||||||
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
var selectedElement;
|
|
||||||
var articleId;
|
|
||||||
|
|
||||||
function showDetail(artId){
|
|
||||||
var articleId = artId;
|
|
||||||
var divTitle = 'title'+artId;
|
|
||||||
var divArticle = 'article'+artId;
|
|
||||||
if (!$(divTitle).hasClassName('selected')){
|
|
||||||
|
|
||||||
if($('dispatcher')!= null){
|
|
||||||
$('dispatcher').remove();
|
|
||||||
selectedElement.removeClassName('selected');
|
|
||||||
}
|
|
||||||
selectedElement = $(divTitle);
|
|
||||||
$(divTitle).addClassName('selected');
|
|
||||||
initDispatcher(divArticle);
|
|
||||||
|
|
||||||
}else{
|
|
||||||
$(divTitle).removeClassName('selected');
|
|
||||||
new Effect.SlideUp('dispatcher', {afterFinish:function(){$('dispatcher').remove();}});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function initDispatcher(elementId){
|
|
||||||
|
|
||||||
//container
|
|
||||||
var pattern = $('dispatcherPattern').innerHTML;
|
|
||||||
var elem = new Element('div',
|
|
||||||
{'class':'dynamicListItem',
|
|
||||||
'style':'background:pink;display:none',
|
|
||||||
'id':"dispatcher"}).update(pattern);
|
|
||||||
$(elementId).insert(elem);
|
|
||||||
new Effect.SlideDown('dispatcher');
|
|
||||||
|
|
||||||
//listes
|
|
||||||
//DispatchArticlesJS.sayHello("maxime",retour);
|
|
||||||
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
|
|
||||||
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
|
|
||||||
|
|
||||||
//buttons
|
|
||||||
$('addButton').observe("click",addRemote());
|
|
||||||
$('removeButton').observe("click",removeRemote());
|
|
||||||
}
|
|
||||||
|
|
||||||
function retour(data){
|
|
||||||
alert(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
function fillListArticleMembers(data){
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; i++) {
|
|
||||||
var member = data[i];
|
|
||||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
|
||||||
+ " preferences:"+ member.Preference;
|
|
||||||
var elem = new Element('div',
|
|
||||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
|
||||||
$('membersArticleList').insert(elem);
|
|
||||||
elem.observe('click', this.select.bindAsEventListener());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function fillListMembers(data){
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; i++) {
|
|
||||||
var member = data[i];
|
|
||||||
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
|
|
||||||
+ " preferences:"+ member.Preference;
|
|
||||||
var elem = new Element('div',
|
|
||||||
{'class':'dynamicListItem','id':member.login}).update(value);
|
|
||||||
$('membersList').insert(elem);
|
|
||||||
elem.observe('click', select(elem));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function select(item){
|
|
||||||
if(item.hasClassName('selected')){
|
|
||||||
item.removeClassName('selected');
|
|
||||||
} else {
|
|
||||||
item.addClassName('selected');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeRemote() {
|
|
||||||
var itemsToRemove = $('membersList').select('div.selected');
|
|
||||||
var membersId = itemsToRemove.pluck('id');
|
|
||||||
//var articleId = $('articleId').value;
|
|
||||||
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
|
|
||||||
}
|
|
||||||
|
|
||||||
function remove() {
|
|
||||||
var itemsToRemove = $('membersArticleList').select('div.selected');
|
|
||||||
//suppression dans la premi<6D>re liste
|
|
||||||
itemsToRemove.invoke('remove');
|
|
||||||
|
|
||||||
//ajout dans la seconde liste
|
|
||||||
if (itemsToRemove.length != 0){
|
|
||||||
for (var i = 0; i < itemsToRemove.length; i++) {
|
|
||||||
item = itemsToRemove[i];
|
|
||||||
item.removeClassName('selected');
|
|
||||||
$('membersList').insert(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addRemote(){
|
|
||||||
var itemsToAdd = $('membersList').select('div.selected');
|
|
||||||
var membersId = itemsToAdd.pluck('id');
|
|
||||||
//var articleId = $('articleId').value;
|
|
||||||
DispatchArticlesJS.removeMembers(membersId, articleId, add());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function add() {
|
|
||||||
var itemsToAdd = $('membersList').select('div.selected');
|
|
||||||
//suppression dans la premi<6D>re liste
|
|
||||||
itemsToAdd.invoke('remove');
|
|
||||||
|
|
||||||
//ajout dans la seconde liste
|
|
||||||
if (itemsToAdd.length != 0){
|
|
||||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
|
||||||
item = itemsToAdd[i];
|
|
||||||
item.removeClassName('selected');
|
|
||||||
$('membersArticleList').insert(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id='dispatcherPattern' style="display:none">
|
|
||||||
<table>
|
|
||||||
<tr><td>
|
|
||||||
<h1><fmt:message key="members.List1"/></h1>
|
|
||||||
<div id="membersList">
|
|
||||||
</div>
|
|
||||||
</td><td>
|
|
||||||
<input type="button" id="addButton" value="add>>>"/><br/>
|
|
||||||
<input type="button" id="removeButton" value="<<<remove"/>
|
|
||||||
</td><td>
|
|
||||||
<h1><fmt:message key="members.List2"/></h1>
|
|
||||||
<div id="membersArticleList">
|
|
||||||
</div>
|
|
||||||
</td></tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
|
|
||||||
<c:forEach var="article" items="${articles}">
|
|
||||||
<div id="article${article.id}">
|
|
||||||
<div id="title${article.id}" onclick="showDetail(${article.id})">
|
|
||||||
<h2>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>title : ${article.title}
|
|
||||||
<br/>theme: ${article.topic}
|
|
||||||
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
|
|
||||||
<td><a href="${article.URL_article}">download the article</a></td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</c:forEach>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
</html>
|
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
<prop key="/registerUser.htm">SUserRegistrationController</prop>
|
<prop key="/registerUser.htm">SUserRegistrationController</prop>
|
||||||
<prop key="/submissionArticle.htm">SArticleController</prop>
|
<prop key="/submissionArticle.htm">SArticleController</prop>
|
||||||
<prop key="/choosePreference.htm">ChoosePreferenceController</prop>
|
<prop key="/choosePreference.htm">ChoosePreferenceController</prop>
|
||||||
<prop key="/dispatchArticleList.htm">DispatchArticleListController</prop>
|
|
||||||
<prop key="/dispatchArticle.htm">DispatchArticleController</prop>
|
<prop key="/dispatchArticle.htm">DispatchArticleController</prop>
|
||||||
|
<prop key="/delegateArticle.htm">DelegateArticleController</prop>
|
||||||
<prop key="/addConference.htm">AddConferenceController</prop>
|
<prop key="/addConference.htm">AddConferenceController</prop>
|
||||||
<prop key="/reportConfCreate.htm">ReportConfCreateController</prop>
|
<prop key="/reportConfCreate.htm">ReportConfCreateController</prop>
|
||||||
<prop key="/evaluation.htm">EvaluationController</prop>
|
<prop key="/evaluation.htm">EvaluationController</prop>
|
||||||
@@ -172,21 +172,21 @@
|
|||||||
|
|
||||||
<bean id="DispatchArticleController"
|
<bean id="DispatchArticleController"
|
||||||
class="org.yacos.web.chairman.controller.DispatchArticleController">
|
class="org.yacos.web.chairman.controller.DispatchArticleController">
|
||||||
|
|
||||||
<property name="articleManager" ref="articleManager" />
|
|
||||||
<property name="userManager" ref="userManager" />
|
|
||||||
<property name="conferenceManager" ref="conferenceManager" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
|
|
||||||
<bean id="DispatchArticleListController"
|
|
||||||
class="org.yacos.web.chairman.controller.DispatchArticleListController">
|
|
||||||
<dwr:remote javascript="DispatchArticlesJS" />
|
<dwr:remote javascript="DispatchArticlesJS" />
|
||||||
<property name="articleManager" ref="articleManager" />
|
<property name="articleManager" ref="articleManager" />
|
||||||
<property name="userManager" ref="userManager" />
|
<property name="userManager" ref="userManager" />
|
||||||
<property name="conferenceManager" ref="conferenceManager" />
|
<property name="conferenceManager" ref="conferenceManager" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
<bean id="DelegateArticleController"
|
||||||
|
class="org.yacos.web.PCmember.controller.DelegateArticleController">
|
||||||
|
<dwr:remote javascript="DelegateArticlesJS" />
|
||||||
|
<property name="articleManager" ref="articleManager" />
|
||||||
|
<property name="userManager" ref="userManager" />
|
||||||
|
<property name="conferenceManager" ref="conferenceManager" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
<bean id="AddConferenceController"
|
<bean id="AddConferenceController"
|
||||||
class="org.yacos.web.chairman.controller.AddConferenceController"
|
class="org.yacos.web.chairman.controller.AddConferenceController"
|
||||||
scope="session">
|
scope="session">
|
||||||
@@ -299,6 +299,10 @@
|
|||||||
class="org.yacos.web.chairman.controller.PCMemberBean">
|
class="org.yacos.web.chairman.controller.PCMemberBean">
|
||||||
</dwr:convert>
|
</dwr:convert>
|
||||||
|
|
||||||
|
<dwr:convert type="bean"
|
||||||
|
class="org.yacos.web.PCmember.controller.RefereeBean">
|
||||||
|
</dwr:convert>
|
||||||
|
|
||||||
<dwr:convert type="bean" class="java.lang.StackTraceElement"></dwr:convert>
|
<dwr:convert type="bean" class="java.lang.StackTraceElement"></dwr:convert>
|
||||||
<dwr:convert type="exception" class="java.lang.exception"></dwr:convert>
|
<dwr:convert type="exception" class="java.lang.exception"></dwr:convert>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.yacos.web.chairman.controller;
|
package org.yacos.web.PCmember.controller;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -12,7 +12,6 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
import org.springframework.web.servlet.mvc.Controller;
|
import org.springframework.web.servlet.mvc.Controller;
|
||||||
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.Preference;
|
|
||||||
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.users.IUserManager;
|
import org.yacos.core.users.IUserManager;
|
||||||
@@ -21,7 +20,7 @@ import org.yacos.core.users.User;
|
|||||||
import org.yacos.core.users.Role.RoleType;
|
import org.yacos.core.users.Role.RoleType;
|
||||||
import org.yacos.web.system.session.SessionService;
|
import org.yacos.web.system.session.SessionService;
|
||||||
|
|
||||||
public class DispatchArticleListController implements Controller{
|
public class DelegateArticleController implements Controller{
|
||||||
|
|
||||||
protected final Log logger = LogFactory.getLog(getClass());
|
protected final Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
@@ -48,41 +47,36 @@ public class DispatchArticleListController implements Controller{
|
|||||||
public void setConferenceManager(IConferenceManager conferenceManager) {
|
public void setConferenceManager(IConferenceManager conferenceManager) {
|
||||||
this.conferenceManager = conferenceManager;
|
this.conferenceManager = conferenceManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Conference conf;
|
||||||
|
|
||||||
public ModelAndView handleRequest(HttpServletRequest arg0,
|
public ModelAndView handleRequest(HttpServletRequest arg0,
|
||||||
HttpServletResponse arg1) throws Exception {
|
HttpServletResponse arg1) throws Exception {
|
||||||
//FIXME mettre article de la requete
|
|
||||||
|
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
conf = SessionService.getInstance().getCurrentConference();
|
||||||
List<Article> listArticles = articleManager.getArticles(conf.getId());
|
String login = SessionService.getInstance().getCurrentUserLogin();
|
||||||
logger.info("returning dispatchArticleList with "+ listArticles.size() +" article");
|
List<Article> listArticles = articleManager.getArticlesOfMember(conf.getId(), login);
|
||||||
return new ModelAndView("dispatchArticleList","articles", listArticles);
|
logger.info("returning delegateArticle with "+ listArticles.size() +" article");
|
||||||
|
return new ModelAndView("delegateArticle","articles", listArticles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
public List<RefereeBean> getMembersWithTheArticle(int articleId ){
|
||||||
|
|
||||||
PCMemberBean member;
|
RefereeBean member;
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
//Conference conf = SessionService.getInstance().getCurrentConference();
|
||||||
|
|
||||||
//List de pcmemberbean qui sera retourné
|
//List de RefereeBean qui sera retourné
|
||||||
List<PCMemberBean> articleMembers = new ArrayList<PCMemberBean>();
|
List<RefereeBean> articleMembers = new ArrayList<RefereeBean>();
|
||||||
|
|
||||||
//list of the member who have this article
|
//list of the member who have this article
|
||||||
List<User> articleMembersTmp = userManager.getPCMemberForArticle(articleId);
|
List<User> articleMembersTmp = userManager.getPCMemberForArticle(articleId);
|
||||||
|
|
||||||
for (User user : articleMembersTmp) {
|
for (User user : articleMembersTmp) {
|
||||||
member = new PCMemberBean();
|
member = new RefereeBean();
|
||||||
member.setFirstName(user.getFirstName());
|
member.setFirstName(user.getFirstName());
|
||||||
member.setLastName(user.getLastName());
|
member.setLastName(user.getLastName());
|
||||||
member.setLogin(user.getLogin());
|
member.setLogin(user.getLogin());
|
||||||
|
|
||||||
//recuperation des preferences
|
|
||||||
Preference pref = articleManager.getPreferenceForUserAndArticle(articleId, user.getLogin());
|
|
||||||
if (pref != null){
|
|
||||||
String prefType = pref.getPreferenceType().toString();
|
|
||||||
member.setPreference(prefType);
|
|
||||||
}else {
|
|
||||||
member.setPreference(Preference.PreferenceType.INDIFFERENT.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
//recuperation des specialitées
|
//recuperation des specialitées
|
||||||
List<String> spectialities = new ArrayList<String>();
|
List<String> spectialities = new ArrayList<String>();
|
||||||
@@ -92,14 +86,6 @@ public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
|||||||
}
|
}
|
||||||
member.setSpecialities(spectialities);
|
member.setSpecialities(spectialities);
|
||||||
|
|
||||||
//recuperatiojn du nombre d'article
|
|
||||||
int nb = 0;
|
|
||||||
List<Article> articles = articleManager.getArticlesOfMember(conf.getId(), user.getLogin());
|
|
||||||
if(articles != null){
|
|
||||||
nb = articles.size();
|
|
||||||
}
|
|
||||||
member.setNbArticles(nb);
|
|
||||||
|
|
||||||
//add the member to the return list
|
//add the member to the return list
|
||||||
articleMembers.add(member);
|
articleMembers.add(member);
|
||||||
}
|
}
|
||||||
@@ -107,34 +93,23 @@ public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
|||||||
return articleMembers;
|
return articleMembers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PCMemberBean> getMembersWithoutTheArticle(int articleId ){
|
public List<RefereeBean> getMembersWithoutTheArticle(int articleId ){
|
||||||
|
|
||||||
PCMemberBean member;
|
RefereeBean member;
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
//Conference conf = SessionService.getInstance().getCurrentConference();
|
||||||
|
|
||||||
//List de pcmemberbean qui sera retourné
|
//List de RefereeBean qui sera retourné
|
||||||
List<PCMemberBean> members = new ArrayList<PCMemberBean>();
|
List<RefereeBean> members = new ArrayList<RefereeBean>();
|
||||||
|
|
||||||
//list of the member who have this article
|
|
||||||
List<User> articleMembersTmp = userManager.getPCMemberForArticle(articleId);
|
|
||||||
|
|
||||||
//list of all pcmembers of the conference
|
//list of all pcmembers of the conference
|
||||||
List<User> membersTmp = userManager.getUsers(conf.getId(),RoleType.PCMEMBER);
|
List<User> membersTmp = userManager.getUsers(conf.getId(),RoleType.PCMEMBER);
|
||||||
|
|
||||||
for (User user : membersTmp) {
|
for (User user : membersTmp) {
|
||||||
member = new PCMemberBean();
|
member = new RefereeBean();
|
||||||
member.setFirstName(user.getFirstName());
|
member.setFirstName(user.getFirstName());
|
||||||
member.setLastName(user.getLastName());
|
member.setLastName(user.getLastName());
|
||||||
member.setLogin(user.getLogin());
|
member.setLogin(user.getLogin());
|
||||||
|
|
||||||
//recuperation des preferences
|
|
||||||
Preference pref = articleManager.getPreferenceForUserAndArticle(articleId, user.getLogin());
|
|
||||||
if (pref != null){
|
|
||||||
String prefType = pref.getPreferenceType().toString();
|
|
||||||
member.setPreference(prefType);
|
|
||||||
}else {
|
|
||||||
member.setPreference(Preference.PreferenceType.INDIFFERENT.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
//recuperation des specialitées
|
//recuperation des specialitées
|
||||||
List<String> spectialities = new ArrayList<String>();
|
List<String> spectialities = new ArrayList<String>();
|
||||||
@@ -144,18 +119,6 @@ public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
|||||||
}
|
}
|
||||||
member.setSpecialities(spectialities);
|
member.setSpecialities(spectialities);
|
||||||
|
|
||||||
//recuperatiojn du nombre d'article
|
|
||||||
int nb = 0;
|
|
||||||
List<Article> articles = articleManager.getArticlesOfMember(conf.getId(), user.getLogin());
|
|
||||||
if(articles != null){
|
|
||||||
nb = articles.size();
|
|
||||||
}
|
|
||||||
member.setNbArticles(nb);
|
|
||||||
|
|
||||||
//on place le memebre dans une des listes
|
|
||||||
if (!articleMembersTmp.contains(user) && member.getPreference()!= "CONFLICT" ){
|
|
||||||
members.add(member);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
logger.debug("return"+ members.size() +"members");
|
logger.debug("return"+ members.size() +"members");
|
||||||
return members;
|
return members;
|
||||||
@@ -179,6 +142,6 @@ public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String sayHello(String name){
|
public String sayHello(String name){
|
||||||
return "hello"+name;
|
return name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
package org.yacos.web.PCmember.controller;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.validation.BindException;
|
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
import org.springframework.web.servlet.mvc.SimpleFormController;
|
|
||||||
import org.yacos.core.article.Article;
|
|
||||||
import org.yacos.core.article.IArticleManager;
|
|
||||||
import org.yacos.core.exceptions.ConferenceDoesntExistException;
|
|
||||||
import org.yacos.core.users.User;
|
|
||||||
import org.yacos.web.PCmember.form.FormDispatcher;
|
|
||||||
import org.yacos.web.system.session.SessionService;
|
|
||||||
|
|
||||||
public class DispatchArticleController extends SimpleFormController{
|
|
||||||
|
|
||||||
protected final Log logger = LogFactory.getLog(getClass());
|
|
||||||
|
|
||||||
private IArticleManager articleManager;
|
|
||||||
|
|
||||||
public IArticleManager getArticleManager() {
|
|
||||||
return articleManager;
|
|
||||||
}
|
|
||||||
public void setArticleManager(IArticleManager articleManager) {
|
|
||||||
this.articleManager = articleManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Object formBackingObject(HttpServletRequest request) throws ConferenceDoesntExistException {
|
|
||||||
logger.info("Returning dispatcher view");
|
|
||||||
|
|
||||||
User m = new User("max","max","maxime","dagnicourt","ipint","m@truc.fr");
|
|
||||||
User m2 = new User("bob","bob","bob","dupont","lifl","b@bb.fr");
|
|
||||||
Collection<User> members = new ArrayList<User>();
|
|
||||||
members.add(m);
|
|
||||||
members.add(m2);
|
|
||||||
// TODO : use the formBackingObject to store these
|
|
||||||
request.getSession().setAttribute("members",members);
|
|
||||||
Integer currentConferenceId = SessionService.getInstance().getCurrentConferenceId();
|
|
||||||
// TODO : Fix that, we should use the form backing object instead of the session to store the articles
|
|
||||||
request.getSession().setAttribute("articles",articleManager.getArticles(currentConferenceId));
|
|
||||||
logger.info(articleManager.getArticles(currentConferenceId));
|
|
||||||
return new FormDispatcher();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ModelAndView onSubmit(HttpServletRequest request,
|
|
||||||
HttpServletResponse response,
|
|
||||||
Object formDispatcher, BindException errors) throws Exception {
|
|
||||||
|
|
||||||
FormDispatcher fd = (FormDispatcher)formDispatcher;
|
|
||||||
Article article = articleManager.getArticle(fd.getIdArticle());
|
|
||||||
User m = new User("bob","bob","maurice","dupont","lifl","b@bb.fr");
|
|
||||||
User m2 = new User("max","max","maxime","dagnicourt","ipint","m@truc.fr");
|
|
||||||
//article.assignToPCMember(m);
|
|
||||||
Collection<User> members = new ArrayList<User>();
|
|
||||||
members.add(m);
|
|
||||||
members.add(m2);
|
|
||||||
|
|
||||||
request.getSession().setAttribute("members",members);
|
|
||||||
|
|
||||||
Integer currentConferenceId = SessionService.getInstance().getCurrentConferenceId();
|
|
||||||
|
|
||||||
return new ModelAndView("dispatchArticle", "articles", articleManager.getArticles(currentConferenceId) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package org.yacos.web.PCmember.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RefereeBean {
|
||||||
|
private String login;
|
||||||
|
private String firstName;
|
||||||
|
private String lastName;
|
||||||
|
private List<String>specialities;
|
||||||
|
|
||||||
|
public List<String> getSpecialities() {
|
||||||
|
return specialities;
|
||||||
|
}
|
||||||
|
public void setSpecialities(List<String> specialities) {
|
||||||
|
this.specialities = specialities;
|
||||||
|
}
|
||||||
|
public String getLogin() {
|
||||||
|
return login;
|
||||||
|
}
|
||||||
|
public void setLogin(String login) {
|
||||||
|
this.login = login;
|
||||||
|
}
|
||||||
|
public String getFirstName() {
|
||||||
|
return firstName;
|
||||||
|
}
|
||||||
|
public void setFirstName(String firstName) {
|
||||||
|
this.firstName = firstName;
|
||||||
|
}
|
||||||
|
public String getLastName() {
|
||||||
|
return lastName;
|
||||||
|
}
|
||||||
|
public void setLastName(String lastName) {
|
||||||
|
this.lastName = lastName;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
package org.yacos.web.chairman.controller;
|
package org.yacos.web.chairman.controller;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
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;
|
||||||
@@ -51,80 +49,21 @@ public class DispatchArticleController implements Controller{
|
|||||||
this.conferenceManager = conferenceManager;
|
this.conferenceManager = conferenceManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Conference conf;
|
||||||
|
|
||||||
public ModelAndView handleRequest(HttpServletRequest req,
|
public ModelAndView handleRequest(HttpServletRequest arg0,
|
||||||
HttpServletResponse arg1) throws Exception {
|
HttpServletResponse arg1) throws Exception {
|
||||||
logger.info("Returning dispatcher view");
|
|
||||||
|
|
||||||
PCMemberBean member;
|
conf = SessionService.getInstance().getCurrentConference();
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
List<Article> listArticles = articleManager.getArticles(conf.getId());
|
||||||
|
logger.info("returning dispatchArticleList with "+ listArticles.size() +" article");
|
||||||
//description of the article
|
return new ModelAndView("dispatchArticle","articles", listArticles);
|
||||||
Article article = articleManager.getArticle(Integer.parseInt(req.getParameter("articleId")));
|
|
||||||
|
|
||||||
//List de pcmemberbean qui seront retourn<72>
|
|
||||||
List<PCMemberBean> members = new ArrayList<PCMemberBean>();
|
|
||||||
List<PCMemberBean> articleMembers = new ArrayList<PCMemberBean>();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//list of the member who have this article
|
|
||||||
List<User> articleMembersTmp = userManager.getPCMemberForArticle(article.getId());
|
|
||||||
|
|
||||||
//list of all pcmembers of the conference
|
|
||||||
List<User> membersTmp = userManager.getUsers(conf.getId(),RoleType.PCMEMBER);
|
|
||||||
|
|
||||||
for (User user : membersTmp) {
|
|
||||||
member = new PCMemberBean();
|
|
||||||
member.setFirstName(user.getFirstName());
|
|
||||||
member.setLastName(user.getLastName());
|
|
||||||
member.setLogin(user.getLogin());
|
|
||||||
|
|
||||||
//recuperation des preferences
|
|
||||||
Preference pref = articleManager.getPreferenceForUserAndArticle(article.getId(), user.getLogin());
|
|
||||||
if (pref != null){
|
|
||||||
String prefType = pref.getPreferenceType().toString();
|
|
||||||
member.setPreference(prefType);
|
|
||||||
}else {
|
|
||||||
member.setPreference(Preference.PreferenceType.INDIFFERENT.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
//recuperation des specialit<69>es
|
|
||||||
List<String> spectialities = new ArrayList<String>();
|
|
||||||
List<Speciality> listSpe = userManager.getSpecialitiesFromUser(member.getLogin());
|
|
||||||
for (Speciality speciality : listSpe) {
|
|
||||||
spectialities.add(speciality.getName());
|
|
||||||
}
|
|
||||||
member.setSpecialities(spectialities);
|
|
||||||
|
|
||||||
//recuperatiojn du nombre d'article
|
|
||||||
int nb = 0;
|
|
||||||
List<Article> articles = articleManager.getArticlesOfMember(conf.getId(), user.getLogin());
|
|
||||||
if(articles != null){
|
|
||||||
nb = articles.size();
|
|
||||||
}
|
|
||||||
member.setNbArticles(nb);
|
|
||||||
|
|
||||||
//on place le memebre dans une des listes
|
|
||||||
if (articleMembersTmp.contains(user)){
|
|
||||||
articleMembers.add(member);
|
|
||||||
}else {
|
|
||||||
members.add(member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String,Object> model = new HashMap<String,Object>();
|
|
||||||
model.put("articleMembers",articleMembers);
|
|
||||||
model.put("members", members);
|
|
||||||
model.put("article", article);
|
|
||||||
|
|
||||||
return new ModelAndView("dispatchArticle", model);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
public List<PCMemberBean> getMembersWithTheArticle(int articleId ){
|
||||||
|
|
||||||
PCMemberBean member;
|
PCMemberBean member;
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
//Conference conf = SessionService.getInstance().getCurrentConference();
|
||||||
|
|
||||||
//List de pcmemberbean qui sera retourn<72>
|
//List de pcmemberbean qui sera retourn<72>
|
||||||
List<PCMemberBean> articleMembers = new ArrayList<PCMemberBean>();
|
List<PCMemberBean> articleMembers = new ArrayList<PCMemberBean>();
|
||||||
@@ -144,7 +83,7 @@ public class DispatchArticleController implements Controller{
|
|||||||
String prefType = pref.getPreferenceType().toString();
|
String prefType = pref.getPreferenceType().toString();
|
||||||
member.setPreference(prefType);
|
member.setPreference(prefType);
|
||||||
}else {
|
}else {
|
||||||
member.setPreference(Preference.PreferenceType.INDIFFERENT.toString());
|
member.setPreference("INDIFFERENT");
|
||||||
}
|
}
|
||||||
|
|
||||||
//recuperation des specialit<69>es
|
//recuperation des specialit<69>es
|
||||||
@@ -173,7 +112,7 @@ public class DispatchArticleController implements Controller{
|
|||||||
public List<PCMemberBean> getMembersWithoutTheArticle(int articleId ){
|
public List<PCMemberBean> getMembersWithoutTheArticle(int articleId ){
|
||||||
|
|
||||||
PCMemberBean member;
|
PCMemberBean member;
|
||||||
Conference conf = SessionService.getInstance().getCurrentConference();
|
//Conference conf = SessionService.getInstance().getCurrentConference();
|
||||||
|
|
||||||
//List de pcmemberbean qui sera retourn<72>
|
//List de pcmemberbean qui sera retourn<72>
|
||||||
List<PCMemberBean> members = new ArrayList<PCMemberBean>();
|
List<PCMemberBean> members = new ArrayList<PCMemberBean>();
|
||||||
@@ -196,7 +135,7 @@ public class DispatchArticleController implements Controller{
|
|||||||
String prefType = pref.getPreferenceType().toString();
|
String prefType = pref.getPreferenceType().toString();
|
||||||
member.setPreference(prefType);
|
member.setPreference(prefType);
|
||||||
}else {
|
}else {
|
||||||
member.setPreference(Preference.PreferenceType.INDIFFERENT.toString());
|
member.setPreference("INDIFFERENT");
|
||||||
}
|
}
|
||||||
|
|
||||||
//recuperation des specialit<69>es
|
//recuperation des specialit<69>es
|
||||||
@@ -220,6 +159,7 @@ public class DispatchArticleController implements Controller{
|
|||||||
members.add(member);
|
members.add(member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logger.debug("return"+ members.size() +"members");
|
||||||
return members;
|
return members;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,4 +180,5 @@ public class DispatchArticleController implements Controller{
|
|||||||
return userManager.getPCMemberForArticle(articleId);
|
return userManager.getPCMemberForArticle(articleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ public class PCMemberBean {
|
|||||||
private String login;
|
private String login;
|
||||||
private String firstName;
|
private String firstName;
|
||||||
private String lastName;
|
private String lastName;
|
||||||
private List<String>Specialities;
|
private List<String>specialities;
|
||||||
private String Preference;
|
private String preference;
|
||||||
private int nbArticles;
|
private int nbArticles;
|
||||||
|
|
||||||
|
|
||||||
@@ -37,18 +37,18 @@ public class PCMemberBean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getSpecialities() {
|
public List<String> getSpecialities() {
|
||||||
return Specialities;
|
return specialities;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSpecialities(List<String> specialities) {
|
public void setSpecialities(List<String> specialities) {
|
||||||
Specialities = specialities;
|
this.specialities = specialities;
|
||||||
}
|
}
|
||||||
public String getPreference() {
|
public String getPreference() {
|
||||||
return Preference;
|
return preference;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPreference(String preference) {
|
public void setPreference(String preference) {
|
||||||
Preference = preference;
|
this.preference = preference;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNbArticles(int nbArticles) {
|
public void setNbArticles(int nbArticles) {
|
||||||
|
|||||||
Reference in New Issue
Block a user