Changeset 237

Show
Ignore:
Timestamp:
05-03-10 15:08:28 (4 years ago)
Author:
ademcan
Message:

EventGroup? in study view

Location:
trunk/grails-app/views/study
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/views/study/list_extended.gsp

    r226 r237  
    148148             <td> 
    149149 
    150                <table> 
     150 
     151  <g:each in="${stud.giveSubjectTemplates()}" var="template"> 
     152        <table> 
    151153          <tr> 
    152154            <td><b>Id </b></td> 
    153155            <td><b>Species</b></td> 
    154156            <td><b>Name</b></td> 
    155           <g:each in="${stud.template.fields}" var="g"> 
     157          <g:each in="${template.fields}" var="g"> 
    156158            <td><b> 
    157159              <g:link controller="templateField" action="show" id="${g.id}"> 
     
    161163          </tr> 
    162164 
    163           <g:each in="${stud.subjects}" var="s"> 
     165          <g:each in="${stud.subjects.findAll { it.template == template}}" var="s"> 
    164166            <tr> 
    165167              <td><g:link controller="subject" action="show" id="${s.id}">${s.id}</g:link></td> 
    166168              <td>${s.species}</td> 
    167169              <td>${s.name}</td> 
    168  
    169                 <g:each in="${stud.template.fields}" var="g"> 
     170              <g:each in="${template.fields}" var="g"> 
    170171               <td> 
    171172                  <% print s.getFieldValue(g.toString())  %> 
    172             </td> 
    173           </g:each> 
    174           </tr> 
    175           </g:each> 
     173               </td> 
     174          </g:each> 
     175            </tr> 
     176          </g:each> 
     177 
    176178          </table> 
     179 
     180          </g:each> 
     181 
     182 
    177183 
    178184             </td> 
  • trunk/grails-app/views/study/show.gsp

    r232 r237  
    77  <g:set var="entityName" value="${message(code: 'study.label', default: 'Study')}" /> 
    88  <title><g:message code="default.show.label" args="[entityName]" /></title> 
    9       <script type="text/javascript"> 
    10         $(function() { 
    11                 $("#tabs").tabs(); 
    12         }); 
    13       </script> 
     9  <script type="text/javascript"> 
     10    $(function() { 
     11            $("#tabs").tabs(); 
     12    }); 
     13  </script> 
    1414 
    1515</head> 
    1616<body> 
    1717 
    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  
     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() %> 
    3432 
    3533      <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 = [] %> 
     34        <ul> 
     35          <li><a href="#study">Study Information</a></li> 
     36          <li><a href="#subjects">Subjects</a></li> 
     37          <li><a href="#groups">Groups</a></li> 
     38          <li><a href="#protocols">Protocols</a></li> 
     39          <li><a href="#events">Events</a></li> 
     40          <li><a href="#event-description">Event Description</a></li> 
     41          <li><a href="#event-group">Event Groups</a></li> 
     42          <li><a href="#assays">Assays</a></li> 
     43        </ul> 
     44 
     45        <div id="study"> 
     46 
     47          <b> Id </b>: ${fieldValue(bean: studyInstance, field: "id")} <br> 
     48          <b>Template </b>:<g:link controller="template" action="show" id="${studyInstance?.template?.id}">${studyInstance?.template?.encodeAsHTML()}</g:link><br> 
     49          <b> Start </b>:<g:formatDate date="${studyInstance?.startDate}" /> <br> 
     50          <b> Events </b>: 
     51<% def eventList = [] %> 
    5452 
    5553          <g:each in="${studyInstance.events}" var="s"> 
    56             <%  eventList.add(s.eventDescription) %> 
     54<%  eventList.add(s.eventDescription) %> 
    5755          </g:each> 
    5856 
    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> 
     57          <g:if test="${eventList.size()==0}"> 
     58            - 
     59          </g:if> 
     60 
     61          <g:else> 
     62<% def sampEvent = eventList.get(0).name %> 
     63${sampEvent} 
     64            <g:each in="${eventList}" var="samplingEvent"> 
     65              <g:if test="${(samplingEvent.name!=sampEvent)}"> 
     66${samplingEvent.name} 
     67              </g:if> 
     68            </g:each> 
     69          </g:else> 
     70          <br> 
     71 
     72 
     73          <b>Sampling Events </b>: 
     74<% def tmpList = [] %> 
     75 
     76          <g:each in="${studyInstance.samplingEvents}" var="s"> 
     77<%  tmpList.add(s.eventDescription) %> 
    7078          </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) %> 
     79 
     80          <g:if test="${tmpList.size()==0}"> 
     81            - 
     82          </g:if> 
     83 
     84          <g:else> 
     85<% def sampEvent = tmpList.get(0).name %> 
     86${sampEvent} 
     87            <g:each in="${tmpList}" var="samplingEvent"> 
     88              <g:if test="${(samplingEvent.name!=sampEvent)}"> 
     89${samplingEvent.name} 
     90              </g:if> 
     91            </g:each> 
     92          </g:else> 
     93          <br> 
     94          <b>Last Updated </b>:<g:formatDate date="${studyInstance?.lastUpdated}" /><br> 
     95          <b>Readers </b>: 
     96 
     97          <g:if test="${studyInstance.readers.size()==0}"> 
     98            - 
     99          </g:if> 
     100          <g:else> 
     101            <ul> 
     102              <g:each in="${studyInstance.readers}" var="r"> 
     103                <li><g:link controller="user" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li> 
     104              </g:each> 
     105            </ul> 
     106          </g:else> 
     107          <br> 
     108          <b>Code </b>: ${fieldValue(bean: studyInstance, field: "code")} <br> 
     109          <b>Editors </b>: 
     110          <g:if test="${studyInstance.editors.size()==0}"> 
     111            - 
     112          </g:if> 
     113          <g:else> 
     114            <ul> 
     115              <g:each in="${studyInstance.editors}" var="e"> 
     116                <li><g:link controller="user" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li> 
     117              </g:each> 
     118            </ul> 
     119          </g:else> 
     120          <br> 
     121          <b>EC Code </b>: ${fieldValue(bean: studyInstance, field: "ecCode")} <br> 
     122          <b>Research Question </b>: ${fieldValue(bean: studyInstance, field: "researchQuestion")} <br> 
     123          <b>Title </b>: ${fieldValue(bean: studyInstance, field: "title")} <br> 
     124          <b>Description </b>: ${fieldValue(bean: studyInstance, field: "description")} <br> 
     125          <b>Owner </b>:<g:link controller="user" action="show" id="${studyInstance?.owner?.id}">${studyInstance?.owner?.encodeAsHTML()}</g:link> <br> 
     126          <b>Date Created </b>:<g:formatDate date="${studyInstance?.dateCreated}" /> <br> 
     127        </div> 
     128 
     129        <div id="subjects"> 
     130          <g:each in="${studyInstance.giveSubjectTemplates()}" var="template"> 
     131            <table> 
     132              <tr> 
     133                <td><b>Id </b></td> 
     134                <td><b>Species</b></td> 
     135                <td><b>Name</b></td> 
     136              <g:each in="${template.fields}" var="g"> 
     137                <td><b> 
     138                    <g:link controller="templateField" action="show" id="${g.id}"> 
     139${g}</b></td> 
     140                </g:link> 
     141              </g:each> 
     142              </tr> 
     143 
     144              <g:each in="${studyInstance.subjects.findAll { it.template == template}}" var="s"> 
     145                <tr> 
     146                  <td><g:link controller="subject" action="show" id="${s.id}">${s.id}</g:link></td> 
     147                <td>${s.species}</td> 
     148                <td>${s.name}</td> 
     149                <g:each in="${template.fields}" var="g"> 
     150                  <td> 
     151<% print s.getFieldValue(g.toString())  %> 
     152                  </td> 
     153                </g:each> 
     154                </tr> 
     155              </g:each> 
     156 
     157            </table> 
     158 
    80159          </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            <g:each in="${studyInstance.giveSubjectTemplates()}" var="template"> 
    133         <table> 
    134           <tr> 
    135             <td><b>Id </b></td> 
    136             <td><b>Species</b></td> 
    137             <td><b>Name</b></td> 
    138           <g:each in="${template.fields}" var="g"> 
    139             <td><b> 
    140               <g:link controller="templateField" action="show" id="${g.id}"> 
    141               ${g}</b></td> 
    142             </g:link> 
    143           </g:each> 
    144           </tr> 
    145  
    146           <g:each in="${studyInstance.subjects.findAll { it.template == template}}" var="s"> 
    147             <tr> 
    148               <td><g:link controller="subject" action="show" id="${s.id}">${s.id}</g:link></td> 
    149               <td>${s.species}</td> 
    150               <td>${s.name}</td> 
    151               <g:each in="${template.fields}" var="g"> 
    152                <td> 
    153                   <% print s.getFieldValue(g.toString())  %> 
    154                </td> 
    155           </g:each> 
     160        </div> 
     161 
     162        <div id="groups"> 
     163          <g:if test="${studyInstance.groups.size()==0}"> 
     164            No groups in this study 
     165          </g:if> 
     166          <g:else> 
     167            <g:each in="${studyInstance.groups}" var="g"> 
     168${g.name} 
     169            </g:each> 
     170          </g:else> 
     171        </div> 
     172 
     173        <div id="protocols"> 
     174          <table> 
     175            <tr> 
     176              <td><b>Id </b></td> 
     177              <td><b>Name</b></td> 
     178              <td><b>Parameters</b></td> 
     179              <td><b>Reference</b></td> 
    156180            </tr> 
    157           </g:each> 
    158  
     181 
     182<% def protocol_list = [] %> 
     183<% def tmp_protocol = studyInstance.events.eventDescription.protocol.get(0) %> 
     184<% def tmpBis_protocol = studyInstance.samplingEvents.eventDescription.protocol.get(0) %> 
     185<% protocol_list.add(tmp_protocol) %> 
     186<% protocol_list.add(tmpBis_protocol) %> 
     187 
     188            <g:each in="${studyInstance.events.eventDescription.protocol}" var="s"> 
     189<% if (!(protocol_list.contains(s))) {%> 
     190  <% protocol_list.add(s) %> 
     191  <%}%> 
     192            </g:each> 
     193 
     194            <g:each in="${studyInstance.samplingEvents.eventDescription.protocol}" var="g"> 
     195<% if (!(protocol_list.contains(g))) {  %> 
     196  <% protocol_list.add(g) %> 
     197  <%}%> 
     198            </g:each> 
     199 
     200            <g:each in="${protocol_list}" var="protocol"> 
     201              <tr> 
     202                <td><g:link controller="protocol" action="show" id="${protocol.id}">${protocol.id}</g:link></td> 
     203              <td>${protocol.name}</td> 
     204              <td> 
     205              <g:each in="${protocol.parameters}" var="p"><ul><li> 
     206                  <g:link controller="protocolParameter" action="show" id="${p.id}">${p.name}</g:link> 
     207                  </li></ul> 
     208              </g:each> 
     209              </td> 
     210              <td>${protocol.reference}</td> 
     211              </tr> 
     212 
     213            </g:each> 
    159214          </table> 
    160  
    161           </g:each> 
    162       </div> 
    163  
    164         <div id="groups"> 
    165          <g:if test="${studyInstance.groups.size()==0}"> 
    166            No groups in this study 
    167          </g:if> 
    168          <g:else> 
    169           <g:each in="${studyInstance.groups}" var="g"> 
    170             ${g.name} 
    171           </g:each> 
    172          </g:else> 
    173          </div> 
    174  
    175         <div id="protocols"> 
    176              <table> 
    177           <tr> 
    178             <td><b>Id </b></td> 
    179             <td><b>Name</b></td> 
    180             <td><b>Parameters</b></td> 
    181             <td><b>Reference</b></td> 
    182           </tr> 
    183  
    184              <% def protocol_list = [] %> 
    185           <% def tmp_protocol = studyInstance.events.eventDescription.protocol.get(0) %> 
    186           <% def tmpBis_protocol = studyInstance.samplingEvents.eventDescription.protocol.get(0) %> 
    187           <% protocol_list.add(tmp_protocol) %> 
    188           <% protocol_list.add(tmpBis_protocol) %> 
    189  
    190             <g:each in="${studyInstance.events.eventDescription.protocol}" var="s"> 
    191  
    192           <% if (tmp_protocol!=s) { %> 
    193             <% protocol_list.add(s) %> 
    194             <%}%> 
    195           </g:each> 
    196  
    197           <g:each in="${studyInstance.samplingEvents.eventDescription.protocol}" var="s"> 
    198  
    199           <% if (tmpBis_protocol!=s) { %> 
    200             <% protocol_list.add(s) %> 
    201             <%}%> 
    202           </g:each> 
    203  
    204  
    205             <g:each in="${protocol_list}" var="protocol"> 
    206             <tr> 
    207               <td><g:link controller="protocol" action="show" id="${protocol.id}">${protocol.id}</g:link></td> 
    208           <td>${protocol.name}</td> 
    209           <td> 
    210           <g:each in="${protocol.parameters}" var="p"><ul><li> 
    211             <g:link controller="protocolParameter" action="show" id="${p.id}">${p.name}</g:link> 
    212             </li></ul> 
    213           </g:each> 
    214           </td> 
    215           <td>${protocol.reference}</td> 
    216           </tr> 
    217  
    218           </g:each> 
    219              </table> 
    220        </div> 
     215        </div> 
    221216 
    222217        <div id="events"> 
    223218          <table> 
    224           <tr> 
    225              
    226             <td><b>Subject</b></td> 
    227             <td><b>Start Time</b></td> 
    228             <td><b>Duration</b></td> 
    229             <td><b>Event Description</b></td> 
    230             <td><b>Sampling Event</b></td> 
    231             <td><b>Parameters</b></td> 
    232           </tr> 
    233           <g:each in="${studyInstance.events}" var="e"> 
    234             <tr> 
    235           <td>-</td> 
    236           <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td> 
    237           <td>${e.getPrettyDuration()}</td> 
    238            <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td> 
    239             <td><g:checkBox name="event" disabled="${true}" value="${false}"/></td> 
    240  
    241             <g:each in="${e.eventDescription.protocol.parameters}" var="param"> 
    242           <td> 
    243             ${param.name} : ${param.listEntries} 
    244           </td> 
    245             </g:each> 
     219            <tr> 
     220 
     221              <td><b>Subject</b></td> 
     222              <td><b>Start Time</b></td> 
     223              <td><b>Duration</b></td> 
     224              <td><b>Event Description</b></td> 
     225              <td><b>Sampling Event</b></td> 
     226              <td><b>Parameters</b></td> 
    246227            </tr> 
    247           </g:each> 
    248  
    249           <g:each in="${studyInstance.samplingEvents}" var="e"> 
    250             <tr> 
    251           <td>-</td> 
    252           <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td> 
    253           <td>${e.getPrettyDuration()}</td> 
    254            <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td> 
    255             <td><g:checkBox name="samplingEvent" disabled="${true}" value="${true}"/></td> 
    256  
    257             <g:each in="${e.eventDescription.protocol.parameters}" var="param"> 
    258           <td> 
    259             ${param.name} : ${param.listEntries} 
    260           </td> 
    261             </g:each> 
    262           </tr> 
    263           </g:each> 
     228            <g:each in="${studyInstance.events}" var="e"> 
     229              <tr> 
     230                <td>-</td> 
     231                <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td> 
     232                <td>${e.getPrettyDuration()}</td> 
     233                <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td> 
     234              <td><g:checkBox name="event" disabled="${true}" value="${false}"/></td> 
     235 
     236              <td> 
     237              <g:if test="${e.parameterStringValues.size()>0}"> 
     238${e.parameterStringValues} 
     239              </g:if> 
     240              <g:elseif test="${e.parameterIntegerValues.size()>0}"> 
     241${e.parameterIntegerValues} 
     242              </g:elseif> 
     243              <g:elseif test="${e.parameterFloatValues.size()>0}"> 
     244${e.parameterFloatValues} 
     245              </g:elseif> 
     246              </td> 
     247 
     248              </tr> 
     249            </g:each> 
     250 
     251            <g:each in="${studyInstance.samplingEvents}" var="e"> 
     252              <tr> 
     253                <td>-</td> 
     254                <td>${e.getPrettyDuration(studyInstance.startDate,e.startTime)}</td> 
     255                <td>${e.getPrettyDuration()}</td> 
     256                <td><g:link controller="event" action="show" id="${e.id}">  ${e.eventDescription.name}</g:link></td> 
     257              <td><g:checkBox name="samplingEvent" disabled="${true}" value="${true}"/></td> 
     258              <td> 
     259              <g:if test="${e.parameterStringValues.size()>0}"> 
     260${e.parameterStringValues} 
     261              </g:if> 
     262              <g:elseif test="${e.parameterIntegerValues.size()>0}"> 
     263${e.parameterIntegerValues} 
     264              </g:elseif> 
     265              <g:elseif test="${e.parameterFloatValues.size()>0}"> 
     266${e.parameterFloatValues} 
     267              </g:elseif> 
     268              </td> 
     269              </tr> 
     270            </g:each> 
    264271 
    265272          </table> 
    266       </div> 
     273        </div> 
    267274 
    268275        <div id="event-description"> 
    269276          <table> 
    270           <tr> 
    271  
    272             <td><b>Event Name</b></td> 
    273             <td><b>Parameters </b></td> 
     277            <tr> 
     278 
     279              <td><b>Event Name</b></td> 
     280              <td><b>Parameters </b></td> 
     281            </tr> 
     282            <tr> 
     283              <td><b></b></td> 
     284              <td><b>Name</b></td> 
     285              <td><b>Description</b></td> 
     286              <td><b>Unit</b></td> 
     287              <td><b>Reference</b></td> 
     288              <td><b>Options</b></td> 
     289              <td><b>Type</b></td> 
     290            </tr> 
     291            <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e"> 
     292              <g:if test="${(studyInstance.events.eventDescription.contains(e))}" > 
     293                <tr> 
     294                  <td>${e.name} </td></tr><tr> 
     295                <g:each in="${e.protocol.parameters}" var="p"> 
     296                  <td></td> 
     297                  <td>${p.name}</td> 
     298                  <td>${p.description}</td> 
     299                  <td>${p.unit}</td> 
     300                  <td>${p.reference}</td> 
     301                  <g:if test="${(p.listEntries.size()==0)}" > 
     302                    <td>-</td> 
     303                  </g:if> 
     304                  <g:else> 
     305                    <td>${p.listEntries}</td> 
     306                  </g:else> 
     307                  <td>${p.type}</td> 
     308                  </tr> 
     309                </g:each> 
     310              </g:if> 
     311            </g:each> 
     312 
     313            <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e"> 
     314              <g:if test="${(studyInstance.samplingEvents.eventDescription.contains(e))}" > 
     315                <tr> 
     316                  <td>${e.name} </td></tr><tr> 
     317                <g:each in="${e.protocol.parameters}" var="p"> 
     318                  <td></td> 
     319                  <td>${p.name}</td> 
     320                  <td>${p.description}</td> 
     321                  <td>${p.unit}</td> 
     322                  <td>${p.reference}</td> 
     323                  <g:if test="${(p.listEntries.size()==0)}" > 
     324                    <td>-</td> 
     325                  </g:if> 
     326                  <g:else> 
     327                    <td>${p.listEntries}</td> 
     328                  </g:else> 
     329                  <td>${p.type}</td> 
     330                  </tr> 
     331                </g:each> 
     332              </g:if> 
     333            </g:each> 
     334 
     335          </table> 
     336 
     337          <g:form controller="eventDescription" action="create"> 
     338            <INPUT TYPE=submit name=submit Value="New Event Description"> 
     339          </g:form> 
     340 
     341        </div> 
     342 
     343        <div id="event-group"> 
     344          <table> 
     345            <tr> 
     346              <td><b>Name</b></td> 
     347              <td><b>Events</b></td> 
     348              <td><b>Subjects</b></td> 
     349            </tr> 
     350            <g:each in="${studyInstance.eventGroups}" var="eventGroup"> 
     351            <tr> 
     352              <td>${eventGroup.name}</td> 
     353              <td>${eventGroup.events}</td> 
     354              <td>${eventGroup.subjects.name}</td> 
    274355          </tr> 
    275           <tr> 
    276             <td><b></b></td> 
    277             <td><b>Name</b></td> 
    278             <td><b>Description</b></td> 
    279             <td><b>Unit</b></td> 
    280             <td><b>Reference</b></td> 
    281             <td><b>Options</b></td> 
    282             <td><b>Type</b></td> 
    283           </tr> 
    284           <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e"> 
    285           <g:if test="${(studyInstance.events.eventDescription.contains(e))}" > 
    286             <tr> 
    287               <td>${e.name} </td></tr><tr> 
    288             <g:each in="${e.protocol.parameters}" var="p"> 
    289               <td></td> 
    290           <td>${p.name}</td> 
    291           <td>${p.description}</td> 
    292           <td>${p.unit}</td> 
    293           <td>${p.reference}</td> 
    294           <g:if test="${(p.listEntries.size()==0)}" > 
    295           <td>-</td> 
    296             </g:if> 
    297           <g:else> 
    298           <td>${p.listEntries}</td> 
    299           </g:else> 
    300           <td>${p.type}</td> 
    301             </tr> 
    302             </g:each> 
    303             </g:if> 
    304             </g:each> 
    305  
    306            <g:each in="${dbnp.studycapturing.EventDescription.list()}" var="e"> 
    307           <g:if test="${(studyInstance.samplingEvents.eventDescription.contains(e))}" > 
    308             <tr> 
    309               <td>${e.name} </td></tr><tr> 
    310             <g:each in="${e.protocol.parameters}" var="p"> 
    311               <td></td> 
    312           <td>${p.name}</td> 
    313           <td>${p.description}</td> 
    314           <td>${p.unit}</td> 
    315           <td>${p.reference}</td> 
    316           <g:if test="${(p.listEntries.size()==0)}" > 
    317           <td>-</td> 
    318             </g:if> 
    319           <g:else> 
    320           <td>${p.listEntries}</td> 
    321           </g:else> 
    322           <td>${p.type}</td> 
    323             </tr> 
    324             </g:each> 
    325             </g:if> 
    326             </g:each> 
    327  
     356            </g:each> 
    328357          </table> 
    329358 
    330         <g:form controller="eventDescription" action="create"> 
    331          <INPUT TYPE=submit name=submit Value="New Event Description"> 
    332     </g:form> 
     359        </div> 
     360 
     361        <div id="assays"> 
     362          <g:if test="${studyInstance.assays.size()==0}"> 
     363            No assays in this study 
     364          </g:if> 
     365          <g:else> 
     366            <table> 
     367              <tr> 
     368                <td width="100"><b>Assay Name</b></td> 
     369                <td width="100"><b>Module</b></td> 
     370                <td><b>Type</b></td> 
     371                <td width="150"><b>Platform</b></td> 
     372                <td><b>Url</b></td> 
     373                <td><b>Samples</b></td> 
     374              </tr> 
     375              <g:each in="${studyInstance.assays}" var="assay"> 
     376                <tr> 
     377                  <td>${assay.name}</td> 
     378                  <td>${assay.module.name}</td> 
     379                  <td>${assay.module.type}</td> 
     380                  <td>${assay.module.platform}</td> 
     381                  <td>${assay.module.url}</td> 
     382                  <td> 
     383                <g:each in="${assay.samples}" var="assaySample"> 
     384${assaySample.name}<br> 
     385                </g:each> 
     386                </td> 
     387                </tr> 
     388              </g:each> 
     389 
     390            </table> 
     391          </g:else> 
     392        </div> 
    333393 
    334394      </div> 
    335  
    336         <div id="event-group"> 
    337         </div> 
    338  
    339         <div id="assays"> 
    340         <g:if test="${studyInstance.assays.size()==0}"> 
    341           No assays in this study 
    342         </g:if> 
    343         <g:else> 
    344           <table> 
    345             <tr> 
    346               <td width="100"><b>Assay Name</b></td> 
    347               <td width="100"><b>Module</b></td> 
    348               <td><b>Type</b></td> 
    349               <td width="150"><b>Platform</b></td> 
    350               <td><b>Url</b></td> 
    351               <td><b>Samples</b></td> 
    352             </tr> 
    353           <g:each in="${studyInstance.assays}" var="assay"> 
    354             <tr> 
    355             <td>${assay.name}</td> 
    356             <td>${assay.module.name}</td> 
    357             <td>${assay.module.type}</td> 
    358             <td>${assay.module.platform}</td> 
    359             <td>${assay.module.url}</td> 
    360             <td> 
    361               <g:each in="${assay.samples}" var="assaySample"> 
    362                 ${assaySample.name}<br> 
    363               </g:each> 
    364             </td> 
    365             </tr> 
    366           </g:each> 
    367  
    368           </table> 
    369         </g:else> 
    370       </div> 
    371  
     395    </div> 
     396    <br> 
     397    <div class="buttons"> 
     398      <g:form> 
     399        <g:hiddenField name="id" value="${studyInstance?.id}" /> 
     400        <span class="button"><g:actionSubmit class="edit" action="edit" value="${message(code: 'default.button.edit.label', default: 'Edit')}" /></span> 
     401        <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> 
     402      </g:form> 
     403    </div> 
    372404  </div> 
    373     </div> 
    374   <br> 
    375   <div class="buttons"> 
    376     <g:form> 
    377       <g:hiddenField name="id" value="${studyInstance?.id}" /> 
    378       <span class="button"><g:actionSubmit class="edit" action="edit" value="${message(code: 'default.button.edit.label', default: 'Edit')}" /></span> 
    379       <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> 
    380     </g:form> 
    381   </div> 
    382 </div> 
    383405</div> 
    384406</body>