source: extensions/net.sf.basedb.meludi/trunk/resources/personal/ffpe_block_registration_alt_rec.jsp @ 5044

Last change on this file since 5044 was 5044, checked in by olle, 4 years ago

Refs #1029. First version of FFPE block registration wizard added:

  1. JSP file index.jsp in resources/ updated in section "Personal information wizards" by added link for FFPE block registration coupled to new JSP file ffpe_block_registration_alt_rec.jsp in resources/personal/.
  2. New JSP file ffpe_block_registration_alt_rec.jsp in resources/personal/ added. It is coupled to new Javascript file ffpe_block_registration_alt_rec.js in resources/personal/.
  3. New Javascript file ffpe_block_registration_alt_rec.js in resources/personal/ added. Function submit() sends input data as a JSON object to new command "RegisterFFPEBlocks" in BaseLineRegistrationServlet.
  4. JSP file case_summary_alt_rec.jsp in resources/reports/ updated in the FFPE block section by exchanging sampling date for arrival date and "Other path note" for "Operator delivery comment".
  5. Javascript file case_summary_alt_rec.js in resources/reports/ updated in function caseInfoLoaded(response) by exchanging sampling date for arrival date and "Other path note" for "Operator delivery comment" for FFPE block items.
  6. Java class/file InstallServlet.java in src/net/sf/basedb/meludi/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for commands "Validate" and "Install" by adding Annotationtype.ARRIVAL_DATE and Annotationtype.OPERATOR_DELIVERY_COMMENT to FFPE block category.
  7. Java servlet class/file CaseSummaryServlet.java in src/net/sf/basedb/meludi/servlet/ updated in private method void loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock) by loading annotations Annotationtype.ARRIVAL_DATE and Annotationtype.OPERATOR_DELIVERY_COMMENT.
  8. Java servlet class/file ConsentFormServlet.java in src/net/sf/basedb/meludi/servlet/ updated:
    a. Protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for command "GetCaseInfo" to get input personal number and from that obtain the case name via the patient item. If more than one case item is related to the patient, the first case item is used.
  9. Java servlet class/file BaseLineRegistrationServlet.java in src/net/sf/basedb/meludi/servlet/ updated:
    a. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated with new command "RegisterFFPEBlocks", based on code for command "RegisterBloodSamples".
    b. Private method String fetchNewBloodItemName(DbControl dc)exchanged for generic private method String fetchNewItemName(DbControl dc, Subtype subtype, String itemPrefix, int itemNumDigits).
    c. Private method int fetchHighestBloodItemNumber(DbControl dc)exchanged for generic private method int fetchHighestItemNumber(DbControl dc, Subtype subtype, String itemPrefix, int itemNumDigits).
    d. Private method String fetchHighestBloodItemName(DbControl dc)exchanged for generic private method String fetchHighestItemName(DbControl dc, Subtype subtype).
File size: 4.9 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.DbControl"
7  import="net.sf.basedb.core.SessionControl"
8  import="net.sf.basedb.clients.web.Base"
9  import="net.sf.basedb.clients.web.util.HTML"
10  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
11  import="net.sf.basedb.util.Values"
12%>
13<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
14<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
15<%
16//final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.meludi", true);
17final SessionControl sc = Base.getExistingSessionControl(request, true);
18final String ID = sc.getId();
19final float scale = Base.getScale(sc);
20final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi");
21DbControl dc = null;
22try
23{
24  dc = sc.newDbControl();
25  final User user = User.getById(dc, sc.getLoggedInUserId());
26%>
27<base:page type="default" >
28<base:head 
29  scripts="~../meludi-2.js,~ffpe_block_registration_alt_rec.js" 
30  styles="path.css,~../css/meludi-2.css" 
31/>
32<base:body>
33
34  <p:path><p:pathelement id="meludi-index"
35    title="Meludi" href="<%="../index.jsp?ID="+ID%>" 
36    /><p:pathelement title="FFPE block registration" 
37    /></p:path>
38
39  <div class="content">
40  <form name="meludi" id="wizard" class="wizard">
41
42    <!-- 1. Personal number -->
43    <div class="step" id="step-1">
44      <div class="step-no">1</div>
45      <div class="step-title">Enter perosnal number</div>
46      <div class="step-content">
47
48        <table class="step-form">
49        <tr>
50          <td class="prompt">Personal number</td>
51          <td class="input">
52            <input type="text" name="personalNumber" id="personalNumber"
53              class="required"
54              style="width: 12em;" maxlength="12">
55          </td>
56          <td class="status" id="personalNumber.status"></td>
57          <td class="help">
58            <span id="personalNumber.message" class="message"></span>
59            ([YY]YYMMDDZZZZ) Enter personal number for FFPE block patient.
60          </td>
61        </tr>
62        </table>
63      </div>
64    </div>
65 
66    <!-- 2. Number of FFPE block -->
67    <div class="step" id="step-2">
68      <div class="step-no">2</div>
69      <div class="step-title">Number of FFPE blocks</div>
70      <div class="step-content">
71     
72      <table class="step-form">
73      <tr>
74        <td class="prompt">Case name</td>
75        <td class="input"><input type="text" name="caseName" id="caseName"
76          disabled
77          style="width: 12em;" maxlength="12"></td>
78        <td class="status" id="caseName.status"></td>
79        <td class="help">
80          <span id="caseName.message" class="message"></span>
81          Case name for patient.
82        </td>
83      </tr>
84      <tr>
85        <td class="prompt">Number of FFPE blocks</td>
86        <td class="input">
87          <input type="text" name="nofBlocks" id="nofBlocks"
88            class="required auto-init" data-auto-init="focus-on-enter" data-next-focus="arrivalDate"
89              style="width: 12em;" maxlength="4" value="4">
90        </td>
91        <td class="status" id="nofBlocks.status"></td>
92        <td class="help">
93          <span id="nofBlocks.message" class="message"></span>
94          Number of FFPE blocks.
95        </td>
96      </tr>
97      <tr valign="top">
98        <td class="prompt">Arrival date</td>
99        <td class="input">
100          <input type="text" name="arrivalDate" id="arrivalDate" 
101            class="auto-init" data-auto-init="focus-on-enter" data-next-focus=""
102            data-disallow-future-date="1"
103            style="width: 12em;" maxlength="10">
104            <base:icon 
105              id="arrivalDateCalendar"
106              subclass="auto-init"
107              data-auto-init="calendar"
108              data-textarea-id="arrivalDate"
109              data-date-format="yyyyMMdd"
110              data-title="Arrival date"
111              image="calendar.png" 
112              tooltip="Select a date from a calendar" 
113              tabindex="-1"
114            />
115        </td>
116        <td class="status" id="arrivalDate.status"></td>
117        <td class="help">
118          <span id="arrivalDate.message" class="message"></span>
119          Date when the FFPE blocks arrived (YYYYMMDD or MMDD).
120        </td>
121      </tr>
122      </table>
123      </div>
124    </div>
125 
126    <!-- 3. FFPE block data -->
127    <div class="step" id="step-3">
128      <div class="step-no">3</div>
129      <div class="step-title">Enter FFPE block information</div>
130      <div class="step-content">
131   
132        <table id="ffpe-blocks" class="step-form">
133        </table>
134      </div>
135    </div>
136
137    <div id="wizard-status"></div>
138 
139    <table class="navigation" id="navigation">
140    <tr>
141      <td><base:button id="gocancel" title="Cancel" /></td>
142      <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
143      <td><base:button id="goregister" title="Register" image="<%=home+"/images/gonext.png"%>" /></td>
144      <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
145      <td id="gonext-message" class="message"></td>
146    </tr>
147    </table>
148  </form>
149  </div>
150 
151</base:body>
152</base:page>
153<%
154}
155finally
156{
157  if (dc != null) dc.close();
158}
159%>
Note: See TracBrowser for help on using the repository browser.