root/trunk/grails-app/views/study/show.gsp @ 210

Revision 210, 9.3 KB (checked in by ademcan, 4 years ago)

Study List and Study Overview with Events, eventDescripiton and assays

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                $("#accordion").accordion();
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    <div id="accordion">
34      <a href="#"> Study Information </a>
35       
36       <div><b> Id </b>: ${fieldValue(bean: studyInstance, field: "id")} <br>
37         <b>Template </b>:<g:link controller="template" action="show" id="${studyInstance?.template?.id}">${studyInstance?.template?.encodeAsHTML()}</g:link><br>
38         <b> Start </b>:<g:formatDate date="${studyInstance?.startDate}" /> <br>
39         <b>Sampling Events </b>:
40
41           <% def tmpList = [] %>
42
43          <g:each in="${studyInstance.events}" var="s">
44            <g:if test="${s.eventDescription.isSamplingEvent}">
45            tmpList.add(s.eventDescription)
46            </g:if>
47          </g:each>
48
49         <g:if test="${tmpList.size()==0}">
50          -
51         </g:if>
52
53         <g:else>
54           <% def sampEvent = tmpList.get(0).name %>
55           ${sampEvent}
56         <g:each in="${tmpList}" var="samplingEvent">
57           <g:if test="${(samplingEvent.name!=sampEvent)}">
58            ${samplingEvents.name}
59         </g:if>
60          </g:each>
61         </g:else>
62           <br>
63       
64
65        <b>Last Updated </b>:<g:formatDate date="${studyInstance?.lastUpdated}" /><br>
66        <b>Readers </b>:<ul>
67          <g:each in="${studyInstance.readers}" var="r">
68            <li><g:link controller="user" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
69          </g:each>
70        </ul> <br>
71        <b>Code </b>: ${fieldValue(bean: studyInstance, field: "code")} <br>
72        <b>Editors </b>: <ul>
73          <g:each in="${studyInstance.editors}" var="e">
74            <li><g:link controller="user" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
75          </g:each>
76        </ul> <br>
77        <b>EC Code </b>: ${fieldValue(bean: studyInstance, field: "ecCode")} <br>
78        <b>Research Question </b>: ${fieldValue(bean: studyInstance, field: "researchQuestion")} <br>
79        <b>Title </b>: ${fieldValue(bean: studyInstance, field: "title")} <br>
80        <b>Description </b>: ${fieldValue(bean: studyInstance, field: "description")} <br>
81        <b>Owner </b>:<g:link controller="user" action="show" id="${studyInstance?.owner?.id}">${studyInstance?.owner?.encodeAsHTML()}</g:link> <br>
82        <b>Date Created </b>:<g:formatDate date="${studyInstance?.dateCreated}" /> <br>
83       </div>
84
85      <a href="#"> Subjects </a><div>
86        <table>
87          <tr>
88            <td><b>Id </b></td>
89            <td><b>Species</b></td>
90            <td><b>Name</b></td>
91          <g:each in="${studyInstance.template.subjectFields}" var="g">
92            <td><b>
93              <g:link controller="templateSubjectField" action="show" id="${g.id}">
94              ${g}</b></td>
95            </g:link>
96          </g:each>
97          </tr>
98
99          <g:each in="${studyInstance.subjects}" var="s">
100            <tr>
101              <td><g:link controller="subject" action="show" id="${s.id}">${s.id}</g:link></td>
102              <td>${s.species}</td>
103              <td>${s.name}</td>
104
105                <g:each in="${studyInstance.template.subjectFields}" var="g">
106               <td>
107              <% if (g.type==dbnp.studycapturing.TemplateFieldType.INTEGER){ %>
108                  <% print s.templateIntegerFields.get(g.toString())  %>
109              <% } %>
110               <% if (g.type==dbnp.studycapturing.TemplateFieldType.STRINGLIST){ %>
111                <% print s.templateStringFields.get(g.toString())  %>
112              <% } %>
113             <% if (g.type==dbnp.studycapturing.TemplateFieldType.FLOAT){ %>
114                <% print s.templateFloatFields.get(g.toString())  %>
115              <% } %>
116
117            </td>
118          </g:each>
119          </tr>
120          </g:each>
121          </table>
122      </div>
123
124       <a href="#"> Groups </a> <div>
125         <g:if test="${studyInstance.groups.size()==0}">
126           No groups in this study
127         </g:if>
128         <g:else>
129          <g:each in="${studyInstance.groups}" var="g">
130            ${g.name}
131          </g:each>
132         </g:else>
133         </div>
134
135       <a href="#"> Protocols </a><div>
136             <table>
137          <tr>
138            <td><b>Id </b></td>
139            <td><b>Name</b></td>
140            <td><b>Parameters</b></td>
141            <td><b>Reference</b></td>
142          </tr>
143          <g:each in="${dbnp.studycapturing .Protocol.list()}" var="s">
144           
145            <% if  (studyInstance.events.eventDescription.protocol.contains(s)) { %>
146           
147            <tr>
148              <td><g:link controller="protocol" action="show" id="${s.id}">${s.id}</g:link></td>
149          <td>${s.name}</td>
150          <td>
151          <g:each in="${s.parameters}" var="p"><ul><li>
152            <g:link controller="protocolParameter" action="show" id="${p.id}">${p.name}</g:link>
153            </li></ul>
154          </g:each>
155          </td>
156          <td>${s.reference}</td>
157          </tr>
158 <%  } %>
159
160          </g:each>
161             </table>
162       </div>
163
164      <a href="#"> Events </a><div>
165          <table>
166          <tr>
167           
168            <td><b>Subject</b></td>
169            <td><b>Start Time</b></td>
170            <td><b>Duration</b></td>
171            <td><b>Event Description</b></td>
172            <td><b>Sampling Event</b></td>
173            <td><b>Parameters</b></td>
174          </tr>
175          <g:each in="${studyInstance.events}" var="e">
176            <tr>
177             
178          <td><g:link controller="event" action="edit" id="${e.id}">${e.subject.id}</g:link></td>
179          <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td>
180          <td>${e.getPrettyDuration()}</td>
181           <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td>
182          <g:if test="${e.eventDescription.isSamplingEvent}">
183            <td><input type="checkbox" id="" disabled="false" value="true"></td>
184          </g:if>
185          <g:else>
186            <td><input type="checkbox" id="" disabled="false" value="false"></td>
187          </g:else>
188          <td>${e.eventDescription.protocol.parameters.name}</td>
189          </tr>
190          </g:each>
191          </table>
192      </div>
193
194      <a href="#"> Event Description </a><div>
195          <table>
196          <tr>
197
198            <td><b>Name</b></td>
199            <td><b>Parameters </b></td>
200          </tr>
201          <tr>
202            <td><b></b></td>
203            <td><b>Name</b></td>
204            <td><b>Description</b></td>
205            <td><b>Unit</b></td>
206            <td><b>Reference</b></td>
207            <td><b>Options</b></td>
208            <td><b>Type</b></td>
209          </tr>
210          <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e">
211          <g:if test="${(studyInstance.events.eventDescription.contains(e))}" >
212            <tr>
213              <td>${e.name} </td></tr><tr>
214            <g:each in="${e.protocol.parameters}" var="p">
215              <td></td>
216          <td>${p.name}</td>
217          <td>${p.description}</td>
218          <td>${p.unit}</td>
219          <td>${p.reference}</td>
220          <g:if test="${(p.listEntries.size()==0)}" >
221          <td>-</td>
222            </g:if>
223          <g:else>
224          <td>${p.listEntries}</td>
225          </g:else>
226          <td>${p.type}</td>
227            </tr>
228            </g:each>
229            </g:if>
230            </g:each>
231          </table>
232
233        <g:form>
234   
235      <span class="button"><g:actionSubmit class="event" action="create" value="${message(code: 'default.button.create.label', default: 'Create')}" /></span>
236    </g:form>
237
238      </div>
239
240      <a href="#"> Assays </a><div>
241        <g:if test="${studyInstance.assays.size()==0}">
242          No assays in this study
243        </g:if>
244        <g:else>
245          <g:each in="${studyInstance.assays}" var="assay">
246            ${assay.name}
247          </g:each>
248        </g:else>
249      </div>
250
251  </div>
252    </div>
253  <br>
254  <div class="buttons">
255    <g:form>
256      <g:hiddenField name="id" value="${studyInstance?.id}" />
257      <span class="button"><g:actionSubmit class="edit" action="edit" value="${message(code: 'default.button.edit.label', default: 'Edit')}" /></span>
258      <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>
259    </g:form>
260  </div>
261</div>
262</div>
263</body>
264</html>
Note: See TracBrowser for help on using the browser.