extensions/net.sf.basedb.reggie/trunk/resources/mipsprep/lib_registration.jsp

Code
Comments
Other
Rev Date Author Line
5425 14 May 19 nicklas 1 <%@ page
5425 14 May 19 nicklas 2   pageEncoding="UTF-8"
5425 14 May 19 nicklas 3   session="false"
5425 14 May 19 nicklas 4   import="net.sf.basedb.core.User"
5425 14 May 19 nicklas 5   import="net.sf.basedb.core.DbControl"
5425 14 May 19 nicklas 6   import="net.sf.basedb.core.SessionControl"
5425 14 May 19 nicklas 7   import="net.sf.basedb.core.Application"
5425 14 May 19 nicklas 8   import="net.sf.basedb.util.Values"
5425 14 May 19 nicklas 9   import="net.sf.basedb.clients.web.Base"  
5425 14 May 19 nicklas 10   import="net.sf.basedb.clients.web.util.HTML"  
5425 14 May 19 nicklas 11   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5425 14 May 19 nicklas 12 %>
5425 14 May 19 nicklas 13 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
5425 14 May 19 nicklas 14 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
5425 14 May 19 nicklas 15 <%
5425 14 May 19 nicklas 16 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
5425 14 May 19 nicklas 17 final String ID = sc.getId();
5425 14 May 19 nicklas 18 final float scale = Base.getScale(sc);
5425 14 May 19 nicklas 19 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
5425 14 May 19 nicklas 20 DbControl dc = null;
5425 14 May 19 nicklas 21 try
5425 14 May 19 nicklas 22 {
5425 14 May 19 nicklas 23   dc = sc.newDbControl();
5425 14 May 19 nicklas 24   final User user = User.getById(dc, sc.getLoggedInUserId());
5425 14 May 19 nicklas 25 %>
5425 14 May 19 nicklas 26 <base:page type="default" >
5425 14 May 19 nicklas 27 <base:head 
5425 14 May 19 nicklas 28   scripts="~../reggie-2.js,~lib_registration.js" 
5425 14 May 19 nicklas 29   styles="path.css,~../css/reggie-2.css"
5425 14 May 19 nicklas 30   >
5425 14 May 19 nicklas 31 <style>
5425 14 May 19 nicklas 32 .date-col
5425 14 May 19 nicklas 33 {
5425 14 May 19 nicklas 34   width: 12em;
5425 14 May 19 nicklas 35 }
5425 14 May 19 nicklas 36
5425 14 May 19 nicklas 37 .operator-col input
5425 14 May 19 nicklas 38 {
5425 14 May 19 nicklas 39   width: 95%;
5425 14 May 19 nicklas 40 }
5425 14 May 19 nicklas 41
5425 14 May 19 nicklas 42 </style>
5425 14 May 19 nicklas 43
5425 14 May 19 nicklas 44 </base:head>
5425 14 May 19 nicklas 45 <base:body>
5425 14 May 19 nicklas 46
5425 14 May 19 nicklas 47   <p:path><p:pathelement 
5425 14 May 19 nicklas 48     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
5425 14 May 19 nicklas 49     /><p:pathelement title="MIPs library registration" 
5425 14 May 19 nicklas 50     /></p:path>
5425 14 May 19 nicklas 51
5425 14 May 19 nicklas 52   <div class="content">
5425 14 May 19 nicklas 53
5425 14 May 19 nicklas 54   <form name="reggie" id="wizard" class="wizard">
5425 14 May 19 nicklas 55   
5425 14 May 19 nicklas 56   <div class="step" id="step-1">
5425 14 May 19 nicklas 57     <div class="step-no">1</div>
5425 14 May 19 nicklas 58     <div class="step-title">Select MIPs work plate</div>
5425 14 May 19 nicklas 59     <div class="step-content">
5425 14 May 19 nicklas 60
5425 14 May 19 nicklas 61       <table class="step-form">
5425 14 May 19 nicklas 62       <tr>
5425 14 May 19 nicklas 63         <td class="prompt">MIPs plate</td>
5425 14 May 19 nicklas 64         <td class="input">
5425 14 May 19 nicklas 65           <select class="required" name="bioplate" id="bioplate"></select>
5425 14 May 19 nicklas 66         </td>
5425 14 May 19 nicklas 67         <td class="status" id="bioplate.status"></td>
5425 14 May 19 nicklas 68         <td class="help">
5425 14 May 19 nicklas 69           <span id="bioplate.message" class="message"></span>
5425 14 May 19 nicklas 70           Select an existing work plate. The list contain all plates that
5425 14 May 19 nicklas 71           has not yet been processed (determined by the absence of a 'creation' date).
5425 14 May 19 nicklas 72         </td>
5425 14 May 19 nicklas 73       </tr>
5425 14 May 19 nicklas 74       <tr class="align-top">
5425 14 May 19 nicklas 75         <td class="prompt">Outcome</td>
5425 14 May 19 nicklas 76         <td class="input">
5425 14 May 19 nicklas 77           <label><input type="radio" name="outcome" id="outcomeSuccess" 
5425 14 May 19 nicklas 78             checked>Success</label> - continue processing<br>
5425 14 May 19 nicklas 79             
5425 14 May 19 nicklas 80           <label><input type="radio" name="outcome" id="outcomeFailed" 
5425 14 May 19 nicklas 81             >Failure</label> - no further processing
5425 14 May 19 nicklas 82         </td>
5425 14 May 19 nicklas 83         <td class="status"></td>
5425 14 May 19 nicklas 84         <td class="help">
5425 14 May 19 nicklas 85           Select the <b>Failure</b> option if further processing to pooled libraries is not possible.
5425 14 May 19 nicklas 86           Existing DNA will be flagged and added to the <b>Flagged DNA</b> list.
5425 14 May 19 nicklas 87         </td>
5425 14 May 19 nicklas 88       </tr>
5425 14 May 19 nicklas 89       </table>
5425 14 May 19 nicklas 90     </div>
5425 14 May 19 nicklas 91   </div>  
5425 14 May 19 nicklas 92   
5425 14 May 19 nicklas 93   <div class="step" id="step-2">
5425 14 May 19 nicklas 94     <div class="step-no">2</div>
5425 14 May 19 nicklas 95     <div class="step-title">Full plate registration</div>
5425 14 May 19 nicklas 96     <div class="step-content">
5425 14 May 19 nicklas 97
5425 14 May 19 nicklas 98       <table class="step-form">
5425 14 May 19 nicklas 99       <tr>
5425 14 May 19 nicklas 100         <td class="prompt">Step</td>
5425 14 May 19 nicklas 101         <td class="date-col"><b>Date</b></td>
5425 14 May 19 nicklas 102         <td class="operator-col"><b>Operator</b></td>
5425 14 May 19 nicklas 103         <td class="status"></td>
5425 14 May 19 nicklas 104         <td class="help" rowspan="3">
5450 27 May 19 nicklas 105           Enter date and operator for each step of the MIPs library preparation.
5425 14 May 19 nicklas 106           (YYYYMMDD or MMDD)
5425 14 May 19 nicklas 107         </td>
5425 14 May 19 nicklas 108       </tr>
5425 14 May 19 nicklas 109       
5425 14 May 19 nicklas 110       <tbody>
5425 14 May 19 nicklas 111       <tr>
5450 27 May 19 nicklas 112         <td class="subprompt">Hybridization</td>
5425 14 May 19 nicklas 113         <td class="date-col">
5450 27 May 19 nicklas 114           <input type="text" name="hybridizationDate" id="hybridizationDate"
5450 27 May 19 nicklas 115             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="hybridizationOperator"
5425 14 May 19 nicklas 116             style="width: 8em;" maxlength="10">
5425 14 May 19 nicklas 117             <base:icon 
5450 27 May 19 nicklas 118               id="hybridizationDateCalendar"
5425 14 May 19 nicklas 119               subclass="auto-init"
5425 14 May 19 nicklas 120               data-auto-init="calendar"
5450 27 May 19 nicklas 121               data-textarea-id="hybridizationDate"
5425 14 May 19 nicklas 122               data-date-format="yyyyMMdd"
5450 27 May 19 nicklas 123               data-title="Hybridization date"
5425 14 May 19 nicklas 124               image="calendar.png" 
5425 14 May 19 nicklas 125               tooltip="Select a date from a calendar" 
5425 14 May 19 nicklas 126               tabindex="-1"
5425 14 May 19 nicklas 127             />
5425 14 May 19 nicklas 128         </td>
5425 14 May 19 nicklas 129         <td class="operator-col">
5450 27 May 19 nicklas 130           <input type="text" name="hybridizationOperator" id="hybridizationOperator" 
5450 27 May 19 nicklas 131             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="pcrDate"
5450 27 May 19 nicklas 132             value="<%=HTML.encodeTags(user.getName())%>" maxlength="255">
5450 27 May 19 nicklas 133         </td>
5450 27 May 19 nicklas 134         <td class="status" id="hybridizationDate.status"></td>
5450 27 May 19 nicklas 135         <td class="help">
5450 27 May 19 nicklas 136           <span id="hybridizationDate.message" class="message"></span>
5450 27 May 19 nicklas 137         </td>
5450 27 May 19 nicklas 138       </tr>
5450 27 May 19 nicklas 139       <tr>
5450 27 May 19 nicklas 140         <td class="subprompt">PCR</td>
5450 27 May 19 nicklas 141         <td class="date-col">
5450 27 May 19 nicklas 142           <input type="text" name="pcrDate" id="pcrDate"
5450 27 May 19 nicklas 143             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="pcrOperator"
5450 27 May 19 nicklas 144             style="width: 8em;" maxlength="10">
5450 27 May 19 nicklas 145             <base:icon 
5450 27 May 19 nicklas 146               id="pcrDateCalendar"
5450 27 May 19 nicklas 147               subclass="auto-init"
5450 27 May 19 nicklas 148               data-auto-init="calendar"
5450 27 May 19 nicklas 149               data-textarea-id="pcrDate"
5450 27 May 19 nicklas 150               data-date-format="yyyyMMdd"
5450 27 May 19 nicklas 151               data-title="PCR date"
5450 27 May 19 nicklas 152               image="calendar.png" 
5450 27 May 19 nicklas 153               tooltip="Select a date from a calendar" 
5450 27 May 19 nicklas 154               tabindex="-1"
5450 27 May 19 nicklas 155             />
5450 27 May 19 nicklas 156         </td>
5450 27 May 19 nicklas 157         <td class="operator-col">
5450 27 May 19 nicklas 158           <input type="text" name="pcrOperator" id="pcrOperator" 
5425 14 May 19 nicklas 159             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="cleanupDate"
5425 14 May 19 nicklas 160             value="<%=HTML.encodeTags(user.getName())%>" maxlength="255">
5425 14 May 19 nicklas 161         </td>
5450 27 May 19 nicklas 162         <td class="status" id="pcrDate.status"></td>
5425 14 May 19 nicklas 163         <td class="help">
5450 27 May 19 nicklas 164           <span id="pcrDate.message" class="message"></span>
5425 14 May 19 nicklas 165         </td>
5425 14 May 19 nicklas 166       </tr>
5425 14 May 19 nicklas 167       <tr>
5425 14 May 19 nicklas 168         <td class="subprompt">Cleanup</td>
5425 14 May 19 nicklas 169         <td class="date-col">
5425 14 May 19 nicklas 170           <input type="text" name="cleanupDate" id="cleanupDate"
5425 14 May 19 nicklas 171             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="cleanupOperator"
5425 14 May 19 nicklas 172             style="width: 8em;" maxlength="10">
5425 14 May 19 nicklas 173             <base:icon 
5425 14 May 19 nicklas 174               id="cleanupDateCalendar"
5425 14 May 19 nicklas 175               subclass="auto-init"
5425 14 May 19 nicklas 176               data-auto-init="calendar"
5425 14 May 19 nicklas 177               data-textarea-id="cleanupDate"
5425 14 May 19 nicklas 178               data-date-format="yyyyMMdd"
5425 14 May 19 nicklas 179               data-title="Cleanup date"
5425 14 May 19 nicklas 180               image="calendar.png" 
5425 14 May 19 nicklas 181               tooltip="Select a date from a calendar" 
5425 14 May 19 nicklas 182               tabindex="-1"
5425 14 May 19 nicklas 183             />
5425 14 May 19 nicklas 184         </td>
5425 14 May 19 nicklas 185         <td class="operator-col">
5425 14 May 19 nicklas 186           <input type="text" name="cleanupOperator" id="cleanupOperator" 
5429 16 May 19 nicklas 187             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="barcodeTemplate"
5425 14 May 19 nicklas 188             value="<%=HTML.encodeTags(user.getName())%>" maxlength="255">
5425 14 May 19 nicklas 189         </td>
5425 14 May 19 nicklas 190         <td class="status" id="cleanupDate.status"></td>
5425 14 May 19 nicklas 191         <td class="help">
5425 14 May 19 nicklas 192           <span id="cleanupDate.message" class="message"></span>
5425 14 May 19 nicklas 193         </td>
5425 14 May 19 nicklas 194       </tr>
5425 14 May 19 nicklas 195       </tbody>
5425 14 May 19 nicklas 196         
5425 14 May 19 nicklas 197       <tr>
5429 16 May 19 nicklas 198         <td class="prompt">Barcode template</td>
5429 16 May 19 nicklas 199         <td class="input" colspan="2">
5429 16 May 19 nicklas 200           <select name="barcodeTemplate" id="barcodeTemplate" 
5429 16 May 19 nicklas 201             class="required auto-init" data-auto-init="focus-on-enter" data-next-focus="libProtocol"
5429 16 May 19 nicklas 202             ></select>
5429 16 May 19 nicklas 203         </td>
5429 16 May 19 nicklas 204         <td class="status" id="barcodeTemplate.status"></td>
5429 16 May 19 nicklas 205         <td class="help">
5429 16 May 19 nicklas 206           <span id="barcodeTemplate.message" class="message"></span>
5429 16 May 19 nicklas 207           Select barcode layout template that was used to assign barcodes to the libraries.
5429 16 May 19 nicklas 208         </td>
5429 16 May 19 nicklas 209       </tr>
5429 16 May 19 nicklas 210       <tr>
5425 14 May 19 nicklas 211         <td class="prompt">Protocol</td>
5425 14 May 19 nicklas 212         <td class="input" colspan="2">
5425 14 May 19 nicklas 213           <select name="libProtocol" id="libProtocol" 
5425 14 May 19 nicklas 214             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="libComments"
5425 14 May 19 nicklas 215             ></select>
5425 14 May 19 nicklas 216         </td>
5425 14 May 19 nicklas 217         <td class="status" id="libProtocol.status"></td>
5425 14 May 19 nicklas 218         <td class="help">
5425 14 May 19 nicklas 219           <span id="libProtocol.message" class="message"></span>
5425 14 May 19 nicklas 220           Select the protocol used for library preparation.
5425 14 May 19 nicklas 221         </td>
5425 14 May 19 nicklas 222       </tr>
5425 14 May 19 nicklas 223       <tr class="align-top">
5425 14 May 19 nicklas 224         <td class="prompt">Comments</td>
5425 14 May 19 nicklas 225         <td class="input" colspan="2">
5425 14 May 19 nicklas 226           <textarea rows="4" name="libComments" id="libComments"></textarea>
5425 14 May 19 nicklas 227         </td>
5425 14 May 19 nicklas 228         <td class="status" id="libComments.status"></td>
5425 14 May 19 nicklas 229         <td class="help">
5425 14 May 19 nicklas 230           <span id="libComments.message" class="message"></span>
5425 14 May 19 nicklas 231           Comments about the library preparation.
5425 14 May 19 nicklas 232         </td>
5425 14 May 19 nicklas 233       </tr>
5425 14 May 19 nicklas 234       </table>
5425 14 May 19 nicklas 235     </div>
5425 14 May 19 nicklas 236   </div>
5425 14 May 19 nicklas 237   
5425 14 May 19 nicklas 238   <div id="wizard-status"></div>
5425 14 May 19 nicklas 239   
5425 14 May 19 nicklas 240   <table class="navigation" id="navigation">
5425 14 May 19 nicklas 241   <tr>
5425 14 May 19 nicklas 242     <td><base:button id="gocancel" title="Cancel" /></td>
5425 14 May 19 nicklas 243     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
5425 14 May 19 nicklas 244     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
5425 14 May 19 nicklas 245     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
5425 14 May 19 nicklas 246     <td id="gonext-message" class="message"></td>
5425 14 May 19 nicklas 247   </tr>
5425 14 May 19 nicklas 248   </table>
5425 14 May 19 nicklas 249
5425 14 May 19 nicklas 250   </form>
5425 14 May 19 nicklas 251   </div>
5425 14 May 19 nicklas 252   
5425 14 May 19 nicklas 253 </base:body>
5425 14 May 19 nicklas 254 </base:page>
5425 14 May 19 nicklas 255 <%
5425 14 May 19 nicklas 256 }
5425 14 May 19 nicklas 257 finally
5425 14 May 19 nicklas 258 {
5425 14 May 19 nicklas 259   if (dc != null) dc.close();
5425 14 May 19 nicklas 260 }
5425 14 May 19 nicklas 261 %>