www/admin/extravaluetypes/view_extravaluetype.jsp

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