www/biomaterials/bioplateeventtypes/view_eventtype.jsp

Code
Comments
Other
Rev Date Author Line
5525 06 Dec 10 nicklas 1 <%-- $Id $
5525 06 Dec 10 nicklas 2   ------------------------------------------------------------------
5525 06 Dec 10 nicklas 3   Copyright (C) 2010 Nicklas Nordborg
5525 06 Dec 10 nicklas 4
5525 06 Dec 10 nicklas 5   This file is part of BASE - BioArray Software Environment.
5525 06 Dec 10 nicklas 6   Available at http://base.thep.lu.se/
5525 06 Dec 10 nicklas 7
5525 06 Dec 10 nicklas 8   BASE is free software; you can redistribute it and/or
5525 06 Dec 10 nicklas 9   modify it under the terms of the GNU General Public License
5525 06 Dec 10 nicklas 10   as published by the Free Software Foundation; either version 3
5525 06 Dec 10 nicklas 11   of the License, or (at your option) any later version.
5525 06 Dec 10 nicklas 12
5525 06 Dec 10 nicklas 13   BASE is distributed in the hope that it will be useful,
5525 06 Dec 10 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
5525 06 Dec 10 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5525 06 Dec 10 nicklas 16   GNU General Public License for more details.
5525 06 Dec 10 nicklas 17
5525 06 Dec 10 nicklas 18   You should have received a copy of the GNU General Public License
5525 06 Dec 10 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5525 06 Dec 10 nicklas 20   ------------------------------------------------------------------
5525 06 Dec 10 nicklas 21
5525 06 Dec 10 nicklas 22   @author Nicklas
5525 06 Dec 10 nicklas 23 --%>
5525 06 Dec 10 nicklas 24 <%@ page pageEncoding="UTF-8" session="false"
5525 06 Dec 10 nicklas 25   import="net.sf.basedb.core.SessionControl"
5525 06 Dec 10 nicklas 26   import="net.sf.basedb.core.DbControl"
5525 06 Dec 10 nicklas 27   import="net.sf.basedb.core.SystemItems"
5525 06 Dec 10 nicklas 28   import="net.sf.basedb.core.Item"
5525 06 Dec 10 nicklas 29   import="net.sf.basedb.core.ItemContext"
5525 06 Dec 10 nicklas 30   import="net.sf.basedb.core.Permission"
5525 06 Dec 10 nicklas 31   import="net.sf.basedb.core.BioPlateEventType"
5525 06 Dec 10 nicklas 32   import="net.sf.basedb.core.ItemQuery"
5525 06 Dec 10 nicklas 33   import="net.sf.basedb.core.Include"
5525 06 Dec 10 nicklas 34   import="net.sf.basedb.core.ItemResultList"
5525 06 Dec 10 nicklas 35   import="net.sf.basedb.core.PermissionDeniedException"
5525 06 Dec 10 nicklas 36   import="net.sf.basedb.core.PluginDefinition"
5525 06 Dec 10 nicklas 37   import="net.sf.basedb.core.plugin.GuiContext"
5525 06 Dec 10 nicklas 38   import="net.sf.basedb.core.plugin.Plugin"
5525 06 Dec 10 nicklas 39   import="net.sf.basedb.core.query.Orders"
5525 06 Dec 10 nicklas 40   import="net.sf.basedb.core.query.Hql"
5525 06 Dec 10 nicklas 41   import="net.sf.basedb.clients.web.Base"
5525 06 Dec 10 nicklas 42   import="net.sf.basedb.clients.web.PermissionUtil"
5525 06 Dec 10 nicklas 43   import="net.sf.basedb.clients.web.util.HTML"
5525 06 Dec 10 nicklas 44   import="net.sf.basedb.util.Values"
5525 06 Dec 10 nicklas 45   import="net.sf.basedb.util.formatter.Formatter"
5525 06 Dec 10 nicklas 46   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
5525 06 Dec 10 nicklas 47   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5525 06 Dec 10 nicklas 48   import="net.sf.basedb.clients.web.extensions.JspContext"
5525 06 Dec 10 nicklas 49   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 50   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
5525 06 Dec 10 nicklas 51   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
5525 06 Dec 10 nicklas 52   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
5525 06 Dec 10 nicklas 53   import="java.util.Date"
5525 06 Dec 10 nicklas 54   import="java.util.Map"
5525 06 Dec 10 nicklas 55   import="java.util.Set"
5525 06 Dec 10 nicklas 56   import="java.util.List"
5525 06 Dec 10 nicklas 57 %>
5525 06 Dec 10 nicklas 58 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
5525 06 Dec 10 nicklas 59 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
5525 06 Dec 10 nicklas 60 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
5525 06 Dec 10 nicklas 61 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
5525 06 Dec 10 nicklas 62 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
5525 06 Dec 10 nicklas 63 <%!
5525 06 Dec 10 nicklas 64   private static final Item itemType = Item.BIOPLATEEVENTTYPE;
5525 06 Dec 10 nicklas 65   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.ITEM);
5525 06 Dec 10 nicklas 66 %>
5525 06 Dec 10 nicklas 67 <%
5525 06 Dec 10 nicklas 68 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
5525 06 Dec 10 nicklas 69 final String ID = sc.getId();
5525 06 Dec 10 nicklas 70 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
5525 06 Dec 10 nicklas 71 final int itemId = cc.getId();
6261 27 Mar 13 nicklas 72 final String tab = Values.getStringOrNull(request.getParameter("tab"));
5525 06 Dec 10 nicklas 73 final float scale = Base.getScale(sc);
7954 12 May 21 nicklas 74 final DbControl dc = sc.newDbControl(":View "+itemType);
5525 06 Dec 10 nicklas 75 try
5525 06 Dec 10 nicklas 76 {
5525 06 Dec 10 nicklas 77   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
5525 06 Dec 10 nicklas 78
5525 06 Dec 10 nicklas 79   String title = null;
5525 06 Dec 10 nicklas 80   BioPlateEventType eventType = BioPlateEventType.getById(dc, itemId);
5525 06 Dec 10 nicklas 81   
5525 06 Dec 10 nicklas 82   final boolean usePermission = eventType.hasPermission(Permission.USE);
5525 06 Dec 10 nicklas 83   final boolean writePermission = eventType.hasPermission(Permission.WRITE);
5525 06 Dec 10 nicklas 84   final boolean deletePermission = eventType.hasPermission(Permission.DELETE);
5525 06 Dec 10 nicklas 85   final boolean sharePermission = eventType.hasPermission(Permission.SET_PERMISSION);
5525 06 Dec 10 nicklas 86   final boolean isRemoved = eventType.isRemoved();
5525 06 Dec 10 nicklas 87   final boolean isUsed = isRemoved && eventType.isUsed();
5525 06 Dec 10 nicklas 88   final boolean deletePermanentlyPermission = deletePermission && !isUsed;
5525 06 Dec 10 nicklas 89   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, eventType);
7604 25 Feb 19 nicklas 90   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
5525 06 Dec 10 nicklas 91   %>
6261 27 Mar 13 nicklas 92   <base:page title="<%=title%>" id="view-page">
6261 27 Mar 13 nicklas 93   <base:head scripts="table.js,tabcontrol-2.js,~bioplateeventtypes.js" styles="toolbar.css,table.css,headertabcontrol.css,path.css">
5525 06 Dec 10 nicklas 94     <ext:scripts context="<%=jspContext%>" />
5525 06 Dec 10 nicklas 95     <ext:stylesheets context="<%=jspContext%>" />
5525 06 Dec 10 nicklas 96   </base:head>
5525 06 Dec 10 nicklas 97   <base:body>
5937 27 Jan 12 nicklas 98     <p:path><p:pathelement 
5937 27 Jan 12 nicklas 99       title="Bioplate event types" href="<%="index.jsp?ID="+ID%>" 
5937 27 Jan 12 nicklas 100       /><p:pathelement title="<%=HTML.encodeTags(eventType.getName())%>" 
5937 27 Jan 12 nicklas 101       /></p:path>
6261 27 Mar 13 nicklas 102     <div id="page-data" data-item-id="<%=itemId%>"></div>
5525 06 Dec 10 nicklas 103     
5937 27 Jan 12 nicklas 104     <t:tabcontrol 
5937 27 Jan 12 nicklas 105       id="main" 
5937 27 Jan 12 nicklas 106       subclass="content mastertabcontrol"
6261 27 Mar 13 nicklas 107       active="<%=tab%>">
5525 06 Dec 10 nicklas 108     <t:tab id="properties" title="Properties">
5937 27 Jan 12 nicklas 109       <div>
5937 27 Jan 12 nicklas 110       <table class="fullform bottomborder">
5937 27 Jan 12 nicklas 111       <tr>
5937 27 Jan 12 nicklas 112         <th class="itemstatus">
5525 06 Dec 10 nicklas 113           <base:icon 
6261 27 Mar 13 nicklas 114             id="btnDeletePermanently"
5946 03 Feb 12 nicklas 115             image="deleted.png"
5937 27 Jan 12 nicklas 116             tooltip="This item has been flagged for deletion. Click to delete it now."
5937 27 Jan 12 nicklas 117             enabled="<%=deletePermanentlyPermission %>"
5937 27 Jan 12 nicklas 118             visible="<%=isRemoved%>" 
5937 27 Jan 12 nicklas 119           />
6261 27 Mar 13 nicklas 120           <base:icon 
6261 27 Mar 13 nicklas 121             id="btnUsingItems"
6261 27 Mar 13 nicklas 122             image="used.png" 
5937 27 Jan 12 nicklas 123             tooltip="This item is used by other items and can't be permanently deleted. Show the items that are using this one"
5937 27 Jan 12 nicklas 124             visible="<%=isRemoved && isUsed%>" />
5937 27 Jan 12 nicklas 125         </th>
5937 27 Jan 12 nicklas 126         <td style="padding: 0px;">
6605 18 Nov 14 nicklas 127           <tbl:toolbar subclass="bottomborder bg-filled-50">
5937 27 Jan 12 nicklas 128
5937 27 Jan 12 nicklas 129             <tbl:button 
6261 27 Mar 13 nicklas 130               id="btnEdit"
5942 01 Feb 12 nicklas 131               disabled="<%=!writePermission%>" 
5945 02 Feb 12 nicklas 132               image="edit.png" 
5937 27 Jan 12 nicklas 133               title="Edit&hellip;" 
5937 27 Jan 12 nicklas 134               tooltip="<%=writePermission ? "Edit this bioplate event type" : "You do not have permission to edit this bioplate event type"%>" 
5937 27 Jan 12 nicklas 135             />
5937 27 Jan 12 nicklas 136             <tbl:button 
6261 27 Mar 13 nicklas 137               id="btnDelete"
5942 01 Feb 12 nicklas 138               disabled="<%=!deletePermission%>" 
5946 03 Feb 12 nicklas 139               image="delete.png" 
5937 27 Jan 12 nicklas 140               title="Delete"
5937 27 Jan 12 nicklas 141               visible="<%=!eventType.isRemoved()%>"
5937 27 Jan 12 nicklas 142               tooltip="<%=deletePermission ? "Delete this bioplate event type" : "You do not have permission to delete this bioplate event type"%>" 
5937 27 Jan 12 nicklas 143             />
5937 27 Jan 12 nicklas 144             <tbl:button 
6261 27 Mar 13 nicklas 145               id="btnRestore"
5942 01 Feb 12 nicklas 146               disabled="<%=!writePermission%>" 
5946 03 Feb 12 nicklas 147               image="restore.png" 
5937 27 Jan 12 nicklas 148               title="Restore"
5937 27 Jan 12 nicklas 149               visible="<%=eventType.isRemoved()%>"
5937 27 Jan 12 nicklas 150               tooltip="<%=writePermission ? "Restore this bioplate event type" : "You do not have permission to restore this bioplate event type"%>" 
5937 27 Jan 12 nicklas 151             />
5937 27 Jan 12 nicklas 152             <tbl:button 
6261 27 Mar 13 nicklas 153               id="btnImport"
5946 03 Feb 12 nicklas 154               image="import.png" 
6261 27 Mar 13 nicklas 155               data-plugin-type="IMPORT"  
5937 27 Jan 12 nicklas 156               title="Import&hellip;" 
5937 27 Jan 12 nicklas 157               tooltip="Import data" 
5937 27 Jan 12 nicklas 158               visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5937 27 Jan 12 nicklas 159             />
5937 27 Jan 12 nicklas 160             <tbl:button 
6261 27 Mar 13 nicklas 161               id="btnExport"
6261 27 Mar 13 nicklas 162               image="export.png"
6261 27 Mar 13 nicklas 163               data-plugin-type="EXPORT" 
5937 27 Jan 12 nicklas 164               title="Export&hellip;" 
5937 27 Jan 12 nicklas 165               tooltip="Export data" 
5937 27 Jan 12 nicklas 166               visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5937 27 Jan 12 nicklas 167             />
5937 27 Jan 12 nicklas 168             <tbl:button 
6261 27 Mar 13 nicklas 169               id="btnRunPlugin"
6261 27 Mar 13 nicklas 170               image="runplugin.png"  
6261 27 Mar 13 nicklas 171               data-plugin-type="OTHER" 
5937 27 Jan 12 nicklas 172               title="Run plugin&hellip;" 
5937 27 Jan 12 nicklas 173               tooltip="Run a plugin" 
5937 27 Jan 12 nicklas 174               visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5937 27 Jan 12 nicklas 175             />
5937 27 Jan 12 nicklas 176             <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 177               wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5937 27 Jan 12 nicklas 178             <tbl:button
5937 27 Jan 12 nicklas 179               image="help.png"
6261 27 Mar 13 nicklas 180               subclass="auto-init"
6261 27 Mar 13 nicklas 181               data-auto-init="help"
6261 27 Mar 13 nicklas 182               data-help-id="bioplateeventtype.view.properties"
5937 27 Jan 12 nicklas 183               title="Help&hellip;"
5937 27 Jan 12 nicklas 184               tooltip="Get help about this page"
5937 27 Jan 12 nicklas 185             />
5937 27 Jan 12 nicklas 186           </tbl:toolbar>
5937 27 Jan 12 nicklas 187         </td>
5937 27 Jan 12 nicklas 188       </tr>
5525 06 Dec 10 nicklas 189       <tr>
5937 27 Jan 12 nicklas 190         <th>Name</th>
5525 06 Dec 10 nicklas 191         <td><%=HTML.encodeTags(eventType.getName())%></td>
5525 06 Dec 10 nicklas 192       </tr>
5525 06 Dec 10 nicklas 193       <tr>
5937 27 Jan 12 nicklas 194         <th>System ID</th>
5525 06 Dec 10 nicklas 195         <td><%=HTML.encodeTags(eventType.getSystemId())%></td>
5525 06 Dec 10 nicklas 196       </tr>
5525 06 Dec 10 nicklas 197       <tr>
5937 27 Jan 12 nicklas 198         <th>Permissions</th>
5937 27 Jan 12 nicklas 199         <td><%=PermissionUtil.getFullPermissionNames(eventType)%></td>
5937 27 Jan 12 nicklas 200       </tr>
5937 27 Jan 12 nicklas 201       <tr>
5937 27 Jan 12 nicklas 202         <th>Description</th>
5525 06 Dec 10 nicklas 203         <td><%=HTML.niceFormat(eventType.getDescription())%></td>
5525 06 Dec 10 nicklas 204       </tr>
5525 06 Dec 10 nicklas 205       </table>
5937 27 Jan 12 nicklas 206       </div>
5525 06 Dec 10 nicklas 207
5525 06 Dec 10 nicklas 208       <jsp:include page="../../common/anytoany/list_anytoany.jsp">
5525 06 Dec 10 nicklas 209         <jsp:param name="ID" value="<%=ID%>" />
5525 06 Dec 10 nicklas 210         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5525 06 Dec 10 nicklas 211         <jsp:param name="item_id" value="<%=itemId%>" />
5525 06 Dec 10 nicklas 212         <jsp:param name="title" value="Other items related to this event type" />
5525 06 Dec 10 nicklas 213       </jsp:include>
5937 27 Jan 12 nicklas 214
5525 06 Dec 10 nicklas 215       </t:tab>
5525 06 Dec 10 nicklas 216       </t:tabcontrol>
5525 06 Dec 10 nicklas 217   </base:body>
5525 06 Dec 10 nicklas 218   </base:page>
5525 06 Dec 10 nicklas 219   <%
5525 06 Dec 10 nicklas 220 }
5525 06 Dec 10 nicklas 221 finally
5525 06 Dec 10 nicklas 222 {
5525 06 Dec 10 nicklas 223   if (dc != null) dc.close();
5525 06 Dec 10 nicklas 224 }
5525 06 Dec 10 nicklas 225
5525 06 Dec 10 nicklas 226 %>