www/views/physicalbioassays/view_bioassay.jsp

Code
Comments
Other
Rev Date Author Line
1806 23 Jan 06 nicklas 1 <%-- $Id$
1806 23 Jan 06 nicklas 2   ------------------------------------------------------------------
4889 06 Apr 09 nicklas 3   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Martin Svensson
1806 23 Jan 06 nicklas 5
2304 22 May 06 jari 6   This file is part of BASE - BioArray Software Environment.
2304 22 May 06 jari 7   Available at http://base.thep.lu.se/
1806 23 Jan 06 nicklas 8
1806 23 Jan 06 nicklas 9   BASE is free software; you can redistribute it and/or
1806 23 Jan 06 nicklas 10   modify it under the terms of the GNU General Public License
4476 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
1806 23 Jan 06 nicklas 12   of the License, or (at your option) any later version.
1806 23 Jan 06 nicklas 13
1806 23 Jan 06 nicklas 14   BASE is distributed in the hope that it will be useful,
1806 23 Jan 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1806 23 Jan 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1806 23 Jan 06 nicklas 17   GNU General Public License for more details.
1806 23 Jan 06 nicklas 18
1806 23 Jan 06 nicklas 19   You should have received a copy of the GNU General Public License
4511 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
1806 23 Jan 06 nicklas 21   ------------------------------------------------------------------
1806 23 Jan 06 nicklas 22
1806 23 Jan 06 nicklas 23   @author Nicklas
1806 23 Jan 06 nicklas 24   @version 2.0
1806 23 Jan 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1806 23 Jan 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
1806 23 Jan 06 nicklas 28   import="net.sf.basedb.core.DbControl"
1806 23 Jan 06 nicklas 29   import="net.sf.basedb.core.SystemItems"
1806 23 Jan 06 nicklas 30   import="net.sf.basedb.core.Item"
1806 23 Jan 06 nicklas 31   import="net.sf.basedb.core.ItemContext"
1806 23 Jan 06 nicklas 32   import="net.sf.basedb.core.Permission"
1811 24 Jan 06 nicklas 33   import="net.sf.basedb.core.AnnotationType"
1811 24 Jan 06 nicklas 34   import="net.sf.basedb.core.AnnotationSet"
5642 26 May 11 nicklas 35   import="net.sf.basedb.core.PhysicalBioAssay"
1806 23 Jan 06 nicklas 36   import="net.sf.basedb.core.ArraySlide"
5664 23 Jun 11 nicklas 37   import="net.sf.basedb.core.BioMaterial"
1806 23 Jan 06 nicklas 38   import="net.sf.basedb.core.BioMaterialEvent"
5662 20 Jun 11 nicklas 39   import="net.sf.basedb.core.BioMaterialEventSource"
1806 23 Jan 06 nicklas 40   import="net.sf.basedb.core.Protocol"
6053 03 May 12 nicklas 41   import="net.sf.basedb.core.ItemSubtype"
5685 04 Aug 11 nicklas 42   import="net.sf.basedb.core.DerivedBioAssay"
3547 03 Jul 07 martin 43   import="net.sf.basedb.core.Group"
2411 22 Jun 06 nicklas 44   import="net.sf.basedb.core.Hardware"
1806 23 Jan 06 nicklas 45   import="net.sf.basedb.core.User"
5641 25 May 11 nicklas 46   import="net.sf.basedb.core.Extract"
5641 25 May 11 nicklas 47   import="net.sf.basedb.core.Tag"
3547 03 Jul 07 martin 48   import="net.sf.basedb.core.MultiPermissions"
1808 23 Jan 06 nicklas 49   import="net.sf.basedb.core.ItemQuery"
5664 23 Jun 11 nicklas 50   import="net.sf.basedb.core.SpecialQuery"
1808 23 Jan 06 nicklas 51   import="net.sf.basedb.core.Include"
1808 23 Jan 06 nicklas 52   import="net.sf.basedb.core.ItemResultList"
1806 23 Jan 06 nicklas 53   import="net.sf.basedb.core.PermissionDeniedException"
1806 23 Jan 06 nicklas 54   import="net.sf.basedb.core.PluginDefinition"
1806 23 Jan 06 nicklas 55   import="net.sf.basedb.core.plugin.GuiContext"
1806 23 Jan 06 nicklas 56   import="net.sf.basedb.core.plugin.Plugin"
3547 03 Jul 07 martin 57   import="net.sf.basedb.core.Project"
1808 23 Jan 06 nicklas 58   import="net.sf.basedb.core.query.Orders"
1808 23 Jan 06 nicklas 59   import="net.sf.basedb.core.query.Hql"
5664 23 Jun 11 nicklas 60   import="net.sf.basedb.core.query.ResultList"
1806 23 Jan 06 nicklas 61   import="net.sf.basedb.clients.web.Base"
5064 19 Aug 09 nicklas 62   import="net.sf.basedb.clients.web.ChangeHistoryUtil"
2386 15 Jun 06 martin 63   import="net.sf.basedb.clients.web.PermissionUtil"
1806 23 Jan 06 nicklas 64   import="net.sf.basedb.clients.web.util.HTML"
2753 20 Oct 06 nicklas 65   import="net.sf.basedb.util.Values"
2942 22 Nov 06 nicklas 66   import="net.sf.basedb.util.formatter.Formatter"
2942 22 Nov 06 nicklas 67   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
6268 11 Apr 13 nicklas 68   import="net.sf.basedb.clients.web.formatter.FormatterSettings"
4879 03 Apr 09 nicklas 69   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4879 03 Apr 09 nicklas 70   import="net.sf.basedb.clients.web.extensions.JspContext"
4879 03 Apr 09 nicklas 71   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 72   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4879 03 Apr 09 nicklas 73   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
4879 03 Apr 09 nicklas 74   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
3547 03 Jul 07 martin 75   import="java.util.Collections"
1806 23 Jan 06 nicklas 76   import="java.util.Date"
1806 23 Jan 06 nicklas 77   import="java.util.Map"
1806 23 Jan 06 nicklas 78   import="java.util.Set"
1811 24 Jan 06 nicklas 79   import="java.util.List"
1806 23 Jan 06 nicklas 80 %>
1806 23 Jan 06 nicklas 81 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1806 23 Jan 06 nicklas 82 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
1806 23 Jan 06 nicklas 83 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
1858 30 Jan 06 nicklas 84 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4879 03 Apr 09 nicklas 85 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
1806 23 Jan 06 nicklas 86 <%!
5642 26 May 11 nicklas 87   private static final Item itemType = Item.PHYSICALBIOASSAY;
1806 23 Jan 06 nicklas 88   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.ITEM);
1806 23 Jan 06 nicklas 89 %>
1806 23 Jan 06 nicklas 90 <%
1806 23 Jan 06 nicklas 91 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
1806 23 Jan 06 nicklas 92 final String ID = sc.getId();
1806 23 Jan 06 nicklas 93 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
1806 23 Jan 06 nicklas 94 final int itemId = cc.getId();
1858 30 Jan 06 nicklas 95 final String tab = Values.getString(request.getParameter("tab"), "properties");
1806 23 Jan 06 nicklas 96 final float scale = Base.getScale(sc);
7954 12 May 21 nicklas 97 final DbControl dc = sc.newDbControl(":View "+itemType);
1806 23 Jan 06 nicklas 98 try
1806 23 Jan 06 nicklas 99 {
2942 22 Nov 06 nicklas 100   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
6268 11 Apr 13 nicklas 101   Formatter<Number> numberFormatter = FormatterFactory.getNumberFormatter(sc);
1806 23 Jan 06 nicklas 102   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
1806 23 Jan 06 nicklas 103
1806 23 Jan 06 nicklas 104   String title = null;
5642 26 May 11 nicklas 105   PhysicalBioAssay pba = PhysicalBioAssay.getById(dc, itemId);
5642 26 May 11 nicklas 106   BioMaterialEvent creationEvent = pba.getCreationEvent();
1806 23 Jan 06 nicklas 107   
5642 26 May 11 nicklas 108   final boolean usePermission = pba.hasPermission(Permission.USE);
5642 26 May 11 nicklas 109   final boolean writePermission = pba.hasPermission(Permission.WRITE);
5642 26 May 11 nicklas 110   final boolean deletePermission = pba.hasPermission(Permission.DELETE);
5642 26 May 11 nicklas 111   final boolean sharePermission = pba.hasPermission(Permission.SET_PERMISSION);
5642 26 May 11 nicklas 112   final boolean setOwnerPermission = pba.hasPermission(Permission.SET_OWNER);
5642 26 May 11 nicklas 113   final boolean isRemoved = pba.isRemoved();
5642 26 May 11 nicklas 114   final boolean isUsed = isRemoved && pba.isUsed();
4003 26 Nov 07 nicklas 115   final boolean deletePermanentlyPermission = deletePermission && !isUsed;
5642 26 May 11 nicklas 116   final boolean isOwner = pba.isOwner();
5642 26 May 11 nicklas 117   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, pba);
7604 25 Feb 19 nicklas 118   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
1806 23 Jan 06 nicklas 119   %>
6311 23 Aug 13 nicklas 120   <base:page title="<%=title%>" id="view-page">
6311 23 Aug 13 nicklas 121   <base:head scripts="table.js,tabcontrol-2.js,~bioassays.js" styles="toolbar.css,table.css,headertabcontrol.css,path.css">
4879 03 Apr 09 nicklas 122     <ext:scripts context="<%=jspContext%>" />
4879 03 Apr 09 nicklas 123     <ext:stylesheets context="<%=jspContext%>" />
1806 23 Jan 06 nicklas 124   </base:head>
1806 23 Jan 06 nicklas 125   <base:body>
5939 30 Jan 12 nicklas 126     <p:path><p:pathelement 
5939 30 Jan 12 nicklas 127       title="Physical bioassays" href="<%="index.jsp?ID="+ID%>" 
5939 30 Jan 12 nicklas 128       /><p:pathelement title="<%=HTML.encodeTags(pba.getName())%>" 
5939 30 Jan 12 nicklas 129       /></p:path>
6311 23 Aug 13 nicklas 130     <div id="page-data" data-item-id="<%=itemId%>"></div>
6311 23 Aug 13 nicklas 131
5939 30 Jan 12 nicklas 132     <t:tabcontrol 
5939 30 Jan 12 nicklas 133       id="main" 
5939 30 Jan 12 nicklas 134       subclass="content mastertabcontrol" 
6244 25 Feb 13 nicklas 135       active="<%=tab%>">
1858 30 Jan 06 nicklas 136     <t:tab id="properties" title="Properties">
5939 30 Jan 12 nicklas 137       <div>
5939 30 Jan 12 nicklas 138       <table class="fullform bottomborder">
5939 30 Jan 12 nicklas 139       <tr>
5939 30 Jan 12 nicklas 140         <th class="itemstatus">
4003 26 Nov 07 nicklas 141           <base:icon 
5946 03 Feb 12 nicklas 142             image="shared.png" 
5939 30 Jan 12 nicklas 143             visible="<%=pba.isShared()%>"
5939 30 Jan 12 nicklas 144             tooltip="This item is shared to other users, groups and/or projects"
5939 30 Jan 12 nicklas 145           />
5939 30 Jan 12 nicklas 146           <base:icon 
6311 23 Aug 13 nicklas 147             id="btnDeletePermanently"
5946 03 Feb 12 nicklas 148             image="deleted.png"
5939 30 Jan 12 nicklas 149             tooltip="This item has been flagged for deletion. Click to delete it now."
5939 30 Jan 12 nicklas 150             enabled="<%=deletePermanentlyPermission %>"
5939 30 Jan 12 nicklas 151             visible="<%=isRemoved%>" 
5939 30 Jan 12 nicklas 152           />
6311 23 Aug 13 nicklas 153           <base:icon 
6311 23 Aug 13 nicklas 154             id="btnUsingItems"
6311 23 Aug 13 nicklas 155             image="used.png" 
5939 30 Jan 12 nicklas 156             tooltip="This item is used by other items and can't be permanently deleted. Show the items that are using this one"
5939 30 Jan 12 nicklas 157             visible="<%=isRemoved && isUsed%>" />
5939 30 Jan 12 nicklas 158         </th>
5939 30 Jan 12 nicklas 159         <td style="padding: 0px;">
6605 18 Nov 14 nicklas 160           <tbl:toolbar subclass="bottomborder bg-filled-50">
5939 30 Jan 12 nicklas 161             <tbl:button 
6311 23 Aug 13 nicklas 162               id="btnEdit"
5942 01 Feb 12 nicklas 163               disabled="<%=!writePermission%>" 
5945 02 Feb 12 nicklas 164               image="edit.png" 
5939 30 Jan 12 nicklas 165               title="Edit&hellip;" 
5939 30 Jan 12 nicklas 166               tooltip="<%=writePermission ? "Edit this physical bioassay" : "You do not have permission to edit this physical bioassay"%>" 
5939 30 Jan 12 nicklas 167             />
5939 30 Jan 12 nicklas 168             <tbl:button 
6311 23 Aug 13 nicklas 169               id="btnDelete"
5942 01 Feb 12 nicklas 170               disabled="<%=!deletePermission%>" 
5946 03 Feb 12 nicklas 171               image="delete.png" 
5939 30 Jan 12 nicklas 172               title="Delete"
5939 30 Jan 12 nicklas 173               visible="<%=!pba.isRemoved()%>"
5939 30 Jan 12 nicklas 174               tooltip="<%=deletePermission ? "Delete this physical bioassay" : "You do not have permission to delete this physical bioassay"%>" 
5939 30 Jan 12 nicklas 175             />
5939 30 Jan 12 nicklas 176             <tbl:button 
6311 23 Aug 13 nicklas 177               id="btnRestore"
5942 01 Feb 12 nicklas 178               disabled="<%=!writePermission%>" 
5946 03 Feb 12 nicklas 179               image="restore.png" 
5939 30 Jan 12 nicklas 180               title="Restore"
5939 30 Jan 12 nicklas 181               visible="<%=pba.isRemoved()%>"
5939 30 Jan 12 nicklas 182               tooltip="<%=writePermission ? "Restore this physical bioassay" : "You do not have permission to restore this physical bioassay"%>" 
5939 30 Jan 12 nicklas 183             />
5939 30 Jan 12 nicklas 184             <tbl:button 
6311 23 Aug 13 nicklas 185               id="btnShare"
5942 01 Feb 12 nicklas 186               disabled="<%=!sharePermission%>"
5945 02 Feb 12 nicklas 187               image="share.png"
5939 30 Jan 12 nicklas 188               title="Share&hellip;" 
5939 30 Jan 12 nicklas 189               tooltip="<%=sharePermission ? "Share this physical bioassay to other user, groups and projects" : "You do not have permission to share this physical bioassay"%>"
5939 30 Jan 12 nicklas 190             />
5939 30 Jan 12 nicklas 191             <tbl:button 
6311 23 Aug 13 nicklas 192               id="btnSetOwner"
5942 01 Feb 12 nicklas 193               disabled="<%=!setOwnerPermission%>"
5939 30 Jan 12 nicklas 194               image="take_ownership.png"
5939 30 Jan 12 nicklas 195               title="Set owner&hellip;"
5939 30 Jan 12 nicklas 196               tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
5939 30 Jan 12 nicklas 197             />
5939 30 Jan 12 nicklas 198             <tbl:button
6311 23 Aug 13 nicklas 199               id="btnNewDerivedBioAssay"
5939 30 Jan 12 nicklas 200               image="add.png"
5939 30 Jan 12 nicklas 201               title="New derived bioassay&hellip;"
5939 30 Jan 12 nicklas 202               tooltip="Create a derived bioassay from this bioassay"
5939 30 Jan 12 nicklas 203               visible="<%=sc.hasPermission(Permission.CREATE, Item.DERIVEDBIOASSAY) && usePermission%>"
5939 30 Jan 12 nicklas 204             />
5939 30 Jan 12 nicklas 205             <tbl:button 
6311 23 Aug 13 nicklas 206               id="btnImport"
5946 03 Feb 12 nicklas 207               image="import.png" 
6311 23 Aug 13 nicklas 208               data-plugin-type="IMPORT"  
5939 30 Jan 12 nicklas 209               title="Import&hellip;" 
5939 30 Jan 12 nicklas 210               tooltip="Import data" 
5939 30 Jan 12 nicklas 211               visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5939 30 Jan 12 nicklas 212             />
5939 30 Jan 12 nicklas 213             <tbl:button 
6311 23 Aug 13 nicklas 214               id="btnExport"
6311 23 Aug 13 nicklas 215               image="export.png"
6311 23 Aug 13 nicklas 216               data-plugin-type="EXPORT" 
5939 30 Jan 12 nicklas 217               title="Export&hellip;" 
5939 30 Jan 12 nicklas 218               tooltip="Export data" 
5939 30 Jan 12 nicklas 219               visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5939 30 Jan 12 nicklas 220             />
5939 30 Jan 12 nicklas 221             <tbl:button 
6311 23 Aug 13 nicklas 222               id="btnRunPlugin"
6311 23 Aug 13 nicklas 223               image="runplugin.png"  
6311 23 Aug 13 nicklas 224               data-plugin-type="OTHER" 
5939 30 Jan 12 nicklas 225               title="Run plugin&hellip;" 
5939 30 Jan 12 nicklas 226               tooltip="Run a plugin" 
5939 30 Jan 12 nicklas 227               visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5939 30 Jan 12 nicklas 228             />
5939 30 Jan 12 nicklas 229             <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 230               wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5939 30 Jan 12 nicklas 231             <tbl:button
5939 30 Jan 12 nicklas 232               image="help.png"
6311 23 Aug 13 nicklas 233               subclass="auto-init"
6311 23 Aug 13 nicklas 234               data-auto-init="help"
6311 23 Aug 13 nicklas 235               data-help-id="physicalbioassay.view.properties"
5939 30 Jan 12 nicklas 236               title="Help&hellip;"
5939 30 Jan 12 nicklas 237               tooltip="Get help about this page"
5939 30 Jan 12 nicklas 238             />
5939 30 Jan 12 nicklas 239           </tbl:toolbar>
5939 30 Jan 12 nicklas 240         </td>
5939 30 Jan 12 nicklas 241       </tr>
1806 23 Jan 06 nicklas 242       <tr>
5939 30 Jan 12 nicklas 243         <th>Name</th>
5642 26 May 11 nicklas 244         <td><%=HTML.encodeTags(pba.getName())%></td>
1806 23 Jan 06 nicklas 245       </tr>
1806 23 Jan 06 nicklas 246       <tr>
5939 30 Jan 12 nicklas 247         <th>Type</th>
5649 30 May 11 nicklas 248         <td><base:propertyvalue item="<%=pba%>" property="itemSubtype" /></td>
5649 30 May 11 nicklas 249       </tr>
5649 30 May 11 nicklas 250       <tr>
5939 30 Jan 12 nicklas 251         <th>Size</th>
5642 26 May 11 nicklas 252         <td><%=pba.getSize()%></td>
4131 08 Feb 08 nicklas 253       </tr>
4131 08 Feb 08 nicklas 254       <tr>
5939 30 Jan 12 nicklas 255         <th>Array slide</th>
5642 26 May 11 nicklas 256         <td><base:propertyvalue item="<%=pba%>" property="arraySlide" /></td>
1806 23 Jan 06 nicklas 257       </tr>
1806 23 Jan 06 nicklas 258       <tr>
5939 30 Jan 12 nicklas 259         <th class="subprompt">-barcode</th>
5642 26 May 11 nicklas 260         <td><base:propertyvalue item="<%=pba%>" property="arraySlide.barcode" /></td>
4627 05 Nov 08 nicklas 261       </tr>
4627 05 Nov 08 nicklas 262       <tr>
5939 30 Jan 12 nicklas 263         <th>Created</th>
2942 22 Nov 06 nicklas 264         <td><%=dateFormatter.format(creationEvent.getEventDate())%></td>
1806 23 Jan 06 nicklas 265       </tr>
1806 23 Jan 06 nicklas 266       <tr>
5939 30 Jan 12 nicklas 267         <th>Registered</th>
2942 22 Nov 06 nicklas 268         <td><%=dateFormatter.format(creationEvent.getEntryDate())%></td>
1806 23 Jan 06 nicklas 269       </tr>
1806 23 Jan 06 nicklas 270       <tr>
5939 30 Jan 12 nicklas 271         <th>Protocol</th>
2478 02 Aug 06 martin 272         <td><base:propertyvalue item="<%=creationEvent%>" property="protocol" /></td>
1806 23 Jan 06 nicklas 273       </tr>
1806 23 Jan 06 nicklas 274       <tr>
5939 30 Jan 12 nicklas 275         <th>Hardware</th>
2484 03 Aug 06 martin 276         <td><base:propertyvalue item="<%=creationEvent%>" property="hardware" /></td>
2484 03 Aug 06 martin 277       </tr>
2484 03 Aug 06 martin 278       <tr>
6994 03 Nov 15 nicklas 279         <th>Kit</th>
6994 03 Nov 15 nicklas 280         <td><base:propertyvalue item="<%=creationEvent%>" property="kit" /></td>
6994 03 Nov 15 nicklas 281       </tr>
6994 03 Nov 15 nicklas 282       <tr>
5939 30 Jan 12 nicklas 283         <th>Owner</th>
5642 26 May 11 nicklas 284         <td><base:propertyvalue item="<%=pba%>" property="owner" /></td>
1806 23 Jan 06 nicklas 285       </tr>
1806 23 Jan 06 nicklas 286       <tr>
5939 30 Jan 12 nicklas 287         <th>Permissions</th>
5939 30 Jan 12 nicklas 288         <td><%=PermissionUtil.getFullPermissionNames(pba)%></td>
5939 30 Jan 12 nicklas 289       </tr>
5939 30 Jan 12 nicklas 290       <tr>
5939 30 Jan 12 nicklas 291         <th>Description</th>
5642 26 May 11 nicklas 292         <td><%=HTML.niceFormat(pba.getDescription())%></td>
1806 23 Jan 06 nicklas 293       </tr>
1806 23 Jan 06 nicklas 294       </table>
5939 30 Jan 12 nicklas 295       </div>
1806 23 Jan 06 nicklas 296       
1811 24 Jan 06 nicklas 297       <%
5664 23 Jun 11 nicklas 298       SpecialQuery<BioMaterialEventSource> sourceQuery = creationEvent.getEventSources();
5664 23 Jun 11 nicklas 299       sourceQuery.order(Orders.asc(Hql.property("position")));
5664 23 Jun 11 nicklas 300       sourceQuery.order(Orders.asc(Hql.property("bioMaterial.name")));
5664 23 Jun 11 nicklas 301       ResultList<BioMaterialEventSource> sources = sourceQuery.list(dc);
5939 30 Jan 12 nicklas 302       %>
5939 30 Jan 12 nicklas 303       <base:section
5939 30 Jan 12 nicklas 304         id="extractSection"
5939 30 Jan 12 nicklas 305         title="<%="Extracts (" + sources.size() + ")"%>"
5939 30 Jan 12 nicklas 306         context="<%=cc%>"
5939 30 Jan 12 nicklas 307         >
1808 23 Jan 06 nicklas 308         <%
5939 30 Jan 12 nicklas 309         if (sources.size() == 0)
5939 30 Jan 12 nicklas 310         {
5939 30 Jan 12 nicklas 311           %>
5939 30 Jan 12 nicklas 312           <div class="messagecontainer note">
5939 30 Jan 12 nicklas 313           No extracts has been added to this physical bioassay
5939 30 Jan 12 nicklas 314           (or, you don't have permission to view them).
5939 30 Jan 12 nicklas 315           </div>
5939 30 Jan 12 nicklas 316           <%
5939 30 Jan 12 nicklas 317         }
5939 30 Jan 12 nicklas 318         else
5939 30 Jan 12 nicklas 319         {
5939 30 Jan 12 nicklas 320           %>
5045 12 Aug 09 martin 321           <tbl:table
5642 26 May 11 nicklas 322             id="extracts"
5045 12 Aug 09 martin 323             columns="all"
5045 12 Aug 09 martin 324             >
5939 30 Jan 12 nicklas 325             <tbl:columndef 
5939 30 Jan 12 nicklas 326               id="position"
5939 30 Jan 12 nicklas 327               title="Position"
5939 30 Jan 12 nicklas 328               show="<%=pba.getSize() > 1 ? "always" : "never"%>"
5939 30 Jan 12 nicklas 329             />
5939 30 Jan 12 nicklas 330             <tbl:columndef 
5939 30 Jan 12 nicklas 331               id="name"
5939 30 Jan 12 nicklas 332               title="Name"
5939 30 Jan 12 nicklas 333             />
5939 30 Jan 12 nicklas 334             <tbl:columndef 
6053 03 May 12 nicklas 335               id="type"
6053 03 May 12 nicklas 336               title="Type"
6053 03 May 12 nicklas 337             />
6053 03 May 12 nicklas 338             <tbl:columndef 
5939 30 Jan 12 nicklas 339               id="tag"
5939 30 Jan 12 nicklas 340               title="Tag"
5939 30 Jan 12 nicklas 341             />
5939 30 Jan 12 nicklas 342             <tbl:columndef 
5939 30 Jan 12 nicklas 343               id="quantity"
5939 30 Jan 12 nicklas 344               title="Used quantity (µg)"
5939 30 Jan 12 nicklas 345             />
5939 30 Jan 12 nicklas 346             <tbl:columndef 
5939 30 Jan 12 nicklas 347               id="description"
5939 30 Jan 12 nicklas 348               title="Description"
5939 30 Jan 12 nicklas 349             />
5939 30 Jan 12 nicklas 350             <tbl:data>
5939 30 Jan 12 nicklas 351               <tbl:headers>
5939 30 Jan 12 nicklas 352                 <tbl:headerrow>
5939 30 Jan 12 nicklas 353                   <tbl:columnheaders />
5939 30 Jan 12 nicklas 354                 </tbl:headerrow>
5939 30 Jan 12 nicklas 355               </tbl:headers>
5939 30 Jan 12 nicklas 356               <tbl:rows>
5939 30 Jan 12 nicklas 357               <%
5939 30 Jan 12 nicklas 358               for (BioMaterialEventSource item : sources)
5664 23 Jun 11 nicklas 359               {
5939 30 Jan 12 nicklas 360                 BioMaterial bm = null;
6053 03 May 12 nicklas 361                 ItemSubtype subtype = null;
5939 30 Jan 12 nicklas 362                 try
5939 30 Jan 12 nicklas 363                 {
5939 30 Jan 12 nicklas 364                   bm = item.getBioMaterial();
6053 03 May 12 nicklas 365                   subtype = bm.getItemSubtype();
5939 30 Jan 12 nicklas 366                 }
5939 30 Jan 12 nicklas 367                 catch (PermissionDeniedException ex)
5939 30 Jan 12 nicklas 368                 {}
5939 30 Jan 12 nicklas 369                 %>
5939 30 Jan 12 nicklas 370                 <tbl:row>
5939 30 Jan 12 nicklas 371                   <tbl:cell column="position"><%=item.getPosition()%></tbl:cell>
5939 30 Jan 12 nicklas 372                   <tbl:cell column="name"><base:icon 
5946 03 Feb 12 nicklas 373                       image="deleted.png" 
5939 30 Jan 12 nicklas 374                       tooltip="This item has been scheduled for deletion" 
5939 30 Jan 12 nicklas 375                       visible="<%=bm != null && bm.isRemoved()%>"
5939 30 Jan 12 nicklas 376                     /><%=Base.getLinkedName(ID, bm, bm == null, true)%></tbl:cell>
6053 03 May 12 nicklas 377                   <tbl:cell column="type">
6053 03 May 12 nicklas 378                     <%
6053 03 May 12 nicklas 379                     if (subtype != null)
6053 03 May 12 nicklas 380                     {
6053 03 May 12 nicklas 381                       %>
6053 03 May 12 nicklas 382                       <%=Base.getLinkedName(ID, subtype, false, true)%> <span class="itemsubtype">(<%=bm.getType() %>)</span>
6053 03 May 12 nicklas 383                       <%
6053 03 May 12 nicklas 384                     }
6053 03 May 12 nicklas 385                     else
6053 03 May 12 nicklas 386                     {
6053 03 May 12 nicklas 387                       %>
6053 03 May 12 nicklas 388                       <%=bm != null ? bm.getType() : "" %>
6053 03 May 12 nicklas 389                       <%
6053 03 May 12 nicklas 390                     }
6053 03 May 12 nicklas 391                     %>
6053 03 May 12 nicklas 392                   </tbl:cell>
5939 30 Jan 12 nicklas 393                   <tbl:cell column="tag" visible="<%=bm != null && bm.getType() == Item.EXTRACT%>"><base:propertyvalue item="<%=bm%>" property="tag" /></tbl:cell>
6268 11 Apr 13 nicklas 394                   <tbl:cell column="quantity"><%=numberFormatter.format(item.getUsedQuantity())%></tbl:cell>
5939 30 Jan 12 nicklas 395                   <tbl:cell column="description"><%=HTML.encodeTags(bm == null ? "" : bm.getDescription())%></tbl:cell>
5939 30 Jan 12 nicklas 396                 </tbl:row>
5939 30 Jan 12 nicklas 397                 <%
5664 23 Jun 11 nicklas 398               }
5045 12 Aug 09 martin 399               %>
5939 30 Jan 12 nicklas 400               </tbl:rows>
5939 30 Jan 12 nicklas 401             </tbl:data>
5045 12 Aug 09 martin 402           </tbl:table>
5939 30 Jan 12 nicklas 403           <%
5939 30 Jan 12 nicklas 404         }
5939 30 Jan 12 nicklas 405         %>
5939 30 Jan 12 nicklas 406       </base:section>
2411 22 Jun 06 nicklas 407       <%
5685 04 Aug 11 nicklas 408       ItemQuery<DerivedBioAssay> childQuery = pba.getRootDerivedBioAssays();
5657 16 Jun 11 nicklas 409       childQuery.include(Include.ALL);
5657 16 Jun 11 nicklas 410       childQuery.order(Orders.asc(Hql.property("name")));
5685 04 Aug 11 nicklas 411       ItemResultList<DerivedBioAssay> children = childQuery.list(dc);
5939 30 Jan 12 nicklas 412       %>
5939 30 Jan 12 nicklas 413       <base:section 
5939 30 Jan 12 nicklas 414         id="children"
5939 30 Jan 12 nicklas 415         title="<%="Derived bioassays (" + children.size() + ")"%>"
5939 30 Jan 12 nicklas 416         context="<%=cc%>"
5939 30 Jan 12 nicklas 417         >
2411 22 Jun 06 nicklas 418         <%
5939 30 Jan 12 nicklas 419         if (children.size() == 0)
5939 30 Jan 12 nicklas 420         {
5939 30 Jan 12 nicklas 421           %>
5939 30 Jan 12 nicklas 422           <div class="messagecontainer note">
5939 30 Jan 12 nicklas 423           This bioassay doesn't have any derived bioassays.
5939 30 Jan 12 nicklas 424           </div>
5939 30 Jan 12 nicklas 425           <%
5939 30 Jan 12 nicklas 426         }
5939 30 Jan 12 nicklas 427         else
5939 30 Jan 12 nicklas 428         {
5939 30 Jan 12 nicklas 429           %>
5045 12 Aug 09 martin 430           <tbl:table
6143 20 Sep 12 nicklas 431             id="tbl.children"
5045 12 Aug 09 martin 432             columns="all"
5045 12 Aug 09 martin 433             >
5939 30 Jan 12 nicklas 434             <tbl:columndef 
5939 30 Jan 12 nicklas 435               id="name"
5939 30 Jan 12 nicklas 436               title="Name"
5939 30 Jan 12 nicklas 437             />
5939 30 Jan 12 nicklas 438             <tbl:columndef 
5939 30 Jan 12 nicklas 439               id="itemSubtype"
5939 30 Jan 12 nicklas 440               title="Type"
5939 30 Jan 12 nicklas 441             />
5939 30 Jan 12 nicklas 442             <tbl:columndef 
5939 30 Jan 12 nicklas 443               id="description"
5939 30 Jan 12 nicklas 444               title="Description"
5939 30 Jan 12 nicklas 445             />
5939 30 Jan 12 nicklas 446             <tbl:data>
5939 30 Jan 12 nicklas 447               <tbl:headers>
5939 30 Jan 12 nicklas 448                 <tbl:headerrow>
5939 30 Jan 12 nicklas 449                   <tbl:columnheaders />
5939 30 Jan 12 nicklas 450                 </tbl:headerrow>
5939 30 Jan 12 nicklas 451               </tbl:headers>
5939 30 Jan 12 nicklas 452               <tbl:rows>
5939 30 Jan 12 nicklas 453               <%
5939 30 Jan 12 nicklas 454               for (DerivedBioAssay item : children)
5939 30 Jan 12 nicklas 455               {
5939 30 Jan 12 nicklas 456                 %>
5939 30 Jan 12 nicklas 457                 <tbl:row>
5939 30 Jan 12 nicklas 458                   <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
5939 30 Jan 12 nicklas 459                   <tbl:cell column="itemSubtype"><base:propertyvalue item="<%=item%>" property="itemSubtype" /></tbl:cell>
5939 30 Jan 12 nicklas 460                   <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
5939 30 Jan 12 nicklas 461                 </tbl:row>
5939 30 Jan 12 nicklas 462                 <%
5939 30 Jan 12 nicklas 463               }
5045 12 Aug 09 martin 464               %>
5939 30 Jan 12 nicklas 465               </tbl:rows>
5939 30 Jan 12 nicklas 466             </tbl:data>
5045 12 Aug 09 martin 467           </tbl:table>
5939 30 Jan 12 nicklas 468           <%
5939 30 Jan 12 nicklas 469         }
5939 30 Jan 12 nicklas 470         %>
5939 30 Jan 12 nicklas 471       </base:section>
5502 18 Nov 10 nicklas 472       <jsp:include page="../../common/anytoany/list_anytoany.jsp">
5502 18 Nov 10 nicklas 473         <jsp:param name="ID" value="<%=ID%>" />
5502 18 Nov 10 nicklas 474         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5502 18 Nov 10 nicklas 475         <jsp:param name="item_id" value="<%=itemId%>" />
5642 26 May 11 nicklas 476         <jsp:param name="title" value="Other items related to this physical bioassay" />
5502 18 Nov 10 nicklas 477       </jsp:include>
7813 19 May 20 nicklas 478       <jsp:include page="../../common/itemlists/list_membership.jsp">
7813 19 May 20 nicklas 479         <jsp:param name="ID" value="<%=ID%>" />
7813 19 May 20 nicklas 480         <jsp:param name="item_type" value="<%=itemType.name()%>" />
7813 19 May 20 nicklas 481         <jsp:param name="item_id" value="<%=itemId%>" />
7813 19 May 20 nicklas 482         <jsp:param name="title" value="Item lists where this physical bioassay is a member" />
7813 19 May 20 nicklas 483       </jsp:include>
7813 19 May 20 nicklas 484       
5935 26 Jan 12 nicklas 485       <jsp:include page="../../common/share/list_share.jsp">
5935 26 Jan 12 nicklas 486         <jsp:param name="ID" value="<%=ID%>" />
5935 26 Jan 12 nicklas 487         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5935 26 Jan 12 nicklas 488         <jsp:param name="item_id" value="<%=itemId%>" />
5935 26 Jan 12 nicklas 489         <jsp:param name="title" value="Shared to" />
5935 26 Jan 12 nicklas 490       </jsp:include>
1858 30 Jan 06 nicklas 491       </t:tab>
1858 30 Jan 06 nicklas 492       
2875 08 Nov 06 nicklas 493       <t:tab id="annotations" title="Annotations &amp; parameters" 
6311 23 Aug 13 nicklas 494         tooltip="View annotation values and protocol parameters" clazz="white">
6255 22 Mar 13 nicklas 495         <jsp:include page="../../common/annotations/list_frameset.jsp">
1858 30 Jan 06 nicklas 496           <jsp:param name="item_type" value="<%=itemType.name()%>" />
1858 30 Jan 06 nicklas 497           <jsp:param name="item_id" value="<%=itemId%>" />
1858 30 Jan 06 nicklas 498           <jsp:param name="ID" value="<%=ID%>" />
1858 30 Jan 06 nicklas 499         </jsp:include>
1858 30 Jan 06 nicklas 500       </t:tab>
4745 10 Feb 09 nicklas 501
4745 10 Feb 09 nicklas 502       <t:tab id="overview" title="Overview" 
6311 23 Aug 13 nicklas 503         tooltip="Display a tree overview of related items">
6242 25 Feb 13 nicklas 504         <jsp:include page="../../common/overview/overview.jsp">
6242 25 Feb 13 nicklas 505           <jsp:param name="item_type" value="<%=itemType.name()%>" />
6242 25 Feb 13 nicklas 506           <jsp:param name="item_id" value="<%=itemId%>" />
6242 25 Feb 13 nicklas 507           <jsp:param name="ID" value="<%=ID%>" />
6242 25 Feb 13 nicklas 508         </jsp:include>
4745 10 Feb 09 nicklas 509       </t:tab>
7166 07 Jun 16 nicklas 510       <t:tab id="history" title="History"
7166 07 Jun 16 nicklas 511         tooltip="Displays a log with the history of this item"
6311 23 Aug 13 nicklas 512         visible="<%=ChangeHistoryUtil.showChangeHistoryTab(sc)%>">
6244 25 Feb 13 nicklas 513         <jsp:include page="../../common/history/frameset.jsp">
6244 25 Feb 13 nicklas 514           <jsp:param name="item_type" value="<%=itemType.name()%>" />
6244 25 Feb 13 nicklas 515           <jsp:param name="item_id" value="<%=itemId%>" />
6244 25 Feb 13 nicklas 516           <jsp:param name="ID" value="<%=ID%>" />
6244 25 Feb 13 nicklas 517         </jsp:include>
5064 19 Aug 09 nicklas 518       </t:tab>
1858 30 Jan 06 nicklas 519       </t:tabcontrol>
1806 23 Jan 06 nicklas 520
1806 23 Jan 06 nicklas 521   </base:body>
1806 23 Jan 06 nicklas 522   </base:page>
1806 23 Jan 06 nicklas 523   <%
1806 23 Jan 06 nicklas 524 }
1806 23 Jan 06 nicklas 525 finally
1806 23 Jan 06 nicklas 526 {
1806 23 Jan 06 nicklas 527   if (dc != null) dc.close();
1806 23 Jan 06 nicklas 528 }
1806 23 Jan 06 nicklas 529
1806 23 Jan 06 nicklas 530 %>