Changeset 6344


Ignore:
Timestamp:
Nov 13, 2013, 11:55:13 AM (9 years ago)
Author:
olle
Message:

Refs #1780. Refs #1779. The option to copy a transformation is now disabled, if insufficient permissions exist to perform it:

  1. JSP script www/views/experiments/bioassaysets/analysis_tree.jsp is updated to only add a 'copy' link, if the user has permission to use the plug-in and its configuration. The user might not have READ permission for a plug-in, which is considered when trying to obtain the plug-in configuration. A better solution than omitting the 'copy' link, would have been to display an icon for a disabled action, but this is left for a future update.
  2. JSP script www/views/experiments/transformations/view_transformation.jsp is updated to check if the user has permission to use the plug-in and its configuration, and disable the 'copy' button in the properties tool bar for the transformation, if the permissions are insufficient.
Location:
branches/3.2-stable/www/views/experiments
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/3.2-stable/www/views/experiments/bioassaysets/analysis_tree.jsp

    r6040 r6344  
    4444  import="net.sf.basedb.core.ItemResultList"
    4545  import="net.sf.basedb.core.Permission"
     46  import="net.sf.basedb.core.PluginConfiguration"
    4647  import="net.sf.basedb.core.PluginDefinition"
    4748  import="net.sf.basedb.core.PermissionDeniedException"
     
    924925                      <nobr>
    925926                      <%
    926                       if (createPermission && job != null && plugin != null && plugin.isInteractive())
     927                      if (createPermission && job != null && plugin != null && plugin.isInteractive() && plugin.hasPermission(Permission.USE))
    927928                      {
    928                         %>
    929                         <a href="javascript:copyJob(<%=job.getId()%>)"
    930                           title="Copy this transformation"><img
    931                           src="../../../images/copy.png" border="0"></a>
    932                         <%
     929                        // User may not have permission to read plug-in configuration for job
     930                        boolean copyTransformationAllowed = false;
     931                        try
     932                        {
     933                          PluginConfiguration pluginConfig = job.getPluginConfiguration();
     934                          if (pluginConfig == null || pluginConfig.hasPermission(Permission.USE))
     935                          {
     936                            copyTransformationAllowed = true;
     937                          }
     938                        }
     939                        catch (Exception e)
     940                        {}
     941                        if (copyTransformationAllowed)
     942                        {
     943                          %>
     944                          <a href="javascript:copyJob(<%=job.getId()%>)"
     945                            title="Copy this transformation"><img
     946                            src="../../../images/copy.png" border="0"></a>
     947                          <%
     948                        }
    933949                      }
    934950                      %>
     
    10161032                      <nobr>
    10171033                      <%
    1018                       if (createPermission && job != null && plugin != null && plugin.isInteractive())
     1034                      if (createPermission && job != null && plugin != null && plugin.isInteractive() && plugin.hasPermission(Permission.USE))
    10191035                      {
    1020                         %>
    1021                         <a href="javascript:copyJob(<%=job.getId()%>)"
    1022                           title="Copy this extra value"><img
    1023                           src="../../../images/copy.png" border="0"></a>
    1024                         <%
     1036                        // User may not have permission to read plug-in configuration for job
     1037                        boolean copyTransformationAllowed = false;
     1038                        try
     1039                        {
     1040                          PluginConfiguration pluginConfig = job.getPluginConfiguration();
     1041                          if (pluginConfig == null || pluginConfig.hasPermission(Permission.USE))
     1042                          {
     1043                            copyTransformationAllowed = true;
     1044                          }
     1045                        }
     1046                        catch (Exception e)
     1047                        {}
     1048                        if (copyTransformationAllowed)
     1049                        {
     1050                          %>
     1051                          <a href="javascript:copyJob(<%=job.getId()%>)"
     1052                            title="Copy this extra value"><img
     1053                            src="../../../images/copy.png" border="0"></a>
     1054                          <%
     1055                        }
    10251056                      }
    10261057                      %>
  • branches/3.2-stable/www/views/experiments/transformations/view_transformation.jsp

    r5946 r6344  
    137137  final boolean writePermission = transformation.hasPermission(Permission.WRITE);
    138138  final boolean deletePermission = transformation.hasPermission(Permission.DELETE);
     139  boolean copyTransformationAllowed = false;
     140  if (plugin != null && plugin.isInteractive() && plugin.hasPermission(Permission.USE))
     141  {
     142    if (configuration == null || configuration.hasPermission(Permission.USE))
     143    {
     144      copyTransformationAllowed = true;
     145    }
     146  }
    139147  JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, transformation);
    140148  ExtensionsInvoker invoker = ToolbarUtil.useExtensions(jspContext);
     
    214222            />
    215223            <tbl:button
    216               disabled="<%=!writePermission%>"
     224              disabled="<%=!writePermission || !copyTransformationAllowed%>"
    217225              image="copy.png"
    218226              onclick="<%=job == null ? "" : "copyJob('" + job.getId() + "')"%>"
Note: See TracChangeset for help on using the changeset viewer.