Changeset 3714


Ignore:
Timestamp:
Sep 10, 2007, 4:17:58 PM (14 years ago)
Author:
Martin Svensson
Message:

References #364.

Location:
trunk/www/admin/plugindefinitions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/admin/plugindefinitions/auto_install.jsp

    r3712 r3714  
    5353<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
    5454<%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
     55<%!
     56private String getInfoMessage(PluginInfo info, int id)
     57{
     58  StringBuilder message = new StringBuilder();
     59  message.append("<div id=\"info."+id+"\" class=\"postit\" style=\"width:350px;display:none;\">");
     60 
     61  message.append("<b>").append("Jar: ").append("</b>");
     62  String jarpath = info.getJarPath();
     63  message.append(jarpath.substring(jarpath.lastIndexOf('/')+1)).append("<br>");
     64 
     65  message.append("<b>").append("Class: ").append("</b>");
     66  message.append(HTML.encodeTags(info.getClassName())).append("<br>");
     67 
     68  message.append("<b>").append("Works with: ").append("</b>");
     69  message.append("BASE ").append(info.getMinBaseVersion()).append(" and higher").append("<br>");
     70 
     71  message.append("<b>").append("Description: ").append("</b>");
     72  message.append(HTML.encodeTags(info.getAbout().getDescription())).append("<br>");
     73  message.append("</div>");
     74  return message.toString();
     75}
     76%>
    5577<%
    5678final Item itemType = Item.PLUGINDEFINITION;
    5779final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
    5880final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
    59 //final int itemId = cc.getId();
    6081final String ID = sc.getId();
    6182final float scale = Base.getScale(sc);
     
    95116      var grp = document.getElementById('grp.'+grpId);
    96117      var grpIcon = document.getElementById('grp.'+grpId+'.icon');
     118      var anchor = document.getElementById('a.'+grpId);
    97119      var cnfId = 1;
    98120      var cnf = document.getElementById('cnf.'+grpId+'.'+cnfId);
     
    100122      {
    101123        grpIcon.src = getRoot()+'images/joust/minustop.gif';
     124        anchor.title='Collapse to hide configurations';
    102125      }
    103126      else
    104127      {
    105128        grpIcon.src = getRoot()+'images/joust/plusonly.gif';
     129        anchor.title='Expand to see configurations for this plugin';       
    106130      }
    107131      while (cnf)
     
    112136      }
    113137    }
    114     function setConfigsOnChange(pluginId, selectList)
     138    function setConfigsOnChange(pluginId, selectList, pluginExists)
    115139    {
    116140      var installoption = selectList[selectList.selectedIndex].value;
     
    124148          {
    125149           
    126             if (cnf[i].value == 'import')
     150            if (cnf[i].value == 'yes')
    127151            {
    128152              cnf.selectedIndex = i;
     
    134158        }
    135159      }
    136       else
     160      else if (!pluginExists && installoption == '')
    137161      {
    138162        var cnfId = 1;
     
    143167          {
    144168           
    145             if (cnf[i].value == 'none')
     169            if (cnf[i].value == 'no')
    146170            {
    147171              cnf.selectedIndex = i;
     
    153177        }
    154178      }
    155     }   
     179    }
     180    function setPluginOnChange(pluginId, selectList, pluginExists)
     181    {
     182      var configOption = selectList[selectList.selectedIndex].value;
     183      var pluginList = document.getElementById('setplugin.' + pluginId);
     184      var pluginOption = pluginList[pluginList.selectedIndex].value;
     185      if ( (configOption == 'yes' && !pluginExists && pluginOption == '') ||
     186        (configOption == 'no' && pluginOption == 'plugin+confs') )
     187      {
     188        for (var i=0; i<pluginList.length;i++)
     189        {
     190          if (pluginList[i].value == 'plugin')
     191          {
     192            pluginList.selectedIndex = i;
     193            i = pluginList.length;
     194          }
     195        }
     196      }
     197    }
     198    function toggleInformation(pluginId)
     199    {
     200      var infodiv = document.getElementById('info.'+pluginId);
     201      if (infodiv.style.display == 'block')
     202      {
     203        infodiv.style.display = 'none';       
     204      }
     205      else if (infodiv.style.display == 'none')
     206      {
     207        infodiv.style.display = 'block';
     208      }
     209    }
    156210    </script>
    157211  </base:head>
     
    170224          <table border="0" cellspacing="0" cellpadding="0">
    171225            <tr>
    172               <td width="40%"><b>Plugins</b></td>             
     226              <td width="45%"><b>Plugins</b></td>             
    173227              <td><b>Install</b></td>
    174228              <td><b>Trusted</b></td>
    175               <td><b>Allow immediate execution</b></td>
     229              <td><b>Immediate execution</b></td>
    176230            </tr>
    177231            <%
     
    199253                classExists = false;
    200254                jarExists = false;
    201               }
     255              }             
    202256              %>
    203257              <tr id="plugin.<%=plugin%>">
    204                 <td style="padding-top: 6px;">
     258                <td style="padding-top: 6px;">                 
    205259                  <%
    206260                  if (hasConfigs)
    207261                  {
    208262                  %>
    209                     <a href="javascript:toggle(<%=plugin%>)" title="Expand/collaps to see/hide configurations">
    210                     <base:icon id="<%="grp."+plugin+".icon"%>" image="joust/plusonly.gif" />                   
     263                    <a href="javascript:toggle(<%=plugin%>)" id="<%="a."+plugin%>" title="Expand to see configurations for this plugin">
     264                    <base:icon id="<%="grp."+plugin+".icon"%>" image="joust/plusonly.gif" />
     265                    <a onmouseover="javascript:toggleInformation(<%=plugin%>)"
     266                      onmouseout="javascript:toggleInformation(<%=plugin%>)"
     267                    >
     268                      <base:icon image="info.gif"/>
     269                    </a>                 
     270                    <%=getInfoMessage(info, plugin)%>
     271                    &nbsp;<%=HTML.encodeTags(name)%></a>&nbsp;&nbsp;                   
     272                    <%
     273                  }
     274                  else
     275                  {
     276                    %>
     277                    <a onmouseover="javascript:toggleInformation(<%=plugin%>)"
     278                      onmouseout="javascript:toggleInformation(<%=plugin%>)"
     279                    >
     280                      <base:icon image="info.gif"/>
     281                    </a>                 
     282                    <%=getInfoMessage(info, plugin)%>
     283                    &nbsp;<%=HTML.encodeTags(name)%>&nbsp;&nbsp;
    211284                    <%
    212285                  }
    213286                  %>                 
    214                   &nbsp;<%=HTML.encodeTags(name)%></a>&nbsp;&nbsp;
     287                 
    215288                </td>
    216289                <td>
    217                   <select id="setplugin.<%=plugin%>" name="<%=info.getJarPath()%>.<%=info.getClassName()%>"
    218                    onchange="setConfigsOnChange(<%=plugin%>,this)" <%=classExists&&jarExists ? "disabled" : "" %>>
    219                     <option value="" title="Plugin will not be installed">------
     290                  <select id="setplugin.<%=plugin%>" name="<%=info.getJarPath()%>.<%=info.getClassName()%>"
     291                    style="width:90px"
     292                    onchange="setConfigsOnChange(<%=plugin%>,this, <%=classExists%>)"
     293                    <%=classExists&&jarExists ? "disabled" : "" %>
     294                   >
     295                    <option value="" title="Plugin will not be installed">no
    220296                    <option value="plugin" title="Plugin will be installed">plugin
    221297                    <%
     
    223299                    {
    224300                    %>
    225                       <option value="plugin+confs" title="Plugin and configurations will be installed">with configs
     301                      <option value="plugin+confs"
     302                        title="Plugin and all configurations will be installed">with configs</option>
    226303                    <%
    227304                    }
    228305                    %>
    229                   </select>
     306                  </select>&nbsp;&nbsp;
    230307                  <input type="hidden" name="<%=info.getClassName()%>.classExists" value="<%=classExists%>">
    231308                  <input type="hidden" name="<%=info.getClassName()%>.jarExists" value="<%=jarExists%>">
    232                   <base:icon image="<%=classExists&&!jarExists ? "itemexists.gif" : "" %>" />
    233                   <base:icon image="<%=classExists&&jarExists ? "hasvalues.gif" : "" %>" />
     309                  <base:icon image="<%=classExists&&!jarExists ? "itemexists.gif" : "" %>"
     310                    tooltip="Plugin from another jar-file but with the same class-name is installed"
     311                  />
     312                  <base:icon image="<%=classExists&&jarExists ? "hasvalues.gif" : "" %>"
     313                    tooltip="Plugin with the same class name is already installed"
     314                  />
    234315                </td>
    235316                <td>
    236                   &nbsp;<select name="<%=info.getClassName()%>.trusted" <%=classExists&&jarExists ? "disabled" : ""%>>
     317                  &nbsp;
     318                  <select name="<%=info.getClassName()%>.trusted"
     319                    <%=classExists&&jarExists ? "disabled" : ""%>
     320                  >
    237321                    <option value="0">no
    238322                    <option value="1">yes
     
    241325                </td>
    242326                <td>
    243                   &nbsp;<select name="<%=info.getClassName()%>.allow_immediate_execution" <%=classExists&&jarExists ? "disabled" : ""%>>
    244                     <option value="0">no
    245                     <option value="1">yes
     327                  &nbsp;
     328                  <select name="<%=info.getClassName()%>.immediate_execution"
     329                    <%=classExists&&jarExists ? "disabled" : ""%>
     330                  >
     331                    <option value="0">deny
     332                    <option value="1">allow
    246333                    <%
    247334                    if (allowImmediateExecution == null)
     
    281368                    </td>
    282369                    <td>
    283                       <select id="setconfig.<%=plugin%>.<%=cnf%>" name="<%=info.getClassName()%>.<%=cnfInfo.getName()%>">
    284                         <option value="" title="Configuration will not be imported">------ 
    285                         <option value="import" title="Configuration will be imported">Import
     370                      <select id="setconfig.<%=plugin%>.<%=cnf%>" name="<%=info.getClassName()%>.<%=cnfInfo.getName()%>"
     371                        onChange="setPluginOnChange(<%=plugin%>, this, <%=classExists%>)">
     372                        <option value="no" title="Configuration will not be imported">no</option>
     373                        <option value="yes" title="Configuration will be imported">yes</option>
    286374                      </select>
    287                       <base:icon image="<%=isDublicate ? "warning.gif" : ""%>" />
     375                      <base:icon image="<%=isDublicate ? "warning.gif" : ""%>" tooltip="Plugin already has a configuration with this name"/>
    288376                    </td>
    289377                  </tr>
     
    293381            }
    294382            %>
    295           </table>
     383          </table>         
    296384        </div>
    297        
     385        <div align="right">
     386          &nbsp;<i><base:icon image="warning.gif" /> = dublicate configuration</i><br>
     387          &nbsp;<i><base:icon image="hasvalues.gif" /> = plugin already installed</i><br>
     388          &nbsp;<i><base:icon image="itemexists.gif" /> = installed using a different jar-file</i><br>
     389        </div>
    298390      </t:tab>
    299391   
  • trunk/www/admin/plugindefinitions/index.jsp

    r3712 r3714  
    197197            dc.saveItem(pd);
    198198            pd.setTrusted(Values.getBoolean(request.getParameter("trusted")));
    199             String aie = Values.getStringOrNull(request.getParameter("allow_immediate_execution"));
     199            String aie = Values.getStringOrNull(request.getParameter("immediate_execution"));
    200200            pd.setAllowImmediateExecution(aie == null ?
    201201              pd.getMainType() == Plugin.MainType.EXPORT : Values.getBoolean(aie));           
Note: See TracChangeset for help on using the changeset viewer.