www/admin/datafiletypes/view_filetype.jsp

Code
Comments
Other
Rev Date Author Line
3860 18 Oct 07 nicklas 1 <%-- $Id:view_filetype.jsp 3820 2007-10-12 10:03:18Z nicklas $
3793 27 Sep 07 nicklas 2   ------------------------------------------------------------------
5425 23 Sep 10 nicklas 3   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3793 27 Sep 07 nicklas 4
3793 27 Sep 07 nicklas 5   This file is part of BASE - BioArray Software Environment.
3793 27 Sep 07 nicklas 6   Available at http://base.thep.lu.se/
3793 27 Sep 07 nicklas 7
3793 27 Sep 07 nicklas 8   BASE is free software; you can redistribute it and/or
3793 27 Sep 07 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
3793 27 Sep 07 nicklas 11   of the License, or (at your option) any later version.
3793 27 Sep 07 nicklas 12
3793 27 Sep 07 nicklas 13   BASE is distributed in the hope that it will be useful,
3793 27 Sep 07 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
3793 27 Sep 07 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3793 27 Sep 07 nicklas 16   GNU General Public License for more details.
3793 27 Sep 07 nicklas 17
3793 27 Sep 07 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/>.
3793 27 Sep 07 nicklas 20   ------------------------------------------------------------------
3793 27 Sep 07 nicklas 21
3793 27 Sep 07 nicklas 22   @author Nicklas
3793 27 Sep 07 nicklas 23   @version 2.0
3793 27 Sep 07 nicklas 24 --%>
5426 24 Sep 10 nicklas 25 <%@ page pageEncoding="UTF-8" session="false"
3793 27 Sep 07 nicklas 26   import="net.sf.basedb.core.SessionControl"
3793 27 Sep 07 nicklas 27   import="net.sf.basedb.core.DbControl"
3793 27 Sep 07 nicklas 28   import="net.sf.basedb.core.SystemItems"
3793 27 Sep 07 nicklas 29   import="net.sf.basedb.core.Item"
3793 27 Sep 07 nicklas 30   import="net.sf.basedb.core.ItemContext"
3793 27 Sep 07 nicklas 31   import="net.sf.basedb.core.Permission"
3793 27 Sep 07 nicklas 32   import="net.sf.basedb.core.DataFileType"
3793 27 Sep 07 nicklas 33   import="net.sf.basedb.core.Platform"
3793 27 Sep 07 nicklas 34   import="net.sf.basedb.core.PlatformVariant"
4886 03 Apr 09 nicklas 35   import="net.sf.basedb.core.PlatformFileType"
7311 21 Mar 17 nicklas 36   import="net.sf.basedb.core.ItemSubtypeFileType"
7311 21 Mar 17 nicklas 37   import="net.sf.basedb.core.ItemSubtype"
4886 03 Apr 09 nicklas 38   import="net.sf.basedb.core.Include"
3793 27 Sep 07 nicklas 39   import="net.sf.basedb.core.ItemQuery"
3793 27 Sep 07 nicklas 40   import="net.sf.basedb.core.ItemResultList"
3793 27 Sep 07 nicklas 41   import="net.sf.basedb.core.PermissionDeniedException"
3793 27 Sep 07 nicklas 42   import="net.sf.basedb.core.PluginDefinition"
3793 27 Sep 07 nicklas 43   import="net.sf.basedb.core.plugin.GuiContext"
3793 27 Sep 07 nicklas 44   import="net.sf.basedb.core.plugin.Plugin"
3793 27 Sep 07 nicklas 45   import="net.sf.basedb.core.query.Orders"
3793 27 Sep 07 nicklas 46   import="net.sf.basedb.core.query.Hql"
3793 27 Sep 07 nicklas 47   import="net.sf.basedb.clients.web.Base"
3793 27 Sep 07 nicklas 48   import="net.sf.basedb.clients.web.PermissionUtil"
3793 27 Sep 07 nicklas 49   import="net.sf.basedb.clients.web.util.HTML"
3793 27 Sep 07 nicklas 50   import="net.sf.basedb.util.formatter.Formatter"
3793 27 Sep 07 nicklas 51   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4886 03 Apr 09 nicklas 52   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4886 03 Apr 09 nicklas 53   import="net.sf.basedb.clients.web.extensions.JspContext"
4886 03 Apr 09 nicklas 54   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 55   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4886 03 Apr 09 nicklas 56   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
4886 03 Apr 09 nicklas 57   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
3793 27 Sep 07 nicklas 58   import="net.sf.basedb.util.Values"
3793 27 Sep 07 nicklas 59   import="java.util.Map"
3793 27 Sep 07 nicklas 60   import="java.util.Date"
3793 27 Sep 07 nicklas 61 %>
3793 27 Sep 07 nicklas 62 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
3793 27 Sep 07 nicklas 63 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
3793 27 Sep 07 nicklas 64 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
3793 27 Sep 07 nicklas 65 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4886 03 Apr 09 nicklas 66 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
3793 27 Sep 07 nicklas 67 <%!
3793 27 Sep 07 nicklas 68   private static final Item itemType = Item.DATAFILETYPE;
3793 27 Sep 07 nicklas 69   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.ITEM);
3793 27 Sep 07 nicklas 70 %>
3793 27 Sep 07 nicklas 71 <%
3793 27 Sep 07 nicklas 72 final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
3793 27 Sep 07 nicklas 73 final String ID = sc.getId();
3793 27 Sep 07 nicklas 74 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
3793 27 Sep 07 nicklas 75 final int itemId = cc.getId();
6289 05 Jun 13 nicklas 76 final String tab = Values.getStringOrNull(request.getParameter("tab"));
3793 27 Sep 07 nicklas 77 final float scale = Base.getScale(sc);
7954 12 May 21 nicklas 78 final DbControl dc = sc.newDbControl(":View "+itemType);
3793 27 Sep 07 nicklas 79 try
3793 27 Sep 07 nicklas 80 {
3793 27 Sep 07 nicklas 81   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
3793 27 Sep 07 nicklas 82
3793 27 Sep 07 nicklas 83   String title = null;
3793 27 Sep 07 nicklas 84   DataFileType fileType = DataFileType.getById(dc, itemId);
3793 27 Sep 07 nicklas 85   
3793 27 Sep 07 nicklas 86   final boolean writePermission = fileType.hasPermission(Permission.WRITE);
3793 27 Sep 07 nicklas 87   final boolean deletePermission = fileType.hasPermission(Permission.DELETE);
4003 26 Nov 07 nicklas 88   final boolean isRemoved = fileType.isRemoved();
4003 26 Nov 07 nicklas 89   final boolean isUsed = isRemoved && fileType.isUsed();
4003 26 Nov 07 nicklas 90   final boolean deletePermanentlyPermission = deletePermission && !isUsed;
4886 03 Apr 09 nicklas 91   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, fileType);
7604 25 Feb 19 nicklas 92   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
3793 27 Sep 07 nicklas 93   %>
6289 05 Jun 13 nicklas 94   <base:page title="<%=title%>" id="view-page">
6289 05 Jun 13 nicklas 95   <base:head scripts="tabcontrol-2.js,~filetypes.js" styles="toolbar.css,headertabcontrol.css,path.css,table.css">
4886 03 Apr 09 nicklas 96     <ext:scripts context="<%=jspContext%>" />
4886 03 Apr 09 nicklas 97     <ext:stylesheets context="<%=jspContext%>" />
3793 27 Sep 07 nicklas 98   </base:head>
3793 27 Sep 07 nicklas 99   <base:body>
5941 01 Feb 12 nicklas 100     <p:path><p:pathelement 
5941 01 Feb 12 nicklas 101       title="Data file types" href="<%="index.jsp?ID="+ID%>" 
5941 01 Feb 12 nicklas 102       /><p:pathelement title="<%=HTML.encodeTags(fileType.getName())%>" 
5941 01 Feb 12 nicklas 103       /></p:path>
6289 05 Jun 13 nicklas 104     <div id="page-data" data-item-id="<%=itemId%>"></div>
3793 27 Sep 07 nicklas 105     
5941 01 Feb 12 nicklas 106     <t:tabcontrol 
5941 01 Feb 12 nicklas 107       id="main" 
5941 01 Feb 12 nicklas 108       subclass="content mastertabcontrol" 
6289 05 Jun 13 nicklas 109       active="<%=tab%>">
3793 27 Sep 07 nicklas 110     <t:tab id="properties" title="Properties">
5941 01 Feb 12 nicklas 111       <div>
5941 01 Feb 12 nicklas 112       <table class="fullform bottomborder">
5941 01 Feb 12 nicklas 113       <tr>
5941 01 Feb 12 nicklas 114         <th class="itemstatus">
4003 26 Nov 07 nicklas 115           <base:icon 
6289 05 Jun 13 nicklas 116             id="btnDeletePermanently"
5946 03 Feb 12 nicklas 117             image="deleted.png"
5941 01 Feb 12 nicklas 118             tooltip="This item has been flagged for deletion. Click to delete it now."
5941 01 Feb 12 nicklas 119             enabled="<%=deletePermanentlyPermission %>"
5941 01 Feb 12 nicklas 120             visible="<%=isRemoved%>" 
5941 01 Feb 12 nicklas 121           />
6289 05 Jun 13 nicklas 122           <base:icon 
6289 05 Jun 13 nicklas 123             id="btnUsingItems"
6289 05 Jun 13 nicklas 124             image="used.png" 
5941 01 Feb 12 nicklas 125             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 126             visible="<%=isRemoved && isUsed%>" />
5941 01 Feb 12 nicklas 127         </th>
5941 01 Feb 12 nicklas 128         <td style="padding: 0px;">
6605 18 Nov 14 nicklas 129           <tbl:toolbar subclass="bottomborder bg-filled-50">
5941 01 Feb 12 nicklas 130             <tbl:button 
6289 05 Jun 13 nicklas 131               id="btnEdit"
5942 01 Feb 12 nicklas 132               disabled="<%=!writePermission%>" 
5945 02 Feb 12 nicklas 133               image="edit.png" 
5941 01 Feb 12 nicklas 134               title="Edit&hellip;" 
5941 01 Feb 12 nicklas 135               tooltip="<%=writePermission ? "Edit this data file type" : "You do not have permission to edit this data file type"%>" 
5941 01 Feb 12 nicklas 136             />
5941 01 Feb 12 nicklas 137             <tbl:button 
6289 05 Jun 13 nicklas 138               id="btnDelete"
5942 01 Feb 12 nicklas 139               disabled="<%=!deletePermission%>" 
5946 03 Feb 12 nicklas 140               image="delete.png" 
5941 01 Feb 12 nicklas 141               title="Delete"
5941 01 Feb 12 nicklas 142               visible="<%=!fileType.isRemoved()%>"
5941 01 Feb 12 nicklas 143               tooltip="<%=deletePermission ? "Delete this data file type" : "You do not have permission to delete this data file type"%>" 
5941 01 Feb 12 nicklas 144             />
5941 01 Feb 12 nicklas 145             <tbl:button 
6289 05 Jun 13 nicklas 146               id="btnRestore"
5942 01 Feb 12 nicklas 147               disabled="<%=!writePermission%>" 
5946 03 Feb 12 nicklas 148               image="restore.png" 
5941 01 Feb 12 nicklas 149               title="Restore"
5941 01 Feb 12 nicklas 150               visible="<%=fileType.isRemoved()%>"
5941 01 Feb 12 nicklas 151               tooltip="<%=writePermission ? "Restore this data file type" : "You do not have permission to restore this data file type"%>" 
5941 01 Feb 12 nicklas 152             />
5941 01 Feb 12 nicklas 153             <tbl:button 
6289 05 Jun 13 nicklas 154               id="btnImport"
5946 03 Feb 12 nicklas 155               image="import.png" 
6289 05 Jun 13 nicklas 156               data-plugin-type="IMPORT"  
5941 01 Feb 12 nicklas 157               title="Import&hellip;" 
5941 01 Feb 12 nicklas 158               tooltip="Import data" 
5941 01 Feb 12 nicklas 159               visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5941 01 Feb 12 nicklas 160             />
5941 01 Feb 12 nicklas 161             <tbl:button 
6289 05 Jun 13 nicklas 162               id="btnExport"
6289 05 Jun 13 nicklas 163               image="export.png"
6289 05 Jun 13 nicklas 164               data-plugin-type="EXPORT" 
5941 01 Feb 12 nicklas 165               title="Export&hellip;" 
5941 01 Feb 12 nicklas 166               tooltip="Export data" 
5941 01 Feb 12 nicklas 167               visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5941 01 Feb 12 nicklas 168             />
5941 01 Feb 12 nicklas 169             <tbl:button 
6289 05 Jun 13 nicklas 170               id="btnRunPlugin"
6289 05 Jun 13 nicklas 171               image="runplugin.png"  
6289 05 Jun 13 nicklas 172               data-plugin-type="OTHER" 
5941 01 Feb 12 nicklas 173               title="Run plugin&hellip;" 
5941 01 Feb 12 nicklas 174               tooltip="Run a plugin" 
5941 01 Feb 12 nicklas 175               visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5941 01 Feb 12 nicklas 176             />
5941 01 Feb 12 nicklas 177             <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 178               wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5941 01 Feb 12 nicklas 179             <tbl:button
5941 01 Feb 12 nicklas 180               image="help.png"
6289 05 Jun 13 nicklas 181               subclass="auto-init"
6289 05 Jun 13 nicklas 182               data-auto-init="help"
6289 05 Jun 13 nicklas 183               data-help-id="datafiletype.view.properties"
5941 01 Feb 12 nicklas 184               title="Help&hellip;"
5941 01 Feb 12 nicklas 185               tooltip="Get help about this page"
5941 01 Feb 12 nicklas 186             />
5941 01 Feb 12 nicklas 187           </tbl:toolbar>
5941 01 Feb 12 nicklas 188         </td>
5941 01 Feb 12 nicklas 189       </tr>
3793 27 Sep 07 nicklas 190       <tr>
5941 01 Feb 12 nicklas 191         <th>Name</th>
3793 27 Sep 07 nicklas 192         <td><%=HTML.encodeTags(fileType.getName())%></td>
3793 27 Sep 07 nicklas 193       </tr>
3793 27 Sep 07 nicklas 194       <tr>
5941 01 Feb 12 nicklas 195         <th>External ID</th>
3798 28 Sep 07 nicklas 196         <td><%=HTML.encodeTags(fileType.getExternalId())%></td>
3793 27 Sep 07 nicklas 197       </tr>
3793 27 Sep 07 nicklas 198       <tr>
5941 01 Feb 12 nicklas 199         <th>Item type</th>
3793 27 Sep 07 nicklas 200         <td><%=fileType.getItemType()%></td>
3793 27 Sep 07 nicklas 201       </tr>
3793 27 Sep 07 nicklas 202       <tr>
5941 01 Feb 12 nicklas 203         <th>File extension</th>
3793 27 Sep 07 nicklas 204         <td><%=HTML.encodeTags(fileType.getExtension())%></td>
3793 27 Sep 07 nicklas 205       </tr>
3793 27 Sep 07 nicklas 206       <tr>
5941 01 Feb 12 nicklas 207         <th>Generic file type</th>
3793 27 Sep 07 nicklas 208         <td><base:propertyvalue item="<%=fileType%>" property="genericType" /></td>
3793 27 Sep 07 nicklas 209       </tr>
5941 01 Feb 12 nicklas 210       <tr>
5941 01 Feb 12 nicklas 211         <th>Permissions</th>
5941 01 Feb 12 nicklas 212         <td><%=PermissionUtil.getFullPermissionNames(fileType)%></td>
5941 01 Feb 12 nicklas 213       </tr>
5905 12 Dec 11 nicklas 214       <tr >
5941 01 Feb 12 nicklas 215         <th>Description</th>
3793 27 Sep 07 nicklas 216         <td><%=HTML.niceFormat(fileType.getDescription())%></td>
3793 27 Sep 07 nicklas 217       </tr>
3793 27 Sep 07 nicklas 218       </table>
5941 01 Feb 12 nicklas 219       </div>
3793 27 Sep 07 nicklas 220       <%
3793 27 Sep 07 nicklas 221       ItemQuery<PlatformFileType> platformQuery = fileType.getPlatforms();
3890 30 Oct 07 nicklas 222       platformQuery.include(Include.ALL);
3793 27 Sep 07 nicklas 223       platformQuery.order(Orders.asc(Hql.property("platform.name")));
3793 27 Sep 07 nicklas 224       ItemResultList<PlatformFileType> platforms = platformQuery.list(dc);
5941 01 Feb 12 nicklas 225       %>
5941 01 Feb 12 nicklas 226       <base:section 
5941 01 Feb 12 nicklas 227         id="platforms"
5941 01 Feb 12 nicklas 228         title="<%="Used on platforms (" + platforms.size() + ")"%>"
5941 01 Feb 12 nicklas 229         context="<%=cc%>"
5941 01 Feb 12 nicklas 230         >
3793 27 Sep 07 nicklas 231         <%
5941 01 Feb 12 nicklas 232         if (platforms.size() == 0)
5941 01 Feb 12 nicklas 233         {
5941 01 Feb 12 nicklas 234           %>
5941 01 Feb 12 nicklas 235           <div class="messagecontainer note">
5941 01 Feb 12 nicklas 236           This file type is not used by any platforms or variants
5941 01 Feb 12 nicklas 237           (or, you don't have permission to view them).
5941 01 Feb 12 nicklas 238           </div>
3793 27 Sep 07 nicklas 239           <%
5941 01 Feb 12 nicklas 240         }
5941 01 Feb 12 nicklas 241         else
5941 01 Feb 12 nicklas 242         {
3793 27 Sep 07 nicklas 243           %>
5941 01 Feb 12 nicklas 244           <tbl:table
6149 25 Sep 12 nicklas 245             id="tbl.platforms"
5941 01 Feb 12 nicklas 246             columns="all"
5941 01 Feb 12 nicklas 247             >
5941 01 Feb 12 nicklas 248             <tbl:columndef 
5941 01 Feb 12 nicklas 249               id="platform"
5941 01 Feb 12 nicklas 250               title="Platform"
5941 01 Feb 12 nicklas 251             />
5941 01 Feb 12 nicklas 252             <tbl:columndef 
5941 01 Feb 12 nicklas 253               id="variant"
5941 01 Feb 12 nicklas 254               title="Variant"
5941 01 Feb 12 nicklas 255             />
5941 01 Feb 12 nicklas 256             <tbl:columndef 
5941 01 Feb 12 nicklas 257               id="required"
5941 01 Feb 12 nicklas 258               title="Required"
5941 01 Feb 12 nicklas 259             />
5941 01 Feb 12 nicklas 260             <tbl:columndef 
5941 01 Feb 12 nicklas 261               id="multiple"
5941 01 Feb 12 nicklas 262               title="Multiple files"
5941 01 Feb 12 nicklas 263             />
5941 01 Feb 12 nicklas 264             <tbl:data>
5941 01 Feb 12 nicklas 265               <tbl:headers>
5941 01 Feb 12 nicklas 266                 <tbl:headerrow>
5941 01 Feb 12 nicklas 267                   <tbl:columnheaders />
5941 01 Feb 12 nicklas 268                 </tbl:headerrow>
5941 01 Feb 12 nicklas 269               </tbl:headers>
5941 01 Feb 12 nicklas 270               <tbl:rows>
5941 01 Feb 12 nicklas 271               <%
5941 01 Feb 12 nicklas 272               for (PlatformFileType item : platforms)
5941 01 Feb 12 nicklas 273               {
5941 01 Feb 12 nicklas 274                 Platform p = item.getPlatform();
5941 01 Feb 12 nicklas 275                 PlatformVariant v = item.getVariant();
5941 01 Feb 12 nicklas 276                 %>
5941 01 Feb 12 nicklas 277                 <tbl:row>
5941 01 Feb 12 nicklas 278                   <tbl:cell column="platform"><base:icon 
5946 03 Feb 12 nicklas 279                       image="deleted.png" 
5941 01 Feb 12 nicklas 280                       tooltip="This item has been scheduled for deletion" 
5941 01 Feb 12 nicklas 281                       visible="<%=p.isRemoved()%>"
5941 01 Feb 12 nicklas 282                     /><%=Base.getLinkedName(ID, p, false, true)%></tbl:cell>
5941 01 Feb 12 nicklas 283                   <tbl:cell column="variant"><base:icon 
5946 03 Feb 12 nicklas 284                       image="deleted.png" 
5941 01 Feb 12 nicklas 285                       tooltip="This item has been scheduled for deletion" 
5941 01 Feb 12 nicklas 286                       visible="<%=v!= null && v.isRemoved()%>"
5941 01 Feb 12 nicklas 287                     /><%=v == null ? "<i>- all -</i>" : Base.getLinkedName(ID, v, false, true)%></tbl:cell>
5941 01 Feb 12 nicklas 288                   <tbl:cell column="required"><%=item.isRequired() ? "yes" : "no"%></tbl:cell>
5941 01 Feb 12 nicklas 289                   <tbl:cell column="multiple"><%=item.getAllowMultiple() ? "yes" : "no"%></tbl:cell>
5941 01 Feb 12 nicklas 290                 </tbl:row>
5941 01 Feb 12 nicklas 291                 <%
5941 01 Feb 12 nicklas 292               }
5941 01 Feb 12 nicklas 293               %>
5941 01 Feb 12 nicklas 294               </tbl:rows>
5941 01 Feb 12 nicklas 295             </tbl:data>
5941 01 Feb 12 nicklas 296           </tbl:table>
5941 01 Feb 12 nicklas 297           <%
5941 01 Feb 12 nicklas 298         }
5941 01 Feb 12 nicklas 299         %>
5941 01 Feb 12 nicklas 300       </base:section>
7311 21 Mar 17 nicklas 301       <%
7311 21 Mar 17 nicklas 302       ItemQuery<ItemSubtypeFileType> subtypeQuery = ItemSubtypeFileType.getQuery(fileType);
7311 21 Mar 17 nicklas 303       subtypeQuery.include(Include.ALL);
7311 21 Mar 17 nicklas 304       subtypeQuery.order(Orders.asc(Hql.property("itemSubtype.name")));
7311 21 Mar 17 nicklas 305       ItemResultList<ItemSubtypeFileType> subtypes = subtypeQuery.list(dc);
7311 21 Mar 17 nicklas 306       %>
7311 21 Mar 17 nicklas 307       <base:section 
7311 21 Mar 17 nicklas 308         id="subtypes"
7311 21 Mar 17 nicklas 309         title="<%="Used by item subtypes (" + subtypes.size() + ")"%>"
7311 21 Mar 17 nicklas 310         context="<%=cc%>"
7311 21 Mar 17 nicklas 311         >
7311 21 Mar 17 nicklas 312         <%
7311 21 Mar 17 nicklas 313         if (subtypes.size() == 0)
7311 21 Mar 17 nicklas 314         {
7311 21 Mar 17 nicklas 315           %>
7311 21 Mar 17 nicklas 316           <div class="messagecontainer note">
7311 21 Mar 17 nicklas 317           This file type is not used by any item subtypes
7311 21 Mar 17 nicklas 318           (or, you don't have permission to view them).
7311 21 Mar 17 nicklas 319           </div>
7311 21 Mar 17 nicklas 320           <%
7311 21 Mar 17 nicklas 321         }
7311 21 Mar 17 nicklas 322         else
7311 21 Mar 17 nicklas 323         {
7311 21 Mar 17 nicklas 324           %>
7311 21 Mar 17 nicklas 325           <tbl:table
7311 21 Mar 17 nicklas 326             id="tbl.subtypes"
7311 21 Mar 17 nicklas 327             columns="all"
7311 21 Mar 17 nicklas 328             >
7311 21 Mar 17 nicklas 329             <tbl:columndef 
7311 21 Mar 17 nicklas 330               id="subtype"
7311 21 Mar 17 nicklas 331               title="Item subtype"
7311 21 Mar 17 nicklas 332             />
7311 21 Mar 17 nicklas 333             <tbl:columndef 
7311 21 Mar 17 nicklas 334               id="required"
7311 21 Mar 17 nicklas 335               title="Required"
7311 21 Mar 17 nicklas 336             />
7311 21 Mar 17 nicklas 337             <tbl:columndef 
7311 21 Mar 17 nicklas 338               id="multiple"
7311 21 Mar 17 nicklas 339               title="Multiple files"
7311 21 Mar 17 nicklas 340             />
7311 21 Mar 17 nicklas 341             <tbl:data>
7311 21 Mar 17 nicklas 342               <tbl:headers>
7311 21 Mar 17 nicklas 343                 <tbl:headerrow>
7311 21 Mar 17 nicklas 344                   <tbl:columnheaders />
7311 21 Mar 17 nicklas 345                 </tbl:headerrow>
7311 21 Mar 17 nicklas 346               </tbl:headers>
7311 21 Mar 17 nicklas 347               <tbl:rows>
7311 21 Mar 17 nicklas 348               <%
7311 21 Mar 17 nicklas 349               for (ItemSubtypeFileType item : subtypes)
7311 21 Mar 17 nicklas 350               {
7311 21 Mar 17 nicklas 351                 ItemSubtype st = item.getItemSubtype();
7311 21 Mar 17 nicklas 352                 %>
7311 21 Mar 17 nicklas 353                 <tbl:row>
7311 21 Mar 17 nicklas 354                   <tbl:cell column="subtype"><base:icon 
7311 21 Mar 17 nicklas 355                       image="deleted.png" 
7311 21 Mar 17 nicklas 356                       tooltip="This item has been scheduled for deletion" 
7311 21 Mar 17 nicklas 357                       visible="<%=st.isRemoved()%>"
7311 21 Mar 17 nicklas 358                     /><%=Base.getLinkedName(ID, st, false, true)%></tbl:cell>
7311 21 Mar 17 nicklas 359                   <tbl:cell column="required"><%=item.isRequired() ? "yes" : "no"%></tbl:cell>
7311 21 Mar 17 nicklas 360                   <tbl:cell column="multiple"><%=item.getAllowMultiple() ? "yes" : "no"%></tbl:cell>
7311 21 Mar 17 nicklas 361                 </tbl:row>
7311 21 Mar 17 nicklas 362                 <%
7311 21 Mar 17 nicklas 363               }
7311 21 Mar 17 nicklas 364               %>
7311 21 Mar 17 nicklas 365               </tbl:rows>
7311 21 Mar 17 nicklas 366             </tbl:data>
7311 21 Mar 17 nicklas 367           </tbl:table>
7311 21 Mar 17 nicklas 368           <%
7311 21 Mar 17 nicklas 369         }
7311 21 Mar 17 nicklas 370         %>
7311 21 Mar 17 nicklas 371       </base:section>
5509 19 Nov 10 nicklas 372       <jsp:include page="../../common/anytoany/list_anytoany.jsp">
5509 19 Nov 10 nicklas 373         <jsp:param name="ID" value="<%=ID%>" />
5509 19 Nov 10 nicklas 374         <jsp:param name="item_type" value="<%=itemType.name()%>" />
5509 19 Nov 10 nicklas 375         <jsp:param name="item_id" value="<%=itemId%>" />
5509 19 Nov 10 nicklas 376         <jsp:param name="title" value="Other items related to this file type" />
5509 19 Nov 10 nicklas 377       </jsp:include>
5509 19 Nov 10 nicklas 378       
5509 19 Nov 10 nicklas 379       </t:tab>
5509 19 Nov 10 nicklas 380       </t:tabcontrol>
3793 27 Sep 07 nicklas 381   </base:body>
3793 27 Sep 07 nicklas 382   </base:page>
3793 27 Sep 07 nicklas 383   <%
3793 27 Sep 07 nicklas 384 }
3793 27 Sep 07 nicklas 385 finally
3793 27 Sep 07 nicklas 386 {
3793 27 Sep 07 nicklas 387   if (dc != null) dc.close();
3793 27 Sep 07 nicklas 388 }
3793 27 Sep 07 nicklas 389
3793 27 Sep 07 nicklas 390 %>