Salome HOME
Sort study and knowledge results functionalities are implemented
[tools/siman.git] / Workspace / Siman / WebContent / study / searchStudy.jsp
index 7f9834d10629bc68c18a94acee506c2e8736184a..2d4c909543e73de4019c9e6fab0e0e9ce5eb2e0a 100644 (file)
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-    pageEncoding="ISO-8859-1"
-%>
-<%@ page import="org.splat.dal.bo.som.Study"%>
-<%@ page import="org.splat.som.ApplicationRights"%>
-<%@ page import="org.splat.simer.ApplicationSettings"%>
-<%@ page import="java.util.ResourceBundle"%>
-<%@ page import="java.util.Calendar"%>
-<%@ page import="java.text.SimpleDateFormat"%>
-<%@
-    taglib prefix="s" uri="/struts-tags"
-%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
+<%@page language="java" contentType="text/html; charset=ISO-8859-1"
+       pageEncoding="ISO-8859-1"%>
+<%@taglib prefix="s" uri="/struts-tags"%>
 <!-- Initialization of the context
-     =============================================================================================================================
-  -->
-<%  String  action = request.getParameter("action");
-
-    ApplicationRights rights    = (ApplicationRights)session.getAttribute("user.rights");
-    ResourceBundle    locale    = ResourceBundle.getBundle("som", ApplicationSettings.getCurrentLocale());
-    String            format    = locale.getString("date.format");
-    SimpleDateFormat  tostring  = new SimpleDateFormat(format);
-    String            result    = "uptodate";
-    boolean           connected = false;
-
-    if (rights.getUser() != null)                      connected = true;
-    if (session.getAttribute("search.result") == null) result    = "obsolete";
-%>
-<s:set var="todo"><%=action%></s:set>
-<s:set var="user"><%=connected%></s:set>
-<s:set var="format"><%=format%></s:set>
-<s:set var="today"><%=tostring.format(java.util.Calendar.getInstance().getTime())%></s:set>
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title><s:text name="name.module"/></title>
-    <link href=<s:url value="/skin/default.css"/> rel="stylesheet" type="text/css">
-    <script language="JavaScript" type="text/javascript" src="../js/search.js"></script>
-  </head>
-
-  <body onLoad="initialize('<%=result%>')">
-<!-- Menu-bar
-     =============================================================================================================================
-  -->
-    <jsp:include page="/jsp/menubar.jsp" />
-    <div id=top-spacer></div>
-
-<!-- Search menu
-     =============================================================================================================================
+     ===========================================================================
   -->
-    <div id=left-pane>
-      <jsp:include page="/jsp/toolbar.jsp" />
-      <div id=top-spacer></div>
-      <jsp:include page="/jsp/menuitem.jsp">
-        <jsp:param name="menu" value="open" />
-      </jsp:include>
-    </div>
+<script language="JavaScript" type="text/javascript"
+       src="../js/search.js"></script>
 
-    <div id=main-pane>
+<script>
+$(document).ready(function () {
+    initialize('<s:property value="resultState"/>');
+    // Apply jQueryUI datepicker to appropriate input fields
+    $(".dateinput").datepicker({
+        dateFormat: "<s:text name="date.format"/>".replace("MM","mm").replace("yyyy","yy")
+    });
+});
+</script>
 
 <!-- Search criteria section
-     =============================================================================================================================
+     ===========================================================================
   -->
-      <div id=article-box>
-        <div id=section><s:text name="title.criteria"/></div>
-        <div id="article-body">
-          <form name="search" action="refresh-study" method="post">
-          <input type=hidden name="contextIndex" />
-          <s:set var="match1" value="criteriaMatch"/>
-          <s:set var="match2" value="contextMatch"/>
-          <s:set var="him"    value="author"/>
+<div id="article-box">
+<div id="section"><s:text name="title.criteria" /></div>
+<div id="article-body">
+<form name="search" action="refresh-study" method="post"><input
+       type="hidden" name="contextIndex" />
 
-          <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
-            <tr height=20>
-              <td width=40%>
-                <b><s:text name="field.among"/></b>&nbsp;&nbsp;&nbsp;
-                <s:if test="%{#match1 == 'all'}">
-                <input type=radio name="criteriaMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
-                &nbsp;
-                <input type=radio name="criteriaMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
-                </s:if><s:else>
-                <input type=radio name="criteriaMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
-                &nbsp;
-                <input type=radio name="criteriaMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
-                </s:else>
-              </td>
-              <td width=60%>|&nbsp;&nbsp;
-                <b><s:text name="field.context"/></b>&nbsp;&nbsp;&nbsp;
-                <s:if test="%{#match2 == 'all'}">
-                <input type=radio name="contextMatch" value="all"  checked onClick="changeFilter()"><s:text name="field.matchall"/>
-                &nbsp;
-                <input type=radio name="contextMatch" value="any"          onClick="changeFilter()"><s:text name="field.matchany"/>
-                </s:if><s:else>
-                <input type=radio name="contextMatch" value="all"          onClick="changeFilter()"><s:text name="field.matchall"/>
-                &nbsp;
-                <input type=radio name="contextMatch" value="any"  checked onClick="changeFilter()"><s:text name="field.matchany"/>
-                </s:else>
-              </td>
-            </tr>
-            <tr height=1 bgcolor=#AAAAAA><td colspan=2></td></tr>
-          </table>
+<table width="100%" cellpadding="0" cellspacing="0" border="0"
+       class="text">
+       <tr height="20">
+               <td width="40%"><b><s:text name="field.among" /></b>&nbsp;&nbsp;&nbsp;
+               <s:radio theme="simple" list="matchOptions" name="filter.criteriaMatch"
+                       onclick="changeFilter()" /></td>
+               <td width="60%">|&nbsp;&nbsp; <b><s:text name="field.context" /></b>&nbsp;&nbsp;&nbsp;
+               <s:radio theme="simple" list="matchOptions" name="filter.contextMatch"
+                       onclick="changeFilter()" /></td>
+       </tr>
+       <tr height="1" bgcolor="#AAAAAA">
+               <td colspan="2"></td>
+       </tr>
+</table>
 
-          <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
-            <tr valign=top>
-              <td width=40%>
-              <table cellpadding=0 cellspacing=0 border=0 class=text>
-                <tr>
-                  <td colspan=2><s:text name="criterion.study"/>&nbsp;</td>
-                  <td colspan=3 align=center>
-                  <select name="state" style="width: <s:text name="size.search.select"/>" onChange="setState()">
-                    <s:if test="state == 'ANY'">       <option value="ANY"        selected><s:text name="criterion.any" /></option></s:if>
-                    <s:else>                           <option value="ANY"                ><s:text name="criterion.any" /></option></s:else>
-                    <s:if test="#user">
-                      <s:if test="state == 'inWORK'">  <option value="inWORK"     selected><s:text name="criterion.inwork" /></option></s:if>
-                      <s:else>                         <option value="inWORK"             ><s:text name="criterion.inwork" /></option></s:else>
-                      <s:if test="state == 'inDRAFT'"> <option value="inDRAFT"    selected><s:text name="criterion.indraft" /></option></s:if>
-                      <s:else>                         <option value="inDRAFT"            ><s:text name="criterion.indraft" /></option></s:else>
-                      <s:if test="state == 'inCHECK'"> <option value="inCHECK"    selected><s:text name="criterion.incheck" /></option></s:if>
-                      <s:else>                         <option value="inCHECK"            ><s:text name="criterion.incheck" /></option></s:else>
-                    </s:if>
-                    <s:if test="state == 'APPROVED'">  <option value="APPROVED"   selected><s:text name="criterion.approved" /></option></s:if>
-                    <s:else>                           <option value="APPROVED"           ><s:text name="criterion.approved" /></option></s:else>
-                    <s:if test="state == 'TEMPLATE'">  <option value="TEMPLATE"   selected><s:text name="criterion.template" /></option></s:if>
-                    <s:else>                           <option value="TEMPLATE"           ><s:text name="criterion.template" /></option></s:else>
-                  </select>
-                  </td>
-                </tr>
-                <tr>
-                  <td colspan=5 align=left>
-                    <s:if test="visibility == 'PRIVATE'">
-                      <input type=radio name="visibility" value="PRIVATE"    checked onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
-                    </s:if>
-                    <s:elseif test="visibility == 'PUBLIC'">
-                      <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="PUBLIC"     checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="all"                onClick="changeFilter()"><s:text name="field.either"/>
-                    </s:elseif>
-                    <s:elseif test="visibility == 'onlypublic'">
-                      <input type=radio name="visibility" value="PRIVATE"   disabled onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="onlypublic" checked onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="all"       disabled onClick="changeFilter()"><s:text name="field.either"/>
-                    </s:elseif>
-                    <s:else>
-                      <input type=radio name="visibility" value="PRIVATE"            onClick="changeFilter()"><s:text name="field.private"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="PUBLIC"             onClick="changeFilter()"><s:text name="field.public"/>&nbsp;&nbsp;
-                      <input type=radio name="visibility" value="all"        checked onClick="changeFilter()"><s:text name="field.either"/>
-                    </s:else>
-                  </td>
-                </tr>
-                <tr>
-                  <td colspan=2><s:text name="criterion.author"/>&nbsp;</td>
-                  <td colspan=3 align=center>
-                <select name="author" style="width: <s:text name="size.search.select"/>" onChange="changeFilter()">
-                  <option value="0"><s:text name="criterion.anybody" /></option>
-                  <s:iterator value="candidates">
-                    <s:if test="%{index == #him}">
-                      <option value="<s:property value="index"/>" selected><s:property value="toString()"/></option>
-                    </s:if><s:else>
-                      <option value="<s:property value="index"/>"><s:property value="toString()"/></option>
-                    </s:else>
-                  </s:iterator>
-                </select>
-                  </td>
-                </tr>
-                <tr>
-                  <s:set var="tipdate">
-                    <s:text name="help.search.date">
-                      <s:param><s:text name="%{#format}"/></s:param>
-                      <s:param><s:text name="%{#today}"/></s:param>
-                    </s:text>
-                  </s:set>
-                  <td><s:text name="field.credate"/>&nbsp;</td>
-                  <td><s:text name="field.after"/>&nbsp;</td>
-                  <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
-                  <td><s:text name="field.before"/>&nbsp;</td>
-                  <td><input type=text name=before size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
-                </tr><tr>
-                  <td><s:text name="field.lasdate"/>&nbsp;</td>
-                  <td><s:text name="field.after"/>&nbsp;</td>
-                  <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" />&nbsp;</td>
-                  <td><s:text name="field.before"/>&nbsp;</td>
-                  <td><input type=text name="before" size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /></td>
-                </tr>
-              </table>
-              <table cellpadding=0 cellspacing=0 border=0 class=text>
-                <tr>
-                  <td><s:text name="field.contain"/>:&nbsp;</td>
-                  <td><input type=text name=words style="width: <s:text name="size.search.input"/>" value="<s:property value="%{words}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.title"/>" /></td>
-                </tr><tr>
-                  <td><s:text name="field.reference"/>:&nbsp;</td>
-                  <td><input type=text name="reference" style="width: <s:text name="size.search.input"/>" value="<s:property value="%{reference}"/>" onKeydown="changeFilter()" title="<s:text name="help.search.refid"/>" /></td>
-                </tr>
-              </table>
-              </td>
-              <td width=60%>
-                <table cellpadding=0 cellspacing=0 border=0 class=text>
-                  <s:iterator value="simulationContexts">
-                    <tr>
-                      <td><input type=checkbox checked onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
-                      <td>
-                        <s:if test="%{type.isApproved()}"><s:text name="type.context.%{type.name}"/>:&nbsp;</s:if>
-                        <s:else><s:property value="%{type.name}"/>:&nbsp;</s:else>
-                      </td>
-                      <td><s:property value="value"/></td>
-                    </tr>
-                  </s:iterator>
+<table width="100%" cellpadding="0" cellspacing="0" border="0"
+       class="text">
+       <tr valign="top">
+               <td width="40%">
+               <table cellpadding="0" cellspacing="0" border="0" class="text">
+                       <tr>
+                               <td colspan="2"><s:text name="criterion.study" />&nbsp;</td>
+                               <td colspan="3" align="center"><s:select name="filter.state"
+                                       list="stateOptions" theme="simple"
+                                       cssStyle="width: %{getText('size.search.select')}" onchange="changeFilter()" />
+                               </td>
+                       </tr>
+                       <tr>
+                               <td colspan="2"><s:text name="criterion.author" />&nbsp;</td>
+                               <td colspan="3" align="center"><select name="filter.author"
+                                       style='width: <s:text name="size.search.select" />' onChange="changeFilter()">
+                                       <option value="0"><s:text name="criterion.anybody" /></option>
+                                       <s:iterator value="candidates">
+                                               <s:if test="%{index == filter.author}">
+                                                       <option value="<s:property value="index"/>" selected><s:property
+                                                               value="toString()" /></option>
+                                               </s:if>
+                                               <s:else>
+                                                       <option value="<s:property value="index"/>"><s:property
+                                                               value="toString()" /></option>
+                                               </s:else>
+                                       </s:iterator>
+                               </select></td>
+                       </tr>
+                       <tr>
+                               <s:set var="tipdate">
+                                       <s:text name="help.search.date">
+                                               <s:param>
+                                                       <s:text name="%{format}" />
+                                               </s:param>
+                                               <s:param>
+                                                       <s:text name="%{today}" />
+                                               </s:param>
+                                       </s:text>
+                               </s:set>
+                               <td><s:text name="field.credate" />&nbsp;</td>
+                               <td><s:text name="field.after" />&nbsp;</td>
+                               <td><s:textfield theme="simple" cssClass="dateinput"
+                                       onchange="changeFilter()" name="filter.createdAfter" size="7"
+                                       onkeydown="changeFilter()" title="%{#tipdate}" />&nbsp;</td>
+                               <td><s:text name="field.before" />&nbsp;</td>
+                               <td><s:textfield theme="simple" cssClass="dateinput" onchange="changeFilter()"
+                                       name="filter.createdBefore" size="7" onkeydown="changeFilter()"
+                                       title="%{#tipdate}" /></td>
+                       </tr>
+                       <tr>
+                               <td><s:text name="field.lasdate" />&nbsp;</td>
+                               <td><s:text name="field.after" />&nbsp;</td>
+                               <td><s:textfield theme="simple" cssClass="dateinput"
+                                       onchange="changeFilter()" name="filter.updatedAfter" size="7"
+                                       onkeydown="changeFilter()" title="%{#tipdate}" />&nbsp;</td>
+                               <td><s:text name="field.before" />&nbsp;</td>
+                               <td><s:textfield theme="simple" cssClass="dateinput"
+                                       onchange="changeFilter()" name="filter.updatedBefore" size="7"
+                                       onkeydown="changeFilter()" title="%{#tipdate}" /></td>
+                       </tr>
+               </table>
+               <table cellpadding="0" cellspacing="0" border="0" class="text">
+                       <tr>
+                               <td><s:text name="field.contain" />:&nbsp;</td>
+                               <td><s:textfield theme="simple" name="filter.words" size="%{getText(size.search.input)}"
+                                       onkeydown="changeFilter()"
+                                       title="%{getText(help.search.title)}" /></td>
+                       </tr>
+                       <tr>
+                               <td><s:text name="field.reference" />:&nbsp;</td>
+                               <td><s:textfield theme="simple" name="filter.reference"
+                                       size="%{getText(size.search.input)}"
+                                       onkeydown="changeFilter()"
+                                       title="%{getText(help.search.refid)}" /></td>
+                       </tr>
+               </table>
+               </td>
+               <td width="60%">
+               <table cellpadding="0" cellspacing="0" border="0" class="text">
+                       <s:iterator value="filter.simContexts">
+                               <tr>
+                                       <td><input type="checkbox" checked
+                                               onClick="removeContext('<s:property value="index"/>')">&nbsp;</td>
+                                       <td><s:if test="%{type.isApproved()}">
+                                               <s:text name="type.context.%{type.name}" />:&nbsp;</s:if> <s:else>
+                                               <s:property value="%{type.name}" />:&nbsp;</s:else></td>
+                                       <td><s:property value="value" /></td>
+                               </tr>
+                       </s:iterator>
 
-                  <s:if test="%{#todo == 'setContext'}">
-                    <tr>
-                      <td>
-                        <img src="<s:url value="/skin/icon.undo.png"/>" border="none" title="<s:text name="tooltip.cancel"/>" onClick="cancel()" />&nbsp;
-                      </td>
-                      <td>
-                        <s:if test="%{selectedContextType.isApproved()}"><s:text name="type.context.%{selectedContextType.name}"/>:&nbsp;</s:if>
-                        <s:else><s:property value="%{selectedContextType.name}"/>:&nbsp;</s:else>
-                      </td>
-                      <td>
-                        <select name="contextValue" onChange="submit()">
-                          <option value="-1"><s:text name="menu.select"/></option>
-                          <s:iterator value="contextValueOptions">
-                            <option value="<s:property value="index"/>">&nbsp;<s:property value="value" /></option>
-                          </s:iterator>
-                        </select>
-                      </td>
-                    </tr>
-                  </s:if>
-                </table>
+                       <s:if test="%{actionType == 'setContext'}">
+                               <tr>
+                                       <td><img src="<s:url value="/skin/icon.undo.png"/>"
+                                               border="none" title="<s:text name="tooltip.cancel"/>"
+                                               onClick="cancel()" />&nbsp;</td>
+                                       <td><s:if test="%{selectedContextType.isApproved()}">
+                                               <s:text name="type.context.%{selectedContextType.name}" />:&nbsp;</s:if>
+                                       <s:else>
+                                               <s:property value="%{selectedContextType.name}" />:&nbsp;</s:else></td>
+                                       <td><select name="contextValue" onChange="submit()">
+                                               <option value="-1"><s:text name="menu.select" /></option>
+                                               <s:iterator value="contextValueOptions">
+                                                       <option value="<s:property value="index"/>">&nbsp;<s:property
+                                                               value="value" /></option>
+                                               </s:iterator>
+                                       </select></td>
+                               </tr>
+                       </s:if>
+               </table>
 
-                <s:if test="%{#todo != 'setContext'}">
-                        <select name="contextType" onChange="submit()">
-                          <option value="-1"><s:text name="menu.addcontext"/></option>
-                          <s:iterator value="contextTypeOptions">
-                            <option value="<s:property value="index"/>">
-                              <s:if test="%{isApproved()}">&nbsp;<s:text name="type.context.%{name}" /></s:if>
-                              <s:else>&nbsp;<s:property value="%{name}" /></s:else>
-                            </option>
-                          </s:iterator>
-                        </select>
-                </s:if>
-              </td>
-            </tr>
-          </table>
+               <s:if test="%{actionType != 'setContext'}">
+                       <select name="contextType" onChange="submit()">
+                               <option value="-1"><s:text name="menu.addcontext" /></option>
+                               <s:iterator value="contextTypeOptions">
+                                       <option value="<s:property value="index"/>"><s:if
+                                               test="%{isApproved()}">&nbsp;<s:text
+                                                       name="type.context.%{name}" />
+                                       </s:if> <s:else>&nbsp;<s:property value="%{name}" />
+                                       </s:else></option>
+                               </s:iterator>
+                       </select>
+               </s:if></td>
+       </tr>
+</table>
 
-          <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
-            <tr>
-              <td width=40%></td>
-              <td width=60% align=left><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
-            </tr>
-          </table>
+<table width="100%" cellpadding="0" cellspacing="0" border="0"
+       class="text">
+       <tr>
+               <td width="40%"></td>
+               <td width="60%" align="left"><input type="submit" name="refresh"
+                       value="<s:text name="button.result"/>" disabled /></td>
+       </tr>
+</table>
 
-          </form>
-        </div>
-      </div>
+</form>
+</div>
+</div>
 
 <!-- Result list
-     =============================================================================================================================
+     ===========================================================================
   -->
-      <div id=resulist>
-      <div id=article-box>
-        <div id=section><s:text name="title.result"/></div>
-        <div id=article-body class=text>
-
-          <s:if test="result.size > 0">
-            <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
-            <tr height=20 valign=bottom>
-              <td width=20></td>
-              <td width=80><s:text name="label.reference"/></td>
-              <td><s:text name="label.title"/><img src="<s:url value="/skin/icon.sortup.png"/>" border="none"/></td>
-              <td width=150><s:text name="label.manager"/></td>
-            </tr>
-            <tr height=1 bgcolor=#AAAAAA><td colspan=4></td></tr>
-              <s:iterator value="result">
-                <tr>
-                  <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>" width=12 height=12 border="none" title=""/></td>
-                  <td><s:property value="reference"/></td>
-                  <td>
-                      <s:url id="open" namespace="/study" action="open-study?selection=0.0">
-                        <s:param name="index" value="%{index}"/>
-                      </s:url>
-                      <s:a href="%{open}" cssClass="link"><s:property value="title"/></s:a>
-                  </td>
-                  <td><s:property value="authorName"/></td>
-                </tr>
-              </s:iterator>
-            </table>
-          </s:if>
-
-          <s:else>
-            <s:text name="message.nostudy" />
-          </s:else>
-        </div>
-      </div>
-      </div>
-
-    </div>
-
-  </body>
-</html>
\ No newline at end of file
+<div id="resulist">
+<div id="article-box">
+<div id="section"><s:text name="title.result" /></div>
+<div id="article-body" class="text"><s:if test="result.size > 0">
+       <table width="100%" cellpadding="0" cellspacing="0" border="0"
+               class="text">
+               <tr height="20" valign="bottom">
+                       <td width="20"></td>
+        
+            <s:if test="#session.isDescendingOrder">
+              <s:url var="arrowURL" value="/skin/icon.sortup.png"/>
+            </s:if><s:else>
+              <s:url var="arrowURL" value="/skin/icon.sortdown.png"/>
+            </s:else>
+            
+            <td width="80">
+              <s:a action="setStudyOrder">
+                <s:param name="newSortedBy" value="%{'REFERENCE'}"/>
+                <s:text name="label.reference" />
+                <s:if test="#session.sortCriterion.toString() eq 'REFERENCE'">
+                  <img src="<s:property value="arrowURL"/>" border="none" />
+                </s:if>
+              </s:a>
+            </td>
+            
+                       <td>
+                 <s:a action="setStudyOrder">
+                <s:param name="newSortedBy" value="%{'NAME'}"/>
+                           <s:text name="label.title" />
+                           <s:if test="#session.sortCriterion.toString() eq 'NAME'">
+                             <img src="<s:property value="arrowURL"/>" border="none" />
+                           </s:if>
+                         </s:a>
+                   </td>
+                   
+                   <td width="80">
+              <s:a action="setStudyOrder">
+                <s:param name="newSortedBy" value="%{'CREATEDATE'}"/>
+                       <s:text name="label.created"/>
+                <s:if test="#session.sortCriterion.toString() eq 'CREATEDATE'">
+                  <img src="<s:property value="arrowURL"/>" border="none" />
+                </s:if>
+                     </s:a>
+                   </td>
+                   
+            <td width="80">
+              <s:a action="setStudyOrder">
+                <s:param name="newSortedBy" value="%{'MODIFDATE'}"/>
+                <s:text name="label.modified"/>
+                <s:if test="#session.sortCriterion.toString() eq 'MODIFDATE'">
+                  <img src="<s:property value="arrowURL"/>" border="none" />
+                </s:if>
+              </s:a>
+            </td>
+            
+            <td width="150">
+              <s:a action="setStudyOrder">
+                <s:param name="newSortedBy" value="%{'RESPONSIBLE'}"/>
+                <s:text name="label.manager" />
+                <s:if test="#session.sortCriterion.toString() eq 'RESPONSIBLE'">
+                  <img src="<s:property value="arrowURL"/>" border="none" />
+                </s:if>
+              </s:a>
+            </td>
+               </tr>
+               <tr height="1" bgcolor="#AAAAAA">
+                       <td colspan="6"></td>
+               </tr>
+               <s:iterator value="result">
+                       <tr>
+                               <td><img src="<s:url value="/skin/icon.%{progressState}.png"/>"
+                                       width="12" height="12" border="none" title="" /></td>
+                               <td><s:property value="reference" /></td>
+                               <td><s:url id="open" namespace="/study"
+                                       action="open-study?selection=0.0">
+                                       <s:param name="index" value="%{index}" />
+                               </s:url> <s:a href="%{open}" cssClass="link">
+                                       <s:property value="title" />
+                               </s:a></td>
+                               <td><s:property value="%{date}"/></td>
+                <td><s:property value="%{lastModificationDate}"/></td>
+                               <td><s:property value="getText(authorName)" /></td>
+                       </tr>
+               </s:iterator>
+       </table>
+</s:if> <s:else>
+       <s:text name="message.nostudy" />
+</s:else></div>
+</div>
+</div>