extensions/net.sf.basedb.reggie/trunk/resources/sampleproc/move_registration.jsp

Code
Comments
Other
Rev Date Author Line
7184 22 May 23 nicklas 1 <%@ page
7184 22 May 23 nicklas 2   pageEncoding="UTF-8"
7184 22 May 23 nicklas 3   session="false"
7184 22 May 23 nicklas 4   import="net.sf.basedb.core.User"
7184 22 May 23 nicklas 5   import="net.sf.basedb.core.DbControl"
7184 22 May 23 nicklas 6   import="net.sf.basedb.core.SessionControl"
7184 22 May 23 nicklas 7   import="net.sf.basedb.core.Application"
7184 22 May 23 nicklas 8   import="net.sf.basedb.clients.web.Base"  
7184 22 May 23 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"
7184 22 May 23 nicklas 10   import="net.sf.basedb.util.formatter.DateFormatter"
7184 22 May 23 nicklas 11   import="net.sf.basedb.util.formatter.Formatter"
7184 22 May 23 nicklas 12   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
7184 22 May 23 nicklas 13   import="java.util.Date"
7184 22 May 23 nicklas 14 %>
7184 22 May 23 nicklas 15 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
7184 22 May 23 nicklas 16 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
7184 22 May 23 nicklas 17 <%
7184 22 May 23 nicklas 18 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
7184 22 May 23 nicklas 19 final String ID = sc.getId();
7184 22 May 23 nicklas 20 final float scale = Base.getScale(sc);
7184 22 May 23 nicklas 21 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
7184 22 May 23 nicklas 22 DbControl dc = null;
7184 22 May 23 nicklas 23 try
7184 22 May 23 nicklas 24 {
7184 22 May 23 nicklas 25   dc = sc.newDbControl();
7184 22 May 23 nicklas 26   final User user = User.getById(dc, sc.getLoggedInUserId());
7184 22 May 23 nicklas 27   final Formatter dateFormat = new DateFormatter("yyyyMMdd");
7184 22 May 23 nicklas 28 %>
7184 22 May 23 nicklas 29 <base:page type="default" >
7184 22 May 23 nicklas 30 <base:head 
7184 22 May 23 nicklas 31   scripts="~../reggie-2.js,~move_registration.js" 
7184 22 May 23 nicklas 32   styles="path.css,~../css/reggie-2.css"
7184 22 May 23 nicklas 33 >
7184 22 May 23 nicklas 34 <style>
7184 22 May 23 nicklas 35 #select-missing-sample
7184 22 May 23 nicklas 36 {
7184 22 May 23 nicklas 37   width: 25em; 
7184 22 May 23 nicklas 38   z-index: 2; 
7184 22 May 23 nicklas 39 }
7184 22 May 23 nicklas 40 #missing-samples-list
7184 22 May 23 nicklas 41 {
7184 22 May 23 nicklas 42   max-height: 40em;
7184 22 May 23 nicklas 43   overflow: auto;
7184 22 May 23 nicklas 44 }
7184 22 May 23 nicklas 45
7184 22 May 23 nicklas 46 #missing-samples-list .menuitem
7184 22 May 23 nicklas 47 {
7184 22 May 23 nicklas 48   padding-left: 18px;
7184 22 May 23 nicklas 49 }
7184 22 May 23 nicklas 50
7184 22 May 23 nicklas 51 #missing-samples-list .is-selected
7184 22 May 23 nicklas 52 {
7184 22 May 23 nicklas 53   background-image: url('../images/selected.gif');
7184 22 May 23 nicklas 54   background-position: 2px 50%;
7184 22 May 23 nicklas 55   background-repeat: no-repeat;
7184 22 May 23 nicklas 56 }
7184 22 May 23 nicklas 57
7184 22 May 23 nicklas 58 #missing-samples-list .menuitem:hover
7184 22 May 23 nicklas 59 {
7184 22 May 23 nicklas 60   padding-left: 16px;
7184 22 May 23 nicklas 61   background-position: 0px 50%;
7184 22 May 23 nicklas 62 }
7184 22 May 23 nicklas 63
7184 22 May 23 nicklas 64 #missing-samples-list b
7184 22 May 23 nicklas 65 {
7184 22 May 23 nicklas 66   border-width: 1px;
7184 22 May 23 nicklas 67   border-radius: 0.5em;
7184 22 May 23 nicklas 68   background-color: white;
7184 22 May 23 nicklas 69   padding: 2px;
7184 22 May 23 nicklas 70   margin: 1px;
7184 22 May 23 nicklas 71 }
7184 22 May 23 nicklas 72
7184 22 May 23 nicklas 73 </style>
7184 22 May 23 nicklas 74 </base:head>
7184 22 May 23 nicklas 75 <base:body>
7184 22 May 23 nicklas 76
7184 22 May 23 nicklas 77   <p:path><p:pathelement 
7184 22 May 23 nicklas 78     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
7184 22 May 23 nicklas 79     /><p:pathelement title="Register moved samples" 
7184 22 May 23 nicklas 80     /></p:path>
7184 22 May 23 nicklas 81
7184 22 May 23 nicklas 82   <div class="content">
7184 22 May 23 nicklas 83
7184 22 May 23 nicklas 84   <form name="reggie" id="wizard" class="wizard">
7184 22 May 23 nicklas 85   <div id="select-missing-sample" class="menu vertical bg-filled-100" style="display: none;">
7184 22 May 23 nicklas 86     <div id="missing-samples-list"></div>
7184 22 May 23 nicklas 87   </div>
7184 22 May 23 nicklas 88   
7184 22 May 23 nicklas 89   <div class="step" id="step-1">
7184 22 May 23 nicklas 90     <div class="step-no">1</div>
7184 22 May 23 nicklas 91     <div class="step-title">Select Transport box</div>
7184 22 May 23 nicklas 92     <div class="step-content">
7184 22 May 23 nicklas 93
7184 22 May 23 nicklas 94       <table class="step-form">
7184 22 May 23 nicklas 95       <tr>
7184 22 May 23 nicklas 96         <td class="prompt">Transport box</td>
7184 22 May 23 nicklas 97         <td class="input">
7184 22 May 23 nicklas 98           <select name="transportBox" id="transportBox" class="required"></select>
7184 22 May 23 nicklas 99         </td>
7186 22 May 23 nicklas 100         <td class="status" id="transportBox.status"></td>
7184 22 May 23 nicklas 101         <td class="help" rowspan="2">
7186 22 May 23 nicklas 102           <span id="transportBox.message" class="message"></span>
7184 22 May 23 nicklas 103           Select an existing Transport box. The list contain all transport boxes that
7184 22 May 23 nicklas 104           has not yet been registered as completed.
7184 22 May 23 nicklas 105         </td>
7184 22 May 23 nicklas 106       </tr>
7184 22 May 23 nicklas 107       <tbody class="info-section">
7184 22 May 23 nicklas 108       <tr>
7184 22 May 23 nicklas 109         <td class="prompt">Comments</td>
7186 22 May 23 nicklas 110         <td class="info" id="boxComments"></td>
7184 22 May 23 nicklas 111         <td class="status"></td>
7184 22 May 23 nicklas 112         <td class="help"></td>
7184 22 May 23 nicklas 113       </tr>
7184 22 May 23 nicklas 114       </tbody>
7184 22 May 23 nicklas 115       </table>
7184 22 May 23 nicklas 116     </div>
7184 22 May 23 nicklas 117   </div>
7184 22 May 23 nicklas 118
7184 22 May 23 nicklas 119   <div class="step" id="step-2">
7184 22 May 23 nicklas 120     <div class="step-no">2</div>
7184 22 May 23 nicklas 121     <div class="step-title">Register information about the move</div>
7184 22 May 23 nicklas 122     <div class="step-content">
7184 22 May 23 nicklas 123       <table class="step-form">
7184 22 May 23 nicklas 124       <tr>
7184 22 May 23 nicklas 125         <td class="prompt">Date</td>
7184 22 May 23 nicklas 126         <td class="input">
7184 22 May 23 nicklas 127           <input type="text" name="moveDate" id="moveDate"
7184 22 May 23 nicklas 128             value="<%=dateFormat.format(new Date()) %>" 
7184 22 May 23 nicklas 129             class="auto-init required" data-auto-init="focus-on-enter" data-next-focus="moveOperator"
7184 22 May 23 nicklas 130             style="width: 8em;" maxlength="10">
7184 22 May 23 nicklas 131             <base:icon 
7184 22 May 23 nicklas 132               id="moveDateCalendar"
7184 22 May 23 nicklas 133               subclass="auto-init"
7184 22 May 23 nicklas 134               data-auto-init="calendar"
7184 22 May 23 nicklas 135               data-textarea-id="moveDate"
7184 22 May 23 nicklas 136               data-date-format="yyyyMMdd"
7184 22 May 23 nicklas 137               data-title="Move date"
7184 22 May 23 nicklas 138               image="calendar.png" 
7184 22 May 23 nicklas 139               tooltip="Select a date from a calendar" 
7184 22 May 23 nicklas 140               tabindex="-1"
7184 22 May 23 nicklas 141             />
7184 22 May 23 nicklas 142         </td>
7184 22 May 23 nicklas 143         <td class="status" id="moveDate.status"></td>
7184 22 May 23 nicklas 144         <td class="help">
7184 22 May 23 nicklas 145           <span id="moveDate.message" class="message"></span>
7184 22 May 23 nicklas 146           (YYYYMMDD or MMDD)
7184 22 May 23 nicklas 147         </td>
7184 22 May 23 nicklas 148       </tr>
7184 22 May 23 nicklas 149       <tr>
7184 22 May 23 nicklas 150         <td class="prompt">Operator</td>
7184 22 May 23 nicklas 151         <td class="input">
7184 22 May 23 nicklas 152           <input type="text" name="moveOperator" id="moveOperator" 
7184 22 May 23 nicklas 153             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="missingSamples"
7184 22 May 23 nicklas 154             value="<%=HTML.encodeTags(user.getName()) %>" maxlength="255">
7184 22 May 23 nicklas 155         </td>
7184 22 May 23 nicklas 156         <td class="status" id="moveOperator.status"></td>
7184 22 May 23 nicklas 157         <td class="help">
7184 22 May 23 nicklas 158           <span id="moveOperator.message" class="message"></span>
7184 22 May 23 nicklas 159         </td>
7184 22 May 23 nicklas 160       </tr>
7184 22 May 23 nicklas 161       <tr>
7184 22 May 23 nicklas 162         <td class="prompt">Missing samples</td>
7184 22 May 23 nicklas 163         <td class="input">
7184 22 May 23 nicklas 164           <label><input type="checkbox" name="noMissingSamples" id="noMissingSamples" value="none" checked>None</label>
7184 22 May 23 nicklas 165           <i>- or -</i> 
7184 22 May 23 nicklas 166           <base:button id="showMissingSampleMenu" subclass="icon-to-right"
7184 22 May 23 nicklas 167             title="<i>- select -</i>" image="sort_asc.png" tooltip="Select missing samples" /><br>
7184 22 May 23 nicklas 168           <textarea name="missingSamples" id="missingSamples" rows="3"></textarea>
7184 22 May 23 nicklas 169         </td>
7184 22 May 23 nicklas 170         <td class="status" id="missingSamples.status"></td>
7184 22 May 23 nicklas 171         <td class="help">
7184 22 May 23 nicklas 172           <span id="missingSamples.message" class="message"></span>
7184 22 May 23 nicklas 173           Check the <b>None</b> option if all samples was found in the transport box 
7184 22 May 23 nicklas 174           and moved to the SCAN-B box.<br>
7184 22 May 23 nicklas 175           Otherwise, specify the <b>Clarity ID</b> of the
7184 22 May 23 nicklas 176           missing samples. Each ID should be separated by a comma, space or newline.
7184 22 May 23 nicklas 177         </td>
7184 22 May 23 nicklas 178       </tr>
7184 22 May 23 nicklas 179     
7184 22 May 23 nicklas 180       <tr class="align-top">
7184 22 May 23 nicklas 181         <td class="prompt">Extra samples in the box</td>
7184 22 May 23 nicklas 182         <td class="input">
7184 22 May 23 nicklas 183           <textarea name="extraSamples" id="extraSamples" rows="3"></textarea>
7184 22 May 23 nicklas 184         </td>
7184 22 May 23 nicklas 185         <td class="status" id="extraSamples.status"></td>
7184 22 May 23 nicklas 186         <td class="help">
7184 22 May 23 nicklas 187           <span id="extraSamples.message" class="message"></span>
7184 22 May 23 nicklas 188           Enter the <b>Clarity ID</b> of extra samples in the transport
7184 22 May 23 nicklas 189           box that was not mentioned in the manifest. Each ID should be
7184 22 May 23 nicklas 190           separated by a comma, space or newline.
7184 22 May 23 nicklas 191         </td>
7184 22 May 23 nicklas 192       </tr>
7184 22 May 23 nicklas 193
7184 22 May 23 nicklas 194       <tr class="align-top">
7184 22 May 23 nicklas 195         <td class="prompt">Other comments</td>
7184 22 May 23 nicklas 196         <td class="input">
7184 22 May 23 nicklas 197           <textarea name="comments" id="comments" rows="3"></textarea>
7184 22 May 23 nicklas 198         </td>
7184 22 May 23 nicklas 199         <td class="status" id="comments.status"></td>
7184 22 May 23 nicklas 200         <td class="help">
7184 22 May 23 nicklas 201           <span id="comments.message" class="message"></span>
7184 22 May 23 nicklas 202           Other comments about the move.
7184 22 May 23 nicklas 203         </td>
7184 22 May 23 nicklas 204       </tr>
7184 22 May 23 nicklas 205
7184 22 May 23 nicklas 206         
7184 22 May 23 nicklas 207       </table>
7184 22 May 23 nicklas 208     
7184 22 May 23 nicklas 209     </div>
7184 22 May 23 nicklas 210   </div>
7184 22 May 23 nicklas 211   
7184 22 May 23 nicklas 212   <div id="wizard-status"></div>
7184 22 May 23 nicklas 213   
7184 22 May 23 nicklas 214   <table class="navigation" id="navigation">
7184 22 May 23 nicklas 215   <tr>
7184 22 May 23 nicklas 216     <td><base:button id="gocancel" title="Cancel" /></td>
7184 22 May 23 nicklas 217     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
7184 22 May 23 nicklas 218     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
7184 22 May 23 nicklas 219     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
7184 22 May 23 nicklas 220     <td id="gonext-message" class="message"></td>
7184 22 May 23 nicklas 221   </tr>
7184 22 May 23 nicklas 222   </table>
7184 22 May 23 nicklas 223   
7184 22 May 23 nicklas 224   </form>
7184 22 May 23 nicklas 225   </div>
7184 22 May 23 nicklas 226   
7184 22 May 23 nicklas 227 </base:body>
7184 22 May 23 nicklas 228 </base:page>
7184 22 May 23 nicklas 229 <%
7184 22 May 23 nicklas 230 }
7184 22 May 23 nicklas 231 finally
7184 22 May 23 nicklas 232 {
7184 22 May 23 nicklas 233   if (dc != null) dc.close();
7184 22 May 23 nicklas 234 }
7184 22 May 23 nicklas 235 %>