%>
<%@ page import="org.splat.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"
%>
-->
<% String action = request.getParameter("action");
- ApplicationRights user = (ApplicationRights)session.getAttribute("user.rights");
+ 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 anonymous = true;
+ boolean connected = false;
- if (user.canCreateStudy()) anonymous = 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">
<!-- Search criteria section
=============================================================================================================================
-->
- <div id="tab-bar">
- <jsp:include page="/jsp/searchtabs.jsp"/>
- </div>
<div id=article-box>
- <div id="top-spacer"></div>
+ <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="valid"><s:text name="button.result"/></s:set>
+ <s:set var="match1" value="criteriaMatch"/>
+ <s:set var="match2" value="contextMatch"/>
+ <s:set var="him" value="author"/>
<table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
<tr height=20>
- <td width=40%> <s:text name="field.among"/></td>
- <td width=60%> <s:text name="field.context"/></td>
- </tr>
- <tr height=1 bgcolor=#AAAAAA><td colspan=3></td></tr>
- <tr valign=top>
- <td>
- <div id="article-item">
- <s:if test="owner == 'all'">
- <input type=radio name="owner" value="all" checked onClick="unsetReference()"><s:text name="criterion.study.all"/>
+ <td width=40%>
+ <b><s:text name="field.among"/></b>
+ <s:if test="%{#match1 == 'all'}">
+ <input type=radio name="criteriaMatch" value="all" checked onClick="changeFilter()"><s:text name="field.matchall"/>
+
+ <input type=radio name="criteriaMatch" value="any" onClick="changeFilter()"><s:text name="field.matchany"/>
</s:if><s:else>
- <input type=radio name="owner" value="all" onClick="unsetReference()"><s:text name="criterion.study.all"/>
+ <input type=radio name="criteriaMatch" value="all" onClick="changeFilter()"><s:text name="field.matchall"/>
+
+ <input type=radio name="criteriaMatch" value="any" checked onClick="changeFilter()"><s:text name="field.matchany"/>
</s:else>
- <select name="state" style="width: <s:text name="size.study.state"/>" onChange="changeFilter()">
- <option value="0"><s:text name="menu.select" /></option>
- <s:if test="area == 'reference'">
- <s:if test="state == 'ARCHIVED'"> <option value="ARCHIVED" selected><s:text name="criterion.archived" /></option></s:if>
- <s:else> <option value="ARCHIVED" ><s:text name="criterion.archived" /></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>
- </s:if><s:else>
- <s:if test="state == 'inPROGRESS'"><option value="inPROGRESS" selected><s:text name="criterion.inprogress" /></option></s:if>
- <s:else> <option value="inPROGRESS" ><s:text name="criterion.inprogress" /></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 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:else>
- </select>
- </div>
- <div id="article-item">
- <s:if test="owner == 'his'">
- <input type=radio name="owner" value="his" checked onClick="unsetReference()"><s:text name="criterion.study.his"/>
+ </td>
+ <td width=60%>|
+ <b><s:text name="field.context"/></b>
+ <s:if test="%{#match2 == 'all'}">
+ <input type=radio name="contextMatch" value="all" checked onClick="changeFilter()"><s:text name="field.matchall"/>
+
+ <input type=radio name="contextMatch" value="any" onClick="changeFilter()"><s:text name="field.matchany"/>
</s:if><s:else>
- <input type=radio name="owner" value="his" onClick="unsetReference()"><s:text name="criterion.study.his"/>
+ <input type=radio name="contextMatch" value="all" onClick="changeFilter()"><s:text name="field.matchall"/>
+
+ <input type=radio name="contextMatch" value="any" checked onClick="changeFilter()"><s:text name="field.matchany"/>
</s:else>
- <s:set var="him" value="author"/>
- <select name="author" style="width: <s:text name="size.study.author"/>" onChange="changeFilter()">
- <option value="0"><s:text name="menu.select" /></option>
+ </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"/> </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"/>
+ <input type=radio name="visibility" value="PUBLIC" onClick="changeFilter()"><s:text name="field.public"/>
+ <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"/>
+ <input type=radio name="visibility" value="PUBLIC" checked onClick="changeFilter()"><s:text name="field.public"/>
+ <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"/>
+ <input type=radio name="visibility" value="onlypublic" checked onClick="changeFilter()"><s:text name="field.public"/>
+ <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"/>
+ <input type=radio name="visibility" value="PUBLIC" onClick="changeFilter()"><s:text name="field.public"/>
+ <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"/> </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:else>
</s:iterator>
</select>
- </div>
- <div id="article-item">
-<% if (anonymous) {
-%> <input type=radio name="owner" value="mine" disabled><font color="#A1A192"><s:text name="criterion.study.mine"/></font>
-<% } else {
-%> <s:if test="owner == 'mine'">
- <input type=radio name="owner" value="mine" checked onClick="unsetReference()"><s:text name="criterion.study.mine"/>
- </s:if><s:else>
- <input type=radio name="owner" value="mine" onClick="unsetReference()"><s:text name="criterion.study.mine"/>
- </s:else>
-<% } %> </div>
- <div id="article-item">
- <s:if test="owner == 'ref'">
- <input type=radio name="owner" value="ref" checked onClick="setReference()"><s:text name="criterion.study.ref"/>
- </s:if><s:else>
- <input type=radio name="owner" value="ref" onClick="setReference()"><s:text name="criterion.study.ref"/>
- </s:else>
- <div id=refid>
- <input type=text name="reference" value="<s:property value="%{reference}"/>" size="18" onKeydown="changeFilter()"/>
- </div>
- </div>
+ </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"/> </td>
+ <td><s:text name="field.after"/> </td>
+ <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /> </td>
+ <td><s:text name="field.before"/> </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"/> </td>
+ <td><s:text name="field.after"/> </td>
+ <td><input type=text name=after size=7 onKeydown="changeFilter()" title="<s:property value="%{#tipdate}"/>" /> </td>
+ <td><s:text name="field.before"/> </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"/>: </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"/>: </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 rowspan=2>
- <div id=contlist>
-
+ <td width=60%>
<table cellpadding=0 cellspacing=0 border=0 class=text>
<s:iterator value="simulationContexts">
<tr>
</s:iterator>
</select>
</s:if>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- <div id=wordin>
- <br/><s:text name="field.contain"/> : <input type=text name=words value="<s:property value="%{words}"/>" onKeydown="changeFilter()" />
- </div>
</td>
</tr>
+ </table>
+
+ <table width=100% cellpadding=0 cellspacing=0 border=0 class=text>
<tr>
- <td></td>
- <td align=left>
- <input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/>
- </td>
+ <td width=40%></td>
+ <td width=60% align=left><input type="submit" name="refresh" value="<s:text name="button.result"/>" disabled/></td>
</tr>
</table>