5631 |
27 Sep 19 |
nicklas |
1 |
<%@ page |
5631 |
27 Sep 19 |
nicklas |
2 |
pageEncoding="UTF-8" |
5631 |
27 Sep 19 |
nicklas |
3 |
session="false" |
5631 |
27 Sep 19 |
nicklas |
4 |
import="net.sf.basedb.core.Application" |
5631 |
27 Sep 19 |
nicklas |
5 |
import="net.sf.basedb.core.User" |
5631 |
27 Sep 19 |
nicklas |
6 |
import="net.sf.basedb.core.DbControl" |
5631 |
27 Sep 19 |
nicklas |
7 |
import="net.sf.basedb.core.SessionControl" |
5631 |
27 Sep 19 |
nicklas |
8 |
import="net.sf.basedb.clients.web.Base" |
5631 |
27 Sep 19 |
nicklas |
9 |
import="net.sf.basedb.clients.web.util.HTML" |
5631 |
27 Sep 19 |
nicklas |
10 |
import="net.sf.basedb.clients.web.extensions.ExtensionsControl" |
5631 |
27 Sep 19 |
nicklas |
11 |
import="net.sf.basedb.util.Values" |
5631 |
27 Sep 19 |
nicklas |
12 |
import="net.sf.basedb.util.formatter.WellCoordinateFormatter" |
5631 |
27 Sep 19 |
nicklas |
13 |
import="java.util.regex.Pattern" |
5631 |
27 Sep 19 |
nicklas |
14 |
import="java.util.regex.Matcher" |
5631 |
27 Sep 19 |
nicklas |
15 |
%> |
5631 |
27 Sep 19 |
nicklas |
16 |
<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %> |
5631 |
27 Sep 19 |
nicklas |
17 |
<%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %> |
5631 |
27 Sep 19 |
nicklas |
18 |
<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %> |
5631 |
27 Sep 19 |
nicklas |
19 |
<%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %> |
5631 |
27 Sep 19 |
nicklas |
20 |
<% |
5631 |
27 Sep 19 |
nicklas |
21 |
final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true); |
5631 |
27 Sep 19 |
nicklas |
22 |
final String ID = sc.getId(); |
5631 |
27 Sep 19 |
nicklas |
23 |
final float scale = Base.getScale(sc); |
5631 |
27 Sep 19 |
nicklas |
24 |
final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie"); |
5631 |
27 Sep 19 |
nicklas |
25 |
DbControl dc = null; |
5631 |
27 Sep 19 |
nicklas |
26 |
try |
5631 |
27 Sep 19 |
nicklas |
27 |
{ |
5631 |
27 Sep 19 |
nicklas |
28 |
dc = sc.newDbControl(); |
5631 |
27 Sep 19 |
nicklas |
29 |
final User user = User.getById(dc, sc.getLoggedInUserId()); |
5631 |
27 Sep 19 |
nicklas |
30 |
String defaultPrefix = sc.getUserClientSetting("reggie.rna.last-import-prefix"); |
5631 |
27 Sep 19 |
nicklas |
31 |
if (defaultPrefix == null) |
5631 |
27 Sep 19 |
nicklas |
32 |
{ |
5631 |
27 Sep 19 |
nicklas |
33 |
// Generate a default prefix by using first letters from the logged in user's name |
5631 |
27 Sep 19 |
nicklas |
34 |
defaultPrefix = ""; |
5631 |
27 Sep 19 |
nicklas |
35 |
Pattern p = Pattern.compile("\\b\\w"); |
5631 |
27 Sep 19 |
nicklas |
36 |
Matcher m = p.matcher(user.getName()); |
5631 |
27 Sep 19 |
nicklas |
37 |
while (m.find()) defaultPrefix += m.group(); |
5631 |
27 Sep 19 |
nicklas |
38 |
if (defaultPrefix.length() < 2) |
5631 |
27 Sep 19 |
nicklas |
39 |
{ |
5631 |
27 Sep 19 |
nicklas |
40 |
// If the prefix is too whort we take the first two letters |
5631 |
27 Sep 19 |
nicklas |
41 |
defaultPrefix = user.getName().substring(0, 2); |
5631 |
27 Sep 19 |
nicklas |
42 |
} |
5631 |
27 Sep 19 |
nicklas |
43 |
defaultPrefix = defaultPrefix.toUpperCase() + "_"; |
5631 |
27 Sep 19 |
nicklas |
44 |
} |
5631 |
27 Sep 19 |
nicklas |
45 |
%> |
5631 |
27 Sep 19 |
nicklas |
46 |
<base:page type="default"> |
5631 |
27 Sep 19 |
nicklas |
47 |
<base:head |
5631 |
27 Sep 19 |
nicklas |
48 |
scripts="~../reggie-2.js,~import-external-rna.js,~plate.js" |
5631 |
27 Sep 19 |
nicklas |
49 |
styles="path.css,toolbar.css,~../css/reggie-2.css,~../css/plate.css" |
5631 |
27 Sep 19 |
nicklas |
50 |
> |
5631 |
27 Sep 19 |
nicklas |
51 |
<style> |
5631 |
27 Sep 19 |
nicklas |
52 |
|
5631 |
27 Sep 19 |
nicklas |
53 |
/* Empty wells should have greyed, italic text */ |
5631 |
27 Sep 19 |
nicklas |
54 |
.well.empty |
5631 |
27 Sep 19 |
nicklas |
55 |
{ |
5631 |
27 Sep 19 |
nicklas |
56 |
text-align: center; |
5631 |
27 Sep 19 |
nicklas |
57 |
vertical-align: middle; |
5631 |
27 Sep 19 |
nicklas |
58 |
font-style: italic; |
5631 |
27 Sep 19 |
nicklas |
59 |
color: #999999; |
5631 |
27 Sep 19 |
nicklas |
60 |
} |
5631 |
27 Sep 19 |
nicklas |
61 |
|
5633 |
30 Sep 19 |
nicklas |
62 |
/* Wells with an existing aliquot */ |
5633 |
30 Sep 19 |
nicklas |
63 |
.well.existing |
5633 |
30 Sep 19 |
nicklas |
64 |
{ |
5633 |
30 Sep 19 |
nicklas |
65 |
font-style: italic; |
5633 |
30 Sep 19 |
nicklas |
66 |
color: #999999; |
5633 |
30 Sep 19 |
nicklas |
67 |
} |
5633 |
30 Sep 19 |
nicklas |
68 |
|
5633 |
30 Sep 19 |
nicklas |
69 |
|
5631 |
27 Sep 19 |
nicklas |
70 |
.well .missing |
5631 |
27 Sep 19 |
nicklas |
71 |
{ |
5631 |
27 Sep 19 |
nicklas |
72 |
font-style: italic; |
5631 |
27 Sep 19 |
nicklas |
73 |
} |
5631 |
27 Sep 19 |
nicklas |
74 |
|
5631 |
27 Sep 19 |
nicklas |
75 |
.comment |
5631 |
27 Sep 19 |
nicklas |
76 |
{ |
5631 |
27 Sep 19 |
nicklas |
77 |
font-style: italic; |
5631 |
27 Sep 19 |
nicklas |
78 |
} |
5631 |
27 Sep 19 |
nicklas |
79 |
|
5631 |
27 Sep 19 |
nicklas |
80 |
#plateSummary |
5631 |
27 Sep 19 |
nicklas |
81 |
{ |
5631 |
27 Sep 19 |
nicklas |
82 |
margin: 0.5em; |
5631 |
27 Sep 19 |
nicklas |
83 |
border-width: 1px; |
5631 |
27 Sep 19 |
nicklas |
84 |
} |
5631 |
27 Sep 19 |
nicklas |
85 |
#plateSummary b |
5631 |
27 Sep 19 |
nicklas |
86 |
{ |
5631 |
27 Sep 19 |
nicklas |
87 |
display: inline-block; |
5631 |
27 Sep 19 |
nicklas |
88 |
background: #F0F0F0; |
5631 |
27 Sep 19 |
nicklas |
89 |
padding: 0.3em 0.6em; |
5631 |
27 Sep 19 |
nicklas |
90 |
margin-right: 0.25em; |
5631 |
27 Sep 19 |
nicklas |
91 |
} |
5631 |
27 Sep 19 |
nicklas |
92 |
#plateSummary span |
5631 |
27 Sep 19 |
nicklas |
93 |
{ |
5631 |
27 Sep 19 |
nicklas |
94 |
margin-right: 1em; |
5631 |
27 Sep 19 |
nicklas |
95 |
} |
5631 |
27 Sep 19 |
nicklas |
96 |
#plateSummary div + div |
5631 |
27 Sep 19 |
nicklas |
97 |
{ |
5631 |
27 Sep 19 |
nicklas |
98 |
border-top-width: 1px; |
5631 |
27 Sep 19 |
nicklas |
99 |
border-top-style: dotted; |
5631 |
27 Sep 19 |
nicklas |
100 |
} |
5631 |
27 Sep 19 |
nicklas |
101 |
#importPossible |
5631 |
27 Sep 19 |
nicklas |
102 |
{ |
5631 |
27 Sep 19 |
nicklas |
103 |
font-weight: bold; |
5631 |
27 Sep 19 |
nicklas |
104 |
} |
5631 |
27 Sep 19 |
nicklas |
105 |
#importPossible img |
5631 |
27 Sep 19 |
nicklas |
106 |
{ |
5631 |
27 Sep 19 |
nicklas |
107 |
margin-right: 0.25em; |
5631 |
27 Sep 19 |
nicklas |
108 |
} |
5631 |
27 Sep 19 |
nicklas |
109 |
|
5632 |
30 Sep 19 |
nicklas |
110 |
.volumes |
5632 |
30 Sep 19 |
nicklas |
111 |
{ |
5632 |
30 Sep 19 |
nicklas |
112 |
overflow: auto; |
5632 |
30 Sep 19 |
nicklas |
113 |
} |
5632 |
30 Sep 19 |
nicklas |
114 |
|
5632 |
30 Sep 19 |
nicklas |
115 |
.quantity |
5632 |
30 Sep 19 |
nicklas |
116 |
{ |
5632 |
30 Sep 19 |
nicklas |
117 |
float: left; |
5632 |
30 Sep 19 |
nicklas |
118 |
color: #0000C8; |
5632 |
30 Sep 19 |
nicklas |
119 |
} |
5632 |
30 Sep 19 |
nicklas |
120 |
|
5632 |
30 Sep 19 |
nicklas |
121 |
.volume |
5632 |
30 Sep 19 |
nicklas |
122 |
{ |
5632 |
30 Sep 19 |
nicklas |
123 |
float: right; |
5632 |
30 Sep 19 |
nicklas |
124 |
color: #C80000; |
5632 |
30 Sep 19 |
nicklas |
125 |
} |
5632 |
30 Sep 19 |
nicklas |
126 |
|
5631 |
27 Sep 19 |
nicklas |
127 |
</style> |
5631 |
27 Sep 19 |
nicklas |
128 |
</base:head> |
5631 |
27 Sep 19 |
nicklas |
129 |
<base:body> |
5631 |
27 Sep 19 |
nicklas |
130 |
<p:path><p:pathelement |
5631 |
27 Sep 19 |
nicklas |
131 |
title="Reggie" href="<%="../index.jsp?ID="+ID%>" |
5631 |
27 Sep 19 |
nicklas |
132 |
/><p:pathelement title="Import external RNA" |
5631 |
27 Sep 19 |
nicklas |
133 |
/></p:path> |
5631 |
27 Sep 19 |
nicklas |
134 |
|
5631 |
27 Sep 19 |
nicklas |
135 |
<div class="content"> |
5631 |
27 Sep 19 |
nicklas |
136 |
|
5631 |
27 Sep 19 |
nicklas |
137 |
<form name="reggie" id="wizard" class="wizard"> |
5631 |
27 Sep 19 |
nicklas |
138 |
|
5631 |
27 Sep 19 |
nicklas |
139 |
<div class="step" id="step-1"> |
5631 |
27 Sep 19 |
nicklas |
140 |
<div class="step-no">1</div> |
5631 |
27 Sep 19 |
nicklas |
141 |
<div class="step-title">File</div> |
5631 |
27 Sep 19 |
nicklas |
142 |
<div class="step-content"> |
5631 |
27 Sep 19 |
nicklas |
143 |
|
5631 |
27 Sep 19 |
nicklas |
144 |
<table class="step-form"> |
5631 |
27 Sep 19 |
nicklas |
145 |
<tr> |
5631 |
27 Sep 19 |
nicklas |
146 |
<td class="prompt">Prefix</td> |
5631 |
27 Sep 19 |
nicklas |
147 |
<td class="input"> |
5631 |
27 Sep 19 |
nicklas |
148 |
<input type="text" name="prefix" id="prefix" value="<%=HTML.encodeTags(defaultPrefix)%>" |
5631 |
27 Sep 19 |
nicklas |
149 |
class="required auto-init" data-auto-init="focus" data-next-focus="importfile" |
5631 |
27 Sep 19 |
nicklas |
150 |
style="width: 12em;" maxlength="12"> |
5631 |
27 Sep 19 |
nicklas |
151 |
</td> |
5631 |
27 Sep 19 |
nicklas |
152 |
<td class="status" id="prefix.status"></td> |
5631 |
27 Sep 19 |
nicklas |
153 |
<td class="help"> |
5631 |
27 Sep 19 |
nicklas |
154 |
<span id="prefix.message" class="message"></span> |
5631 |
27 Sep 19 |
nicklas |
155 |
All aliquots that are imported must have a prefix. The prefix should be |
5631 |
27 Sep 19 |
nicklas |
156 |
at least 2 letters followed by an underscore. |
5631 |
27 Sep 19 |
nicklas |
157 |
</td> |
5631 |
27 Sep 19 |
nicklas |
158 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
159 |
<tr class="align-top"> |
5631 |
27 Sep 19 |
nicklas |
160 |
<td class="prompt">Select file</td> |
5631 |
27 Sep 19 |
nicklas |
161 |
<td class="input"> |
5631 |
27 Sep 19 |
nicklas |
162 |
<table style="width: 100%;"> |
5631 |
27 Sep 19 |
nicklas |
163 |
<tr> |
5631 |
27 Sep 19 |
nicklas |
164 |
<td> |
5631 |
27 Sep 19 |
nicklas |
165 |
<input class="text required" type="text" name="importfile" id="importfile" |
5631 |
27 Sep 19 |
nicklas |
166 |
data-name-filter="%.csv|%.xlsx" |
5631 |
27 Sep 19 |
nicklas |
167 |
data-directory="/home/SCANB/MIPsImportFiles" |
5631 |
27 Sep 19 |
nicklas |
168 |
> |
5631 |
27 Sep 19 |
nicklas |
169 |
</td> |
5631 |
27 Sep 19 |
nicklas |
170 |
<td style="padding-left: 4px; width: 7em;"> |
5631 |
27 Sep 19 |
nicklas |
171 |
<base:button |
5631 |
27 Sep 19 |
nicklas |
172 |
title="Browse…" |
5631 |
27 Sep 19 |
nicklas |
173 |
id="importfile.btn" |
5631 |
27 Sep 19 |
nicklas |
174 |
/> |
5631 |
27 Sep 19 |
nicklas |
175 |
</td> |
5631 |
27 Sep 19 |
nicklas |
176 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
177 |
</table> |
5631 |
27 Sep 19 |
nicklas |
178 |
</td> |
5631 |
27 Sep 19 |
nicklas |
179 |
<td class="status" id="importfile.status"></td> |
5631 |
27 Sep 19 |
nicklas |
180 |
<td class="help" rowspan="2"> |
5631 |
27 Sep 19 |
nicklas |
181 |
<span id="importfile.message" class="message"></span> |
5631 |
27 Sep 19 |
nicklas |
182 |
Select the <b>CSV</b> or <b>Excel</b> file that contains information about DNA aliquots. |
5631 |
27 Sep 19 |
nicklas |
183 |
The following columns are required: <b>Name</b>, <b>Plate</b>, <b>Row</b>, |
5631 |
27 Sep 19 |
nicklas |
184 |
and <b>Column</b>. |
5632 |
30 Sep 19 |
nicklas |
185 |
Optional columns are: <b>Quantity</b>, <b>NDConc</b>, <b>ND260by230</b>, <b>ND260by280</b>, |
5632 |
30 Sep 19 |
nicklas |
186 |
<b>RIN</b>, <b>RQS</b> and <b>Comment</b>. All other columns are ignored. |
5631 |
27 Sep 19 |
nicklas |
187 |
More information <base:help helpid="net.sf.basedb.reggie.rna-import-file" /> |
5631 |
27 Sep 19 |
nicklas |
188 |
<div id="worksheetSection.help" style="display:none;"> |
5631 |
27 Sep 19 |
nicklas |
189 |
Note that it is only possible to import from one worksheet at a time. |
5631 |
27 Sep 19 |
nicklas |
190 |
</div> |
5631 |
27 Sep 19 |
nicklas |
191 |
</td> |
5631 |
27 Sep 19 |
nicklas |
192 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
193 |
<tr id="worksheetSection" style="display: none;"> |
5631 |
27 Sep 19 |
nicklas |
194 |
<td class="subprompt">- worksheet</td> |
5631 |
27 Sep 19 |
nicklas |
195 |
<td class="input"> |
5631 |
27 Sep 19 |
nicklas |
196 |
<select name="sheet" id="sheet" class="required" style="width: auto; min-width: 10em;"></select> |
5631 |
27 Sep 19 |
nicklas |
197 |
</td> |
5631 |
27 Sep 19 |
nicklas |
198 |
<td class="status" id="sheet.status"></td> |
5631 |
27 Sep 19 |
nicklas |
199 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
200 |
</table> |
5631 |
27 Sep 19 |
nicklas |
201 |
|
5631 |
27 Sep 19 |
nicklas |
202 |
<div id="platePreview" class="topborder" style="display: none;"> |
5631 |
27 Sep 19 |
nicklas |
203 |
<table style="margin: 0.5em auto 0 auto;"><tr><td> |
5631 |
27 Sep 19 |
nicklas |
204 |
<div id="plateSummary"> |
5631 |
27 Sep 19 |
nicklas |
205 |
<div> |
5631 |
27 Sep 19 |
nicklas |
206 |
<b style="width: 12em;">Summary of file</b><span id="filename"></span> |
5631 |
27 Sep 19 |
nicklas |
207 |
<b>Plates</b><span id="numPlates"></span> |
5631 |
27 Sep 19 |
nicklas |
208 |
<b>Aliquots</b><span id="numAliquots"></span> |
5631 |
27 Sep 19 |
nicklas |
209 |
<b>Errors</b><span id="numErrors"></span> |
5631 |
27 Sep 19 |
nicklas |
210 |
<b>Warnings</b><span id="numWarnings"></span> |
5631 |
27 Sep 19 |
nicklas |
211 |
</div> |
5631 |
27 Sep 19 |
nicklas |
212 |
<div> |
5631 |
27 Sep 19 |
nicklas |
213 |
<b style="width: 12em;">Preview of plate</b> |
5631 |
27 Sep 19 |
nicklas |
214 |
<span><select name="plateNames" id="plateNames" style="min-width: 15em;"></select></span> |
5631 |
27 Sep 19 |
nicklas |
215 |
<span id="importPossible"></span> |
5631 |
27 Sep 19 |
nicklas |
216 |
</div> |
5631 |
27 Sep 19 |
nicklas |
217 |
</div> |
5631 |
27 Sep 19 |
nicklas |
218 |
<table id="plate" class="plate"> |
5631 |
27 Sep 19 |
nicklas |
219 |
<% |
5631 |
27 Sep 19 |
nicklas |
220 |
int columns = 9; |
5631 |
27 Sep 19 |
nicklas |
221 |
int rows = 9; |
5631 |
27 Sep 19 |
nicklas |
222 |
WellCoordinateFormatter rowF = new WellCoordinateFormatter(true); |
5631 |
27 Sep 19 |
nicklas |
223 |
WellCoordinateFormatter colF = new WellCoordinateFormatter(false); |
5631 |
27 Sep 19 |
nicklas |
224 |
%> |
5631 |
27 Sep 19 |
nicklas |
225 |
<tr class="header"> |
5631 |
27 Sep 19 |
nicklas |
226 |
<th></th> |
5631 |
27 Sep 19 |
nicklas |
227 |
<% |
5631 |
27 Sep 19 |
nicklas |
228 |
for (int c = 0; c < columns; ++c) |
5631 |
27 Sep 19 |
nicklas |
229 |
{ |
5631 |
27 Sep 19 |
nicklas |
230 |
%> |
5631 |
27 Sep 19 |
nicklas |
231 |
<th class="link auto-init" id="col.<%=c%>" |
5631 |
27 Sep 19 |
nicklas |
232 |
data-auto-init="plate-col" data-col="<%=c%>" |
5631 |
27 Sep 19 |
nicklas |
233 |
title="Select/deselect all wells in this column"><%=colF.format(c)%></th> |
5631 |
27 Sep 19 |
nicklas |
234 |
<% |
5631 |
27 Sep 19 |
nicklas |
235 |
} |
5631 |
27 Sep 19 |
nicklas |
236 |
%> |
5631 |
27 Sep 19 |
nicklas |
237 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
238 |
<tbody> |
5631 |
27 Sep 19 |
nicklas |
239 |
<% |
5631 |
27 Sep 19 |
nicklas |
240 |
for (int r = 0; r < rows; ++r) |
5631 |
27 Sep 19 |
nicklas |
241 |
{ |
5631 |
27 Sep 19 |
nicklas |
242 |
String row = rowF.format(r); |
5631 |
27 Sep 19 |
nicklas |
243 |
%> |
5631 |
27 Sep 19 |
nicklas |
244 |
<tr class="row-<%=r%>"> |
5631 |
27 Sep 19 |
nicklas |
245 |
<th class="link auto-init" id="row.<%=r%>" |
5631 |
27 Sep 19 |
nicklas |
246 |
data-auto-init="plate-row" data-row="<%=r%>" |
5631 |
27 Sep 19 |
nicklas |
247 |
title="Select/deselect all wells in this row"><%=row%></th> |
5631 |
27 Sep 19 |
nicklas |
248 |
<% |
5631 |
27 Sep 19 |
nicklas |
249 |
for (int c = 0; c < columns; ++c) |
5631 |
27 Sep 19 |
nicklas |
250 |
{ |
5631 |
27 Sep 19 |
nicklas |
251 |
%> |
5631 |
27 Sep 19 |
nicklas |
252 |
<td id="well.<%=r%>.<%=c%>" class="well empty auto-init" |
5631 |
27 Sep 19 |
nicklas |
253 |
data-auto-init="plate-well" data-col="<%=c%>" data-row="<%=r%>" |
5631 |
27 Sep 19 |
nicklas |
254 |
title="Select/deselect this well">empty</td> |
5631 |
27 Sep 19 |
nicklas |
255 |
<% |
5631 |
27 Sep 19 |
nicklas |
256 |
} |
5631 |
27 Sep 19 |
nicklas |
257 |
%> |
5631 |
27 Sep 19 |
nicklas |
258 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
259 |
<% |
5631 |
27 Sep 19 |
nicklas |
260 |
} |
5631 |
27 Sep 19 |
nicklas |
261 |
%> |
5631 |
27 Sep 19 |
nicklas |
262 |
</tbody> |
5631 |
27 Sep 19 |
nicklas |
263 |
<tr id="pool-row" style="display: none;"> |
5631 |
27 Sep 19 |
nicklas |
264 |
<th colspan=<%=columns+1 %>> </th> |
5631 |
27 Sep 19 |
nicklas |
265 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
266 |
</table> |
5631 |
27 Sep 19 |
nicklas |
267 |
<div style="margin: 0.5em; text-align: center;"> |
5631 |
27 Sep 19 |
nicklas |
268 |
<base:icon image="<%=home+"/images/error.png"%>" style="padding-left: 1em;" />=Error that prevent plate import |
5631 |
27 Sep 19 |
nicklas |
269 |
<base:icon image="<%=home+"/images/warning.png"%>" style="padding-left: 1em;" />=Warning but plate can be imported |
5631 |
27 Sep 19 |
nicklas |
270 |
</div> |
5631 |
27 Sep 19 |
nicklas |
271 |
</td></tr></table> |
5631 |
27 Sep 19 |
nicklas |
272 |
</div> |
5631 |
27 Sep 19 |
nicklas |
273 |
|
5631 |
27 Sep 19 |
nicklas |
274 |
|
5631 |
27 Sep 19 |
nicklas |
275 |
</div> |
5631 |
27 Sep 19 |
nicklas |
276 |
</div> |
5631 |
27 Sep 19 |
nicklas |
277 |
|
5631 |
27 Sep 19 |
nicklas |
278 |
<div id="wizard-status"></div> |
5631 |
27 Sep 19 |
nicklas |
279 |
|
5631 |
27 Sep 19 |
nicklas |
280 |
<table class="navigation" id="navigation"> |
5631 |
27 Sep 19 |
nicklas |
281 |
<tr> |
5631 |
27 Sep 19 |
nicklas |
282 |
<td><base:button id="gocancel" title="Cancel" /></td> |
5631 |
27 Sep 19 |
nicklas |
283 |
<td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td> |
5631 |
27 Sep 19 |
nicklas |
284 |
<td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>" /></td> |
5631 |
27 Sep 19 |
nicklas |
285 |
<td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td> |
5631 |
27 Sep 19 |
nicklas |
286 |
<td id="gonext-message" class="message"></td> |
5631 |
27 Sep 19 |
nicklas |
287 |
</tr> |
5631 |
27 Sep 19 |
nicklas |
288 |
</table> |
5631 |
27 Sep 19 |
nicklas |
289 |
|
5631 |
27 Sep 19 |
nicklas |
290 |
</form> |
5631 |
27 Sep 19 |
nicklas |
291 |
</div> |
5631 |
27 Sep 19 |
nicklas |
292 |
</div> |
5631 |
27 Sep 19 |
nicklas |
293 |
</base:body> |
5631 |
27 Sep 19 |
nicklas |
294 |
</base:page> |
5631 |
27 Sep 19 |
nicklas |
295 |
<% |
5631 |
27 Sep 19 |
nicklas |
296 |
} |
5631 |
27 Sep 19 |
nicklas |
297 |
finally |
5631 |
27 Sep 19 |
nicklas |
298 |
{ |
5631 |
27 Sep 19 |
nicklas |
299 |
if (dc != null) dc.close(); |
5631 |
27 Sep 19 |
nicklas |
300 |
} |
5631 |
27 Sep 19 |
nicklas |
301 |
%> |