extensions/net.sf.basedb.reggie/trunk/resources/libprep/create_flowcells.jsp

Code
Comments
Other
Rev Date Author Line
2020 13 Sep 13 nicklas 1 <%@ page
2020 13 Sep 13 nicklas 2   pageEncoding="UTF-8"
2020 13 Sep 13 nicklas 3   session="false"
2020 13 Sep 13 nicklas 4   import="net.sf.basedb.core.User"
2020 13 Sep 13 nicklas 5   import="net.sf.basedb.core.DbControl"
2020 13 Sep 13 nicklas 6   import="net.sf.basedb.core.SessionControl"
2020 13 Sep 13 nicklas 7   import="net.sf.basedb.core.Application"
2020 13 Sep 13 nicklas 8   import="net.sf.basedb.clients.web.Base"  
2020 13 Sep 13 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"  
2020 13 Sep 13 nicklas 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
2020 13 Sep 13 nicklas 11 %>
2020 13 Sep 13 nicklas 12 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
2020 13 Sep 13 nicklas 13 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
2020 13 Sep 13 nicklas 14 <%
3976 26 May 16 nicklas 15 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
2020 13 Sep 13 nicklas 16 final String ID = sc.getId();
2020 13 Sep 13 nicklas 17 final float scale = Base.getScale(sc);
2020 13 Sep 13 nicklas 18 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
2020 13 Sep 13 nicklas 19 DbControl dc = null;
2020 13 Sep 13 nicklas 20 try
2020 13 Sep 13 nicklas 21 {
2020 13 Sep 13 nicklas 22   dc = sc.newDbControl();
2020 13 Sep 13 nicklas 23   final User user = User.getById(dc, sc.getLoggedInUserId());
2020 13 Sep 13 nicklas 24 %>
2020 13 Sep 13 nicklas 25 <base:page type="default" >
2652 11 Sep 14 nicklas 26 <base:head 
2652 11 Sep 14 nicklas 27   scripts="~../reggie-2.js,~create_flowcells.js" 
2652 11 Sep 14 nicklas 28   styles="path.css,~../css/reggie-2.css,~../css/plate.css">
2652 11 Sep 14 nicklas 29 <style>
2652 11 Sep 14 nicklas 30 .nondefault
2020 13 Sep 13 nicklas 31 {
2652 11 Sep 14 nicklas 32   background: #FFF066;
2020 13 Sep 13 nicklas 33 }
2652 11 Sep 14 nicklas 34 .nondefault:after
2020 13 Sep 13 nicklas 35 {
2652 11 Sep 14 nicklas 36   content: '›';
2020 13 Sep 13 nicklas 37 }
2652 11 Sep 14 nicklas 38 .nondefault:before
2020 13 Sep 13 nicklas 39 {
2652 11 Sep 14 nicklas 40   content: '‹';
2020 13 Sep 13 nicklas 41 }
2020 13 Sep 13 nicklas 42
2020 13 Sep 13 nicklas 43
2020 13 Sep 13 nicklas 44 #numSelected
2020 13 Sep 13 nicklas 45 {
2020 13 Sep 13 nicklas 46   font-style: italic;
2020 13 Sep 13 nicklas 47   margin-top: 0.25em;
2020 13 Sep 13 nicklas 48   margin-left: 1em;
2020 13 Sep 13 nicklas 49 }
2020 13 Sep 13 nicklas 50
2028 30 Sep 13 nicklas 51 .plate .header
2028 30 Sep 13 nicklas 52 {
3026 11 Dec 14 nicklas 53   height: 2em;
2028 30 Sep 13 nicklas 54 }
2028 30 Sep 13 nicklas 55
2028 30 Sep 13 nicklas 56 .plate .header th.col-0, .plate .header th.col-1
2028 30 Sep 13 nicklas 57 {
2028 30 Sep 13 nicklas 58   border-bottom: 1px solid #A0A0A0;
2028 30 Sep 13 nicklas 59 }
2028 30 Sep 13 nicklas 60
2020 13 Sep 13 nicklas 61 .well
2020 13 Sep 13 nicklas 62 {
2020 13 Sep 13 nicklas 63   height: 2em;
2020 13 Sep 13 nicklas 64   max-height: 2em;
2020 13 Sep 13 nicklas 65   min-height: 2em;
2020 13 Sep 13 nicklas 66   width: 10em;
2020 13 Sep 13 nicklas 67   max-width: 10em;
2020 13 Sep 13 nicklas 68   min-width: 10em;
2020 13 Sep 13 nicklas 69   font-size: 100%;
2020 13 Sep 13 nicklas 70   text-align: center;
2020 13 Sep 13 nicklas 71   vertical-align: middle;
2020 13 Sep 13 nicklas 72 }
2020 13 Sep 13 nicklas 73
2028 30 Sep 13 nicklas 74 .plate tbody .lane
2028 30 Sep 13 nicklas 75 {
2028 30 Sep 13 nicklas 76   border-right: 1px solid #A0A0A0;
2093 21 Oct 13 nicklas 77   width: 3em;
2028 30 Sep 13 nicklas 78 }
2028 30 Sep 13 nicklas 79
2028 30 Sep 13 nicklas 80 .well.col-1
2028 30 Sep 13 nicklas 81 {
2028 30 Sep 13 nicklas 82   border-left-style: solid;
2028 30 Sep 13 nicklas 83 }
2028 30 Sep 13 nicklas 84
2020 13 Sep 13 nicklas 85 .hide-fc-1 .col-1
2020 13 Sep 13 nicklas 86 {
2020 13 Sep 13 nicklas 87   display: none;
2020 13 Sep 13 nicklas 88 }
2020 13 Sep 13 nicklas 89
2020 13 Sep 13 nicklas 90 #select-pool-all
2020 13 Sep 13 nicklas 91 {
2020 13 Sep 13 nicklas 92   max-height: 20em;
2020 13 Sep 13 nicklas 93   overflow: auto;
2020 13 Sep 13 nicklas 94 }
2020 13 Sep 13 nicklas 95
2020 13 Sep 13 nicklas 96 #select-pool .menuitem
2020 13 Sep 13 nicklas 97 {
2020 13 Sep 13 nicklas 98   padding-left: 16px;
2020 13 Sep 13 nicklas 99 }
2020 13 Sep 13 nicklas 100
2020 13 Sep 13 nicklas 101 #select-pool div.current
2020 13 Sep 13 nicklas 102 {
2020 13 Sep 13 nicklas 103   font-weight: bold;
2020 13 Sep 13 nicklas 104   background-image: url('../images/selected.gif');
2020 13 Sep 13 nicklas 105   background-position: 2px 50%;
2020 13 Sep 13 nicklas 106   background-repeat: no-repeat;
2020 13 Sep 13 nicklas 107 }
2020 13 Sep 13 nicklas 108
2028 30 Sep 13 nicklas 109 #select-pool div.default:after
2028 30 Sep 13 nicklas 110 {
2028 30 Sep 13 nicklas 111   content: ' (default)';
2028 30 Sep 13 nicklas 112 }
2028 30 Sep 13 nicklas 113
2020 13 Sep 13 nicklas 114 #select-pool .menuitem:hover
2020 13 Sep 13 nicklas 115 {
2020 13 Sep 13 nicklas 116   padding-left: 14px;
2020 13 Sep 13 nicklas 117   background-position: 0px 50%;
2020 13 Sep 13 nicklas 118 }
2020 13 Sep 13 nicklas 119
2020 13 Sep 13 nicklas 120 </style>
2020 13 Sep 13 nicklas 121 </base:head>
2652 11 Sep 14 nicklas 122 <base:body>
2020 13 Sep 13 nicklas 123
2020 13 Sep 13 nicklas 124   <p:path><p:pathelement 
2020 13 Sep 13 nicklas 125     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
2020 13 Sep 13 nicklas 126     /><p:pathelement title="Create flow cells" 
2020 13 Sep 13 nicklas 127     /></p:path>
2020 13 Sep 13 nicklas 128
2796 13 Oct 14 nicklas 129   <div class="content">
2020 13 Sep 13 nicklas 130   
2796 13 Oct 14 nicklas 131   <form name="reggie" id="wizard" class="wizard">
3108 27 Jan 15 nicklas 132   <div id="select-pool" class="menu vertical bg-filled-100" style="width: 15em; z-index: 2; display: none;">
2020 13 Sep 13 nicklas 133     <div id="select-pool-all"></div>
2020 13 Sep 13 nicklas 134   </div>
2020 13 Sep 13 nicklas 135   
3623 25 Nov 15 nicklas 136   <div class="step" id="step-1">
2652 11 Sep 14 nicklas 137     <div class="step-no">1</div>
2652 11 Sep 14 nicklas 138     <div class="step-title">Select pools</div>
2652 11 Sep 14 nicklas 139     <div class="step-content">
2652 11 Sep 14 nicklas 140       <table class="step-form">
2652 11 Sep 14 nicklas 141       <tr>
2412 09 May 14 nicklas 142         <td class="prompt">Flow cell type</td>
2020 13 Sep 13 nicklas 143         <td class="input">
2652 11 Sep 14 nicklas 144           <select name="preset" id="preset">
3623 25 Nov 15 nicklas 145             <option value="NextSeq" selected>NextSeq
2412 09 May 14 nicklas 146             <option value="">Custom
2412 09 May 14 nicklas 147           </select>
2412 09 May 14 nicklas 148         </td>
2412 09 May 14 nicklas 149         <td class="status" id="preset.status"></td>
2652 11 Sep 14 nicklas 150         <td class="help">
2652 11 Sep 14 nicklas 151           <span id="preset.message" class="message"></span>
2412 09 May 14 nicklas 152           The selected preset affects number of lanes per flow cell.
2412 09 May 14 nicklas 153         </td>
2412 09 May 14 nicklas 154       </tr>
2652 11 Sep 14 nicklas 155       <tr>
2020 13 Sep 13 nicklas 156         <td class="prompt">Lanes/flow cell</td>
2020 13 Sep 13 nicklas 157         <td class="input" id="lanes">
2412 09 May 14 nicklas 158           <label><input type="radio" name="num_lanes" id="num_lanes_2" value="2">2</label>
3623 25 Nov 15 nicklas 159           <label><input type="radio" name="num_lanes" id="num_lanes_4" value="4" checked>4</label>
3623 25 Nov 15 nicklas 160           <label><input type="radio" name="num_lanes" id="num_lanes_8" value="8">8</label>
2020 13 Sep 13 nicklas 161         </td>
2020 13 Sep 13 nicklas 162         <td class="status" id="lanes.status"></td>
2652 11 Sep 14 nicklas 163         <td class="help">
2652 11 Sep 14 nicklas 164           <span id="lanes.message" class="message"></span>
2020 13 Sep 13 nicklas 165           Select the number of lanes on each flow cell.
2020 13 Sep 13 nicklas 166         </td>
2020 13 Sep 13 nicklas 167       </tr>
3623 25 Nov 15 nicklas 168       <tr>
3623 25 Nov 15 nicklas 169         <td class="prompt">Number of flow cells</td>
3623 25 Nov 15 nicklas 170         <td class="input">
3623 25 Nov 15 nicklas 171           <label><input type="radio" name="num_flowcells" id="num_flowcells_1" value="1" checked>1</label>
3623 25 Nov 15 nicklas 172           <label><input type="radio" name="num_flowcells" id="num_flowcells_2" value="2">2</label>
3623 25 Nov 15 nicklas 173         </td>
3623 25 Nov 15 nicklas 174         <td class="status" id="numFlowCells.status"></td>
3623 25 Nov 15 nicklas 175         <td class="help">
3623 25 Nov 15 nicklas 176           <span id="numFlowCells.message" class="message"></span>
3623 25 Nov 15 nicklas 177           Select if you want to create 1 or 2 flow cells.
3623 25 Nov 15 nicklas 178         </td>
3623 25 Nov 15 nicklas 179       </tr>
2652 11 Sep 14 nicklas 180       <tr class="align-top">
2020 13 Sep 13 nicklas 181         <td class="prompt">Pools</td>
2652 11 Sep 14 nicklas 182         <td class="input">
2652 11 Sep 14 nicklas 183           <select name="pools" id="pools" size="6" multiple></select>
2020 13 Sep 13 nicklas 184           <div id="numSelected"></div>
2020 13 Sep 13 nicklas 185           <base:buttongroup style="margin-top: 0.5em;">
2652 11 Sep 14 nicklas 186             <base:button title="Select manually&hellip;" id="btnSelectPools" />
2020 13 Sep 13 nicklas 187           </base:buttongroup>
2020 13 Sep 13 nicklas 188         </td>
2020 13 Sep 13 nicklas 189         <td class="status" id="pools.status"></td>
2652 11 Sep 14 nicklas 190         <td class="help">
2652 11 Sep 14 nicklas 191           <span id="pools.message" class="message"></span>
2020 13 Sep 13 nicklas 192           Select the pools that should be used in the flow cells. The list contain pools that has
5453 28 May 19 nicklas 193           not yet been used on any flow cell.
2020 13 Sep 13 nicklas 194         </td>
2020 13 Sep 13 nicklas 195       </tr>
2020 13 Sep 13 nicklas 196       </table>
2652 11 Sep 14 nicklas 197     </div>
2020 13 Sep 13 nicklas 198   </div>
2020 13 Sep 13 nicklas 199   
2652 11 Sep 14 nicklas 200   <div class="step" id="step-2">
2652 11 Sep 14 nicklas 201     <div class="step-no">2</div>
2652 11 Sep 14 nicklas 202     <div class="step-title">Flow cell information</div>
2652 11 Sep 14 nicklas 203     <div class="step-content">
2020 13 Sep 13 nicklas 204
2652 11 Sep 14 nicklas 205       <table class="step-form">
2652 11 Sep 14 nicklas 206       <tr>
2087 18 Oct 13 nicklas 207         <td class="prompt">Sequencing cycles</td>
2652 11 Sep 14 nicklas 208         <td class="input">
2652 11 Sep 14 nicklas 209           <table>
2652 11 Sep 14 nicklas 210           <tr>
2652 11 Sep 14 nicklas 211             <td colspan="3">Read 1</td>
2652 11 Sep 14 nicklas 212             <td colspan="3">Index</td>
2652 11 Sep 14 nicklas 213             <td colspan="3">Read 2</td>
2652 11 Sep 14 nicklas 214           </tr>
2652 11 Sep 14 nicklas 215           <tr>
2652 11 Sep 14 nicklas 216             <td>
2652 11 Sep 14 nicklas 217               <input type="text" class="required" name="read1" id="read1" 
2652 11 Sep 14 nicklas 218                 style="width: 4em;" maxlength="4">
2652 11 Sep 14 nicklas 219             </td>
2652 11 Sep 14 nicklas 220             <td class="status" id="read1.status"></td>
2652 11 Sep 14 nicklas 221             <td style="width: 2em;"></td>
2652 11 Sep 14 nicklas 222             <td>
2652 11 Sep 14 nicklas 223               <input type="text" class="required" name="indexRead" id="indexRead"
2652 11 Sep 14 nicklas 224                 style="width: 4em;" maxlength="4">
2652 11 Sep 14 nicklas 225             </td>
2652 11 Sep 14 nicklas 226             <td class="status" id="indexRead.status"></td>
2652 11 Sep 14 nicklas 227             <td style="width: 2em;"></td>
2652 11 Sep 14 nicklas 228             <td>
2652 11 Sep 14 nicklas 229               <input type="text" class="required" name="read2" id="read2"
2652 11 Sep 14 nicklas 230                 style="width: 4em;" maxlength="4">
2652 11 Sep 14 nicklas 231             </td>
2652 11 Sep 14 nicklas 232             <td class="status" id="read2.status"></td>
2652 11 Sep 14 nicklas 233             <td style="width: 2em;"></td>
2652 11 Sep 14 nicklas 234           </tr>
2652 11 Sep 14 nicklas 235           <tr>
2652 11 Sep 14 nicklas 236             <td colspan="3" class="help"><span id="read1.message" class="message"></span></td>
2652 11 Sep 14 nicklas 237             <td colspan="3" class="help"><span id="indexRead.message" class="message"></span></td>
2652 11 Sep 14 nicklas 238             <td colspan="3" class="help"><span id="read2.message" class="message"></span></td>
2652 11 Sep 14 nicklas 239           </tr>
2652 11 Sep 14 nicklas 240           </table>
2652 11 Sep 14 nicklas 241         
2652 11 Sep 14 nicklas 242         </td>
2652 11 Sep 14 nicklas 243         <td class="status"></td>
2652 11 Sep 14 nicklas 244         <td class="help">
2087 18 Oct 13 nicklas 245           Planned number of sequencing cycles. The actual numbers used may be changed in the
2093 21 Oct 13 nicklas 246           registration wizard.
2085 18 Oct 13 nicklas 247         </td>
2085 18 Oct 13 nicklas 248       </tr>
3108 27 Jan 15 nicklas 249       <tr>
3108 27 Jan 15 nicklas 250         <td class="prompt">Volume to use from pool</td>
3108 27 Jan 15 nicklas 251         <td class="input">
3108 27 Jan 15 nicklas 252           <select name="volumeToUseFromPool" id="volumeToUseFromPool" class="required" style="width: 4em;">
3108 27 Jan 15 nicklas 253             <option value="10">10
3108 27 Jan 15 nicklas 254             <option value="20">20
3108 27 Jan 15 nicklas 255           </select>
3108 27 Jan 15 nicklas 256           µl
3108 27 Jan 15 nicklas 257         </td>
3108 27 Jan 15 nicklas 258         <td class="status" id="volumeToUseFromPool.status"></td>
3108 27 Jan 15 nicklas 259         <td class="help">
3108 27 Jan 15 nicklas 260           <span id="volumeToUseFromPool.message" class="message"></span>
3108 27 Jan 15 nicklas 261           Select the amount to use from each pool. This depends on the molarity
3108 27 Jan 15 nicklas 262           1nM = 20µl, 2nM = 10µl.
3108 27 Jan 15 nicklas 263         </td>
3108 27 Jan 15 nicklas 264       </tr>
2652 11 Sep 14 nicklas 265       <tr class="align-top">
2028 30 Sep 13 nicklas 266         <td class="prompt">Flow cell layout</td>
2652 11 Sep 14 nicklas 267         <td class="input">
2093 21 Oct 13 nicklas 268           <table class="plate" id="plate" style="margin-bottom: 1em;">
2028 30 Sep 13 nicklas 269           <thead>
2020 13 Sep 13 nicklas 270           <tr class="header">
2028 30 Sep 13 nicklas 271             <th class="lane">Lane</th>
2020 13 Sep 13 nicklas 272             <%
2020 13 Sep 13 nicklas 273             for (int fcNo = 0; fcNo < 2; fcNo++)
2020 13 Sep 13 nicklas 274             {
2020 13 Sep 13 nicklas 275               %>
2020 13 Sep 13 nicklas 276               <th class="col-<%=fcNo%>" id="fc.<%=fcNo%>">FlowCell<%=fcNo%></th>
2020 13 Sep 13 nicklas 277               <%
2020 13 Sep 13 nicklas 278             }
2020 13 Sep 13 nicklas 279             %>
2020 13 Sep 13 nicklas 280           </tr>
2028 30 Sep 13 nicklas 281           </thead>
2020 13 Sep 13 nicklas 282           <tbody>
2020 13 Sep 13 nicklas 283           <%
2020 13 Sep 13 nicklas 284           for (int laneNo = 0; laneNo < 8; laneNo++)
2020 13 Sep 13 nicklas 285           {
2020 13 Sep 13 nicklas 286             %>
2020 13 Sep 13 nicklas 287             <tr class="row-<%=laneNo%>" id="lane.<%=laneNo%>">
2028 30 Sep 13 nicklas 288               <th class="lane"><%=laneNo+1%></th>
2020 13 Sep 13 nicklas 289               <%
2020 13 Sep 13 nicklas 290               for (int fcNo = 0; fcNo < 2; fcNo++)
2020 13 Sep 13 nicklas 291               {
2020 13 Sep 13 nicklas 292                 %>
2020 13 Sep 13 nicklas 293                 <td class="well col-<%=fcNo%>" id="lane.<%=laneNo%>.<%=fcNo%>" 
2652 11 Sep 14 nicklas 294                   data-fc-no="<%=fcNo%>" data-lane-no="<%=laneNo%>"></td>
2020 13 Sep 13 nicklas 295                 <%
2020 13 Sep 13 nicklas 296               }
2020 13 Sep 13 nicklas 297               %>
2020 13 Sep 13 nicklas 298             </tr>
2020 13 Sep 13 nicklas 299             <%
2020 13 Sep 13 nicklas 300           }
2020 13 Sep 13 nicklas 301           %>
2020 13 Sep 13 nicklas 302           </tbody>
2020 13 Sep 13 nicklas 303           </table>
2020 13 Sep 13 nicklas 304         
2020 13 Sep 13 nicklas 305         </td>
2020 13 Sep 13 nicklas 306         <td class="status" id="flowCells.status"></td>
2652 11 Sep 14 nicklas 307         <td class="help">
2652 11 Sep 14 nicklas 308           <span id="flowCells.message" class="message"></span>
2028 30 Sep 13 nicklas 309           Assign a pool to each flow cell lane. Click on each lane to select a different pool.
2020 13 Sep 13 nicklas 310         </td>
2020 13 Sep 13 nicklas 311       </tr>
2045 07 Oct 13 nicklas 312       <tr valign="top">
2045 07 Oct 13 nicklas 313         <td class="prompt">Comments</td>
2652 11 Sep 14 nicklas 314         <td class="input"></td>
2045 07 Oct 13 nicklas 315         <td class="status" id="comments.status"></td>
2652 11 Sep 14 nicklas 316         <td class="help">
2652 11 Sep 14 nicklas 317           <span id="comments.message" class="message"></span>
2652 11 Sep 14 nicklas 318           Comments about the flow cells.
2652 11 Sep 14 nicklas 319         </td>
2045 07 Oct 13 nicklas 320       </tr>
2045 07 Oct 13 nicklas 321       <tbody id="flowcell-comments">
2045 07 Oct 13 nicklas 322         <%
2045 07 Oct 13 nicklas 323         for (int fcNo = 0; fcNo < 2; fcNo++)
2045 07 Oct 13 nicklas 324         {
2045 07 Oct 13 nicklas 325           %>
2652 11 Sep 14 nicklas 326           <tr class="align-top" id="comments.<%=fcNo%>">
2045 07 Oct 13 nicklas 327           <td class="subprompt" id="comments.<%=fcNo%>.name">FlowCell<%=fcNo%></td>
2652 11 Sep 14 nicklas 328           <td class="input">
2652 11 Sep 14 nicklas 329             <textarea rows="3" name="comments.<%=fcNo%>"></textarea>
2652 11 Sep 14 nicklas 330           </td>
2045 07 Oct 13 nicklas 331           <td class="status"></td>
2045 07 Oct 13 nicklas 332           <td class="help"></td>
2045 07 Oct 13 nicklas 333           </tr>
2045 07 Oct 13 nicklas 334           <%
2045 07 Oct 13 nicklas 335         }
2045 07 Oct 13 nicklas 336         %>
2045 07 Oct 13 nicklas 337       </tbody>
2020 13 Sep 13 nicklas 338       </table>
2652 11 Sep 14 nicklas 339     </div>
2020 13 Sep 13 nicklas 340   </div>
2020 13 Sep 13 nicklas 341   
2652 11 Sep 14 nicklas 342   <div id="wizard-status"></div>
2020 13 Sep 13 nicklas 343   
2652 11 Sep 14 nicklas 344   <table class="navigation" id="navigation">
2652 11 Sep 14 nicklas 345   <tr>
2652 11 Sep 14 nicklas 346     <td><base:button id="gocancel" title="Cancel" /></td>
2652 11 Sep 14 nicklas 347     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2652 11 Sep 14 nicklas 348     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
2652 11 Sep 14 nicklas 349     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2652 11 Sep 14 nicklas 350     <td id="gonext-message" class="message"></td>
2652 11 Sep 14 nicklas 351   </tr>
2020 13 Sep 13 nicklas 352   </table>
2020 13 Sep 13 nicklas 353   
2020 13 Sep 13 nicklas 354   </form>
2020 13 Sep 13 nicklas 355   </div>
2020 13 Sep 13 nicklas 356   
2020 13 Sep 13 nicklas 357 </base:body>
2020 13 Sep 13 nicklas 358 </base:page>
2020 13 Sep 13 nicklas 359 <%
2020 13 Sep 13 nicklas 360 }
2020 13 Sep 13 nicklas 361 finally
2020 13 Sep 13 nicklas 362 {
2020 13 Sep 13 nicklas 363   if (dc != null) dc.close();
2020 13 Sep 13 nicklas 364 }
2020 13 Sep 13 nicklas 365 %>