source: extensions/net.sf.basedb.reggie/trunk/resources/index.jsp @ 1637

Last change on this file since 1637 was 1637, checked in by Nicklas Nordborg, 10 years ago

References #388: Lysate wizard

It is possible to select 12 lysate items and then generate a printable lab protocol. We do not suggest or store a date yet.

File size: 7.6 KB
Line 
1<%@ page
2  pageEncoding="UTF-8"
3  session="false"
4  import="net.sf.basedb.core.Application"
5  import="net.sf.basedb.core.User"
6  import="net.sf.basedb.core.Role"
7  import="net.sf.basedb.core.Group"
8  import="net.sf.basedb.core.DbControl"
9  import="net.sf.basedb.core.Item"
10  import="net.sf.basedb.core.Permission"
11  import="net.sf.basedb.core.SessionControl"
12  import="net.sf.basedb.core.SystemItems"
13  import="net.sf.basedb.core.ItemQuery"
14  import="net.sf.basedb.core.query.Expressions"
15  import="net.sf.basedb.core.query.Hql"
16  import="net.sf.basedb.core.query.Restrictions"
17  import="net.sf.basedb.clients.web.Base"
18  import="net.sf.basedb.clients.web.util.HTML"
19  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
20  import="net.sf.basedb.util.Values"
21  import="java.util.List"
22%>
23<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
24<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
25<%
26final SessionControl sc = Base.getExistingSessionControl(request, true);
27final String ID = sc.getId();
28final float scale = Base.getScale(sc);
29final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
30DbControl dc = null;
31try
32{
33  dc = sc.newDbControl();
34  final User user = User.getById(dc, sc.getLoggedInUserId());
35 
36  boolean isAdmin = user.getId() == SystemItems.getId(User.ROOT);
37  boolean isPatientCurator = false;
38  boolean hasCreateSamplePermission = sc.hasPermission(Permission.CREATE, Item.SAMPLE);
39  boolean hasCreateExtractPermission = sc.hasPermission(Permission.CREATE, Item.EXTRACT);
40  boolean hasCreateBioPlatePermission = sc.hasPermission(Permission.CREATE, Item.BIOPLATE);
41  if (!isAdmin)
42  {
43    try
44    {
45      Role admin = Role.getById(dc, SystemItems.getId(Role.ADMINISTRATOR));
46      isAdmin = sc.isMemberOf(admin);
47    }
48    catch (RuntimeException ex)
49    {}
50  }
51  try
52  {
53    ItemQuery<Group> query = Group.getQuery();
54    query.restrict(Restrictions.eq(Hql.property("name"), Expressions.string("PatientCurator")));
55    List<Group> result = query.list(dc);
56    if (result.size() == 1)
57    {
58      isPatientCurator = sc.isMemberOf(result.get(0));
59    }
60  }
61  catch (RuntimeException ex)
62  {}
63%>
64<base:page type="default" >
65<base:head styles="path.css">
66  <link rel="stylesheet" type="text/css" href="css/reggie.css">
67<style>
68dl
69{
70  margin-top: 0px;
71  padding: 3px;
72}
73dt
74{
75  margin-top: 0.5em;
76  margin-left: 0.5em;
77}
78dd
79{
80  margin-left: 0.5em;
81  margin-bottom: 0.5em;
82}
83img
84{
85  vertical-align: text-bottom;
86}
87h3
88{
89  color: #333377;
90  background: #E8E8E8;
91  font-weight: bold;
92  margin-bottom: 0em;
93  padding: 1px 4px 1px 4px;
94  border: 1px solid #A0A0A0;
95  font-size: 1em;
96}
97</style>
98</base:head>
99<base:body>
100
101  <p:path><p:pathelement title="Reggie" /></p:path>
102
103  <div class="content">
104    <div class="absolutefull" style="width: 50%;">
105      <div class="absolutefull" style="left: 1em; right: 0.5em; ">
106       
107        <%
108        if (isAdmin)
109        {
110          %>
111          <h3>Server administrator wizards</h3>
112          <dl class="leftborder rightborder bottomborder">
113          <dt>
114            <base:icon image="<%=home + "/images/install.png" %>" />
115            <a href="install.jsp?ID=<%=ID%>">Installation wizard</a>
116          </dt>
117          <dd>
118            <ul>
119            <li>Check that annotation types and other items used by Reggie exists in BASE.
120            <li>Create missing items.
121            </ul>
122          </dd>
123          </dl>
124          <%
125        }
126        if (isPatientCurator || isAdmin)
127        {
128          %>
129          <h3>Personal information wizards</h3>
130          <dl class="leftborder rightborder bottomborder">
131          <dt>
132            <base:icon image="<%=home + "/images/personal.png" %>"/>
133            <a href="persinfo.jsp?ID=<%=ID%>">Pathology referral form registration</a>
134          </dt>
135          <dd>
136            <ul>
137            <li>Register new cases and patients.
138            <li>Update existing cases and specimen tubes.
139            </ul>
140          </dd>
141         
142          <dt>
143            <base:icon image="<%=home + "/images/blood.png" %>"/>
144            <a href="bloodform.jsp?ID=<%=ID%>">Blood referral form registration</a>
145          </dt>
146          <dd>
147            <ul>
148            <li>Register new blood referral forms and patients.
149            <li>Update information for existing blood referral forms.
150            </ul>
151          </dd>
152         
153          <dt>
154            <base:icon image="<%=home+"/images/consent.png" %>"/>
155            <a href="consentform.jsp?ID=<%=ID%>">Consent form registration</a>
156          </dt>
157          <dd>
158            <ul>
159            <li>Register consent forms.
160            </ul>
161          </dd>
162         
163          <dt>
164            <base:icon image="<%=home+"/images/export_import.png" %>" />
165            Export/import information to/from external registers.
166          </dt>
167          <dd>
168            <ul>
169            <li><a href="export_monthly_oplist.jsp?ID=<%=ID%>">Export monthly operation list</a>
170            </ul>
171          </dd>
172          </dl>
173          <%
174        }
175        %>
176       
177        <h3>Laboratory wizards</h3>
178        <dl class="leftborder rightborder bottomborder">
179        <%
180        if (hasCreateSamplePermission)
181        {
182          %>
183          <dt>
184            <base:icon image="<%=home+"/images/specimen.png" %>" />
185            <a href="specimentube.jsp?ID=<%=ID%>">Specimen tube registration</a>
186          </dt>
187          <dd>
188            <ul>
189            <li>Register new specimen tubes.
190            <li>Update existing specimen tubes.
191            </ul>
192          </dd>
193          <%
194        }
195        if (hasCreateSamplePermission && hasCreateExtractPermission)
196        {
197          %>
198          <dt>
199            <base:icon image="<%=home+"/images/partition.png" %>" />
200            <a href="partitionform.jsp?ID=<%=ID%>">Partition wizard</a>
201          </dt>
202          <dd>
203            <ul>
204            <li>Register new partitions of existing specimens.
205            </ul>
206          </dd>
207          <%
208        }
209        // Deliberately disabled -- scheduled for Reggie 2.7
210        if (hasCreateSamplePermission && hasCreateBioPlatePermission && false)
211        {
212          %>
213          <dt>
214            <base:icon image="<%=home+"/images/microscope.png" %>" />
215            Histology wizards
216          </dt>
217          <dd>
218            <ul>
219            <li><a href="histology_move.jsp?ID=<%=ID%>">Move Histology items to paraffin blocks</a>
220            <li><a href="histology_protocol.jsp?ID=<%=ID%>">Create/print lab tracking protocol for FFPE/HE</a>
221            <li><a href="histology_glass.jsp?ID=<%=ID%>">Register histology HE glass information</a>
222            </ul>
223          </dd>
224          <%
225        }
226        if (hasCreateExtractPermission)
227        {
228          %>
229          <dt>
230            <base:icon image="<%=home+"/images/extraction.png" %>" />
231            DNA/RNA extraction wizards
232          </dt>
233          <dd>
234            <ul>
235            <li><a href="allprep_protocol.jsp?ID=<%=ID%>">Lab tracking protocol for Allprep isolation</a>
236            <li><a href="extraction_registration.jsp?ID=<%=ID%>">DNA/RNA/FlowThrough registration</a>
237            </ul>
238          </dd>
239          <dt>
240            <base:icon image="<%=home+"/images/rnaqc.png" %>" />
241            RNA quality control wizards
242          </dt>
243          <dd>
244            <ul>
245            <li><a href="rnaqc_aliquot.jsp?ID=<%=ID%>">Create aliquots on Bioanalyzer/Caliper plates</a>
246            <li><a href="rnaqc_plate_export.jsp?ID=<%=ID%>">Export Caliper sample names and run parameters</a>
247            <li><a href="rnaqc_plate_import.jsp?ID=<%=ID%>">Import RQS scores from Caliper well table file</a>
248            </ul>
249          </dd>
250          <%
251        }
252        %>       
253        </dl>
254      </div>
255    </div>
256   
257    <div class="absolutefull" style="width: 50%; left: auto;">
258      <div class="absolutefull" style="left: 0.5em; right: 1em;">
259        <h3>Reggie reports</h3>
260        <dl class="leftborder rightborder bottomborder">
261          <dt>
262            <base:icon image="<%=home+"/images/report.png" %>" />
263            <a href="samplereportgenerator.jsp?ID=<%=ID%>">Report generator</a>
264          </dt>       
265          <dd>       
266            <ul>
267            <li>Sample count report</li> 
268            </ul>
269          </dd>
270        </dl>
271     
272      </div>
273    </div>
274
275  </div>
276 
277</base:body>
278</base:page>
279<%
280}
281finally
282{
283  if (dc != null) dc.close();
284}
285%>
Note: See TracBrowser for help on using the repository browser.