source: trunk/grails-app/views/study/show.gsp @ 226

Last change on this file since 226 was 226, checked in by ademcan, 9 years ago

Study List and Study Comparaison with new Template version

File size: 12.6 KB
Line 
1
2<%@ page import="dbnp.studycapturing.Study" %>
3<html>
4  <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6    <meta name="layout" content="main" />
7  <g:set var="entityName" value="${message(code: 'study.label', default: 'Study')}" />
8  <title><g:message code="default.show.label" args="[entityName]" /></title>
9      <script type="text/javascript">
10        $(function() {
11                $("#tabs").tabs();
12        });
13      </script>
14
15</head>
16<body>
17
18<div class="nav">
19  <span class="menuButton"><a class="home" href="${createLink(uri: '/')}">Home</a></span>
20  <span class="menuButton"><g:link class="list" action="list"><g:message code="default.list.label" args="[entityName]" /></g:link></span>
21  <span class="menuButton"><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></span>
22</div>
23
24<div class="body">
25  <h1><g:message code="default.show.label" args="[entityName]" /></h1>
26  <g:if test="${flash.message}">
27    <div class="message">${flash.message}</div>
28  </g:if>
29  <div class="dialog">
30
31    <% protocolList = dbnp.studycapturing.Protocol.list() %>
32
33
34
35      <div id="tabs">
36      <ul>
37        <li><a href="#study">Study Information</a></li>
38        <li><a href="#subjects">Subjects</a></li>
39        <li><a href="#groups">Groups</a></li>
40        <li><a href="#protocols">Protocols</a></li>
41        <li><a href="#events">Events</a></li>
42        <li><a href="#event-description">Event Description</a></li>
43        <li><a href="#event-group">Event Groups</a></li>
44        <li><a href="#assays">Assays</a></li>
45      </ul>
46
47    <div id="study">
48       
49         <b> Id </b>: ${fieldValue(bean: studyInstance, field: "id")} <br>
50         <b>Template </b>:<g:link controller="template" action="show" id="${studyInstance?.template?.id}">${studyInstance?.template?.encodeAsHTML()}</g:link><br>
51         <b> Start </b>:<g:formatDate date="${studyInstance?.startDate}" /> <br>
52         <b> Events </b>:
53         <% def eventList = [] %>
54
55          <g:each in="${studyInstance.events}" var="s">
56            <%  eventList.add(s.eventDescription) %>
57          </g:each>
58
59         <g:if test="${eventList.size()==0}">
60          -
61         </g:if>
62
63         <g:else>
64           <% def sampEvent = eventList.get(0).name %>
65           ${sampEvent}
66         <g:each in="${eventList}" var="samplingEvent">
67           <g:if test="${(samplingEvent.name!=sampEvent)}">
68            ${samplingEvent.name}
69         </g:if>
70          </g:each>
71         </g:else>
72           <br>
73
74
75         <b>Sampling Events </b>:
76           <% def tmpList = [] %>
77
78          <g:each in="${studyInstance.samplingEvents}" var="s">
79            <%  tmpList.add(s.eventDescription) %>
80          </g:each>
81
82         <g:if test="${tmpList.size()==0}">
83          -
84         </g:if>
85
86         <g:else>
87           <% def sampEvent = tmpList.get(0).name %>
88           ${sampEvent}
89         <g:each in="${tmpList}" var="samplingEvent">
90           <g:if test="${(samplingEvent.name!=sampEvent)}">
91            ${samplingEvent.name}
92         </g:if>
93          </g:each>
94         </g:else>
95           <br>
96        <b>Last Updated </b>:<g:formatDate date="${studyInstance?.lastUpdated}" /><br>
97        <b>Readers </b>:
98
99        <g:if test="${studyInstance.readers.size()==0}">
100          -
101        </g:if>
102        <g:else>
103        <ul>
104          <g:each in="${studyInstance.readers}" var="r">
105            <li><g:link controller="user" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
106          </g:each>
107        </ul>
108        </g:else>
109          <br>
110        <b>Code </b>: ${fieldValue(bean: studyInstance, field: "code")} <br>
111        <b>Editors </b>:
112          <g:if test="${studyInstance.editors.size()==0}">
113          -
114        </g:if>
115        <g:else>
116        <ul>
117          <g:each in="${studyInstance.editors}" var="e">
118            <li><g:link controller="user" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
119          </g:each>
120        </ul>
121        </g:else>
122          <br>
123        <b>EC Code </b>: ${fieldValue(bean: studyInstance, field: "ecCode")} <br>
124        <b>Research Question </b>: ${fieldValue(bean: studyInstance, field: "researchQuestion")} <br>
125        <b>Title </b>: ${fieldValue(bean: studyInstance, field: "title")} <br>
126        <b>Description </b>: ${fieldValue(bean: studyInstance, field: "description")} <br>
127        <b>Owner </b>:<g:link controller="user" action="show" id="${studyInstance?.owner?.id}">${studyInstance?.owner?.encodeAsHTML()}</g:link> <br>
128        <b>Date Created </b>:<g:formatDate date="${studyInstance?.dateCreated}" /> <br>
129       </div>
130
131        <div id="subjects">
132        <table>
133          <tr>
134            <td><b>Id </b></td>
135            <td><b>Species</b></td>
136            <td><b>Name</b></td>
137          <g:each in="${studyInstance.template.fields}" var="g">
138            <td><b>
139              <g:link controller="templateField" action="show" id="${g.id}">
140              ${g}</b></td>
141            </g:link>
142          </g:each>
143          </tr>
144
145          <g:each in="${studyInstance.subjects}" var="s">
146            <tr>
147              <td><g:link controller="subject" action="show" id="${s.id}">${s.id}</g:link></td>
148              <td>${s.species}</td>
149              <td>${s.name}</td>
150              <g:each in="${studyInstance.template.fields}" var="g">
151               <td>
152                  <% print s.getFieldValue(g.toString())  %>
153               </td>
154          </g:each>
155            </tr>
156          </g:each>
157
158          </table>
159      </div>
160
161        <div id="groups">
162         <g:if test="${studyInstance.groups.size()==0}">
163           No groups in this study
164         </g:if>
165         <g:else>
166          <g:each in="${studyInstance.groups}" var="g">
167            ${g.name}
168          </g:each>
169         </g:else>
170         </div>
171
172        <div id="protocols">
173             <table>
174          <tr>
175            <td><b>Id </b></td>
176            <td><b>Name</b></td>
177            <td><b>Parameters</b></td>
178            <td><b>Reference</b></td>
179          </tr>
180
181             <% def protocol_list = [] %>
182          <% def tmp_protocol = studyInstance.events.eventDescription.protocol.get(0) %>
183          <% def tmpBis_protocol = studyInstance.samplingEvents.eventDescription.protocol.get(0) %>
184          <% protocol_list.add(tmp_protocol) %>
185          <% protocol_list.add(tmpBis_protocol) %>
186
187            <g:each in="${studyInstance.events.eventDescription.protocol}" var="s">
188
189          <% if (tmp_protocol!=s) { %>
190            <% protocol_list.add(s) %>
191            <%}%>
192          </g:each>
193
194          <g:each in="${studyInstance.samplingEvents.eventDescription.protocol}" var="s">
195
196          <% if (tmpBis_protocol!=s) { %>
197            <% protocol_list.add(s) %>
198            <%}%>
199          </g:each>
200
201
202            <g:each in="${protocol_list}" var="protocol">
203            <tr>
204              <td><g:link controller="protocol" action="show" id="${protocol.id}">${protocol.id}</g:link></td>
205          <td>${protocol.name}</td>
206          <td>
207          <g:each in="${protocol.parameters}" var="p"><ul><li>
208            <g:link controller="protocolParameter" action="show" id="${p.id}">${p.name}</g:link>
209            </li></ul>
210          </g:each>
211          </td>
212          <td>${protocol.reference}</td>
213          </tr>
214
215          </g:each>
216             </table>
217       </div>
218
219        <div id="events">
220          <table>
221          <tr>
222           
223            <td><b>Subject</b></td>
224            <td><b>Start Time</b></td>
225            <td><b>Duration</b></td>
226            <td><b>Event Description</b></td>
227            <td><b>Sampling Event</b></td>
228            <td><b>Parameters</b></td>
229          </tr>
230          <g:each in="${studyInstance.events}" var="e">
231            <tr>
232          <td><g:link controller="event" action="edit" id="${e.id}">${e.subject.id}</g:link></td>
233          <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td>
234          <td>${e.getPrettyDuration()}</td>
235           <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td>
236            <td><g:checkBox name="event" disabled="${true}" value="${false}"/></td>
237
238            <g:each in="${e.eventDescription.protocol.parameters}" var="param">
239          <td>
240            ${param.name} : ${param.listEntries}
241          </td>
242            </g:each>
243            </tr>
244          </g:each>
245
246          <g:each in="${studyInstance.samplingEvents}" var="e">
247            <tr>
248          <td><g:link controller="event" action="edit" id="${e.id}">${e.subject.id}</g:link></td>
249          <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td>
250          <td>${e.getPrettyDuration()}</td>
251           <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td>
252            <td><g:checkBox name="samplingEvent" disabled="${true}" value="${true}"/></td>
253
254            <g:each in="${e.eventDescription.protocol.parameters}" var="param">
255          <td>
256            ${param.name} : ${param.listEntries}
257          </td>
258            </g:each>
259          </tr>
260          </g:each>
261
262          </table>
263      </div>
264
265        <div id="event-description">
266          <table>
267          <tr>
268
269            <td><b>Event Name</b></td>
270            <td><b>Parameters </b></td>
271          </tr>
272          <tr>
273            <td><b></b></td>
274            <td><b>Name</b></td>
275            <td><b>Description</b></td>
276            <td><b>Unit</b></td>
277            <td><b>Reference</b></td>
278            <td><b>Options</b></td>
279            <td><b>Type</b></td>
280          </tr>
281          <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e">
282          <g:if test="${(studyInstance.events.eventDescription.contains(e))}" >
283            <tr>
284              <td>${e.name} </td></tr><tr>
285            <g:each in="${e.protocol.parameters}" var="p">
286              <td></td>
287          <td>${p.name}</td>
288          <td>${p.description}</td>
289          <td>${p.unit}</td>
290          <td>${p.reference}</td>
291          <g:if test="${(p.listEntries.size()==0)}" >
292          <td>-</td>
293            </g:if>
294          <g:else>
295          <td>${p.listEntries}</td>
296          </g:else>
297          <td>${p.type}</td>
298            </tr>
299            </g:each>
300            </g:if>
301            </g:each>
302
303           <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e">
304          <g:if test="${(studyInstance.samplingEvents.eventDescription.contains(e))}" >
305            <tr>
306              <td>${e.name} </td></tr><tr>
307            <g:each in="${e.protocol.parameters}" var="p">
308              <td></td>
309          <td>${p.name}</td>
310          <td>${p.description}</td>
311          <td>${p.unit}</td>
312          <td>${p.reference}</td>
313          <g:if test="${(p.listEntries.size()==0)}" >
314          <td>-</td>
315            </g:if>
316          <g:else>
317          <td>${p.listEntries}</td>
318          </g:else>
319          <td>${p.type}</td>
320            </tr>
321            </g:each>
322            </g:if>
323            </g:each>
324
325          </table>
326
327        <g:form controller="eventDescription" action="create">
328         <INPUT TYPE=submit name=submit Value="New Event Description">
329    </g:form>
330
331      </div>
332
333        <div id="event-group">
334        </div>
335
336        <div id="assays">
337        <g:if test="${studyInstance.assays.size()==0}">
338          No assays in this study
339        </g:if>
340        <g:else>
341          <table>
342            <tr>
343              <td width="100"><b>Assay Name</b></td>
344              <td width="100"><b>Module</b></td>
345              <td><b>Type</b></td>
346              <td width="150"><b>Platform</b></td>
347              <td><b>Url</b></td>
348              <td><b>Samples</b></td>
349            </tr>
350          <g:each in="${studyInstance.assays}" var="assay">
351            <tr>
352            <td>${assay.name}</td>
353            <td>${assay.module.name}</td>
354            <td>${assay.module.type}</td>
355            <td>${assay.module.platform}</td>
356            <td>${assay.module.url}</td>
357            <td>
358              <g:each in="${assay.samples}" var="assaySample">
359                ${assaySample.name}<br>
360              </g:each>
361            </td>
362            </tr>
363          </g:each>
364
365          </table>
366        </g:else>
367      </div>
368
369  </div>
370    </div>
371  <br>
372  <div class="buttons">
373    <g:form>
374      <g:hiddenField name="id" value="${studyInstance?.id}" />
375      <span class="button"><g:actionSubmit class="edit" action="edit" value="${message(code: 'default.button.edit.label', default: 'Edit')}" /></span>
376      <span class="button"><g:actionSubmit class="delete" action="delete" value="${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" /></span>
377    </g:form>
378  </div>
379</div>
380</div>
381</body>
382</html>
Note: See TracBrowser for help on using the repository browser.