www/views/permissiontemplates/view_template.jsp

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