Changeset 5935


Ignore:
Timestamp:
Jan 26, 2012, 4:22:21 PM (10 years ago)
Author:
Nicklas Nordborg
Message:

References #1655: GUI improvements

  • More changes to table and section taglibs. Simple item lists should now display ok (after using a different set of tags for the header row)
  • Hidable sections have been re-designed and should now look a bit better. However, in many of the places we use a section it is only used when there is data to list. The section should be used in all cases so we need to move the conditional test inside.
  • The code for listing "Shared to" information for items have been moved to an "include" page and the old code has been replaced in a lot of pages (may still be missing some).
  • The "Annotations & parameter" tab have been fixed with the new design.
  • The biosource, sample, extract and tag view pages have also been fixed.


Location:
trunk
Files:
140 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/HideableSection.java

    r5929 r5935  
    194194  public HideableSection()
    195195  {
    196     super(null);
     196    super("hideablesection");
    197197  }
    198198 
     
    202202  private Page page;
    203203
    204   private String showClass = "docked";
     204  private String showClass = null;
    205205  private String hideClass = null;
    206206 
     
    318318    boolean showContent = context == null ? showInitially : !"0".equals(context.getSetting("section."+id));
    319319    String clazz = getClazz();
    320     String style = getContentstyle();
     320    String contentStyle = getContentstyle();
    321321    String icon = "";
    322322    if (showContent)
     
    326326    else
    327327    {
    328       style = "display: none; " + (style != null ? style : "");
     328      contentStyle = "display: none; " + (contentStyle != null ? contentStyle : "");
    329329      icon = "show_section.png";
    330330    }
     
    335335    if (getShowclazz() != null) sb.append(" showclass=\"").append(getShowclazz()).append("\"");
    336336    if (getHideclazz() != null) sb.append(" hideclass=\"").append(getHideclazz()).append("\"");
    337     sb.append(">");
    338     sb.append("<h4><img id=\"").append(id).append(".icon\" src=\"");
    339     sb.append(page.getRoot()).append("images/").append(icon).append("\"");
     337    sb.append(">\n");
     338    sb.append("<h2 id=\"").append(id).append(".title\"");
     339    sb.append(" class=\"link\"");
    340340    sb.append(" title=\"Click to show/hide the contents of this section\"");
    341     sb.append(" style=\"cursor: pointer;\"");
    342341    sb.append(" onclick=\"").append(getOntoggle()).append("('").append(id).append("'");
    343342    if (context != null)
     
    347346    }
    348347    sb.append(")\">");
    349     sb.append(getTitle()).append("</h4>");
    350     sb.append("<div");
    351     sb.append(" id=\"").append(id).append(".content\"");
    352     if (style != null) sb.append(" style=\"").append(style).append("\"");
     348    sb.append("<img id=\"").append(id).append(".icon\" src=\"");
     349    sb.append(page.getRoot()).append("images/").append(icon).append("\">");
     350    sb.append(getTitle()).append("</h2>\n");
     351    sb.append("<div id=\"").append(id).append(".content\"");
     352    if (contentStyle != null) sb.append(" style=\"").append(contentStyle).append("\"");
    353353    sb.append(">");
    354354
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/tab/TabControl.java

    r5904 r5935  
    343343    {
    344344      content.append("<div id=\"").append(getId()).append(".").append(tab.getId()).append(".content\"");
    345       if (!noTabs) content.append(" style=\"display:none;");
    346       content.append("\">");
     345      if (!noTabs || getContentstyle() != null)
     346      {
     347        content.append(" style=\"");
     348        if (!noTabs) content.append("display:none;");
     349        content.append(getContentstyle());
     350      }
     351      content.append("\">");
    347352      content.append(tabContent);
    348353      content.append("</div>\n");
     
    406411        sb.append("<div id=\"").append(getId()).append(".content\"");
    407412        sb.append(" class=\"tabcontents\"");
    408         if (getContentstyle() != null) sb.append("style=\"").append(getContentstyle()).append("\"");
     413       
    409414        sb.append(">");
    410415        sb.append(content);
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/table/Columns.java

    r4889 r5935  
    8080    data = (Data)getParent();
    8181    table = data.getTable();
     82    try
     83    {
     84      pageContext.getOut().print("<thead class=\"headers\"><tr class=\"headerrow\">");
     85    }
     86    catch (Exception ex)
     87    {
     88      throw new JspTagException(ex.getMessage());
     89    }
    8290    return EVAL_BODY_INCLUDE;
    8391  }
     
    8997    {
    9098      table.writeColumns();
     99      pageContext.getOut().print("</tr></thead>");
    91100    }
    92101    catch (Exception ex)
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/table/Data.java

    r5929 r5935  
    2525import javax.servlet.jsp.JspException;
    2626import javax.servlet.jsp.JspTagException;
    27 import javax.servlet.jsp.tagext.TagSupport;
    2827
    2928import net.sf.basedb.clients.web.taglib.StylableTag;
     
    3938      clazz=...
    4039      style=...
     40      subclass=...
    4141   &gt;
    4242</pre>
     
    140140    addIdAndStyles(sb);
    141141    sb.append(">\n");
    142 /*    if (getId() != null) sb.append(" id=\"").append(getId()).append("\"");
    143     if (getClazz() != null) sb.append(" class=\"").append(getClazz()).append("\"");
    144     if (getStyle() != null) sb.append(" style=\"").append(getStyle()).append("\"");
    145     sb.append("><table border=0 cellspacing=0 cellpadding=0><tr>\n");
    146     */
    147142    try
    148143    {
     
    160155  {
    161156    StringBuilder sb = new StringBuilder();
    162 /*   
    163     if (table.numHeaderColumns() > 0 && table.numVisibleColumns() > 0)
    164     {
    165       sb.append("<tr>");
    166       sb.append("<td width=\"10%\" colspan=\"").append(table.numHeaderColumns()).append("\"></td>");
    167       sb.append("<td width=\"90%\"colspan=\"").append(table.numVisibleColumns()).append("\"></td>");
    168       sb.append("</tr>");
    169     }
    170 */
    171157    sb.append("</table>\n");
    172 //    sb.append("</table></td></tr>\n");
    173158    try
    174159    {
  • trunk/www/admin/annotationtypecategories/list_categories.jsp

    r5910 r5935  
    207207    <tbl:table
    208208      id="annotationTypeCategories"
    209       clazz="itemlist"
     209     
    210210      columns="<%=cc.getSetting("columns")%>"
    211211      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/annotationtypecategories/view_category.jsp

    r5910 r5935  
    282282          <tbl:table
    283283            id="members"
    284             clazz="itemlist"
     284           
    285285            columns="all"
    286286            >
     
    354354          <tbl:table
    355355            id="itemsSharedTo"
    356             clazz="itemlist"
     356           
    357357            columns="all"
    358358          >
  • trunk/www/admin/annotationtypes/list_annotationtypes.jsp

    r5910 r5935  
    249249    <tbl:table
    250250      id="annotationTypes"
    251       clazz="itemlist"
     251     
    252252      columns="<%=cc.getSetting("columns")%>"
    253253      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/annotationtypes/view_annotationtype.jsp

    r5910 r5935  
    342342          <tbl:table
    343343            id="members"
    344             clazz="itemlist"
     344           
    345345            columns="all"
    346346            >
     
    404404          <tbl:table
    405405            id="itemsSharedTo"
    406             clazz="itemlist"
     406           
    407407            columns="all"
    408408          >
  • trunk/www/admin/clients/help/list_help.jsp

    r5910 r5935  
    195195    <tbl:table
    196196      id="help"
    197       clazz="itemlist"
     197     
    198198      columns="<%=cc.getSetting("columns")%>"
    199199      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/clients/list_clients.jsp

    r5910 r5935  
    191191    <tbl:table
    192192      id="clients"
    193       clazz="itemlist"
     193     
    194194      columns="<%=cc.getSetting("columns")%>"
    195195      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/clients/view_client.jsp

    r5910 r5935  
    297297          <tbl:table
    298298            id="itemsSharedTo"
    299             clazz="itemlist"
     299           
    300300            columns="all"
    301301          >
  • trunk/www/admin/datafiletypes/list_filetypes.jsp

    r5910 r5935  
    208208    <tbl:table
    209209      id="fileTypes"
    210       clazz="itemlist"
     210     
    211211      columns="<%=cc.getSetting("columns")%>"
    212212      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/datafiletypes/view_filetype.jsp

    r5910 r5935  
    257257        <tbl:table
    258258          id="platforms"
    259           clazz="itemlist"
     259         
    260260          columns="all"
    261261          >
  • trunk/www/admin/diskusage/details/view_details.jsp

    r5905 r5935  
    339339      <tbl:table
    340340        id="items"
    341         clazz="itemlist"
     341       
    342342        columns="<%=cc.getSetting("columns")%>"
    343343        sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/diskusage/list_groups.jsp

    r5590 r5935  
    187187    <tbl:table
    188188      id="groups"
    189       clazz="itemlist"
     189     
    190190      columns="<%=cc.getSetting("columns")%>"
    191191      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/diskusage/list_users.jsp

    r5590 r5935  
    189189    <tbl:table
    190190      id="users"
    191       clazz="itemlist"
     191     
    192192      columns="<%=cc.getSetting("columns")%>"
    193193      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/extensions/wizard.jsp

    r5918 r5935  
    9595 
    9696  <div class="content bottomborder">
    97   <tbl:table id="extensions" clazz="itemlist">
     97  <tbl:table id="extensions" >
    9898    <tbl:columndef id="file" title="File" />
    9999    <tbl:columndef id="status" title="Status" />
  • trunk/www/admin/extravaluetypes/list_extravaluetypes.jsp

    r5910 r5935  
    193193    <tbl:table
    194194      id="extraValueTypes"
    195       clazz="itemlist"
     195     
    196196      columns="<%=cc.getSetting("columns")%>"
    197197      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/groups/list_groups.jsp

    r5910 r5935  
    195195    <tbl:table
    196196      id="groups"
    197       clazz="itemlist"
     197     
    198198      columns="<%=cc.getSetting("columns")%>"
    199199      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/groups/view_group.jsp

    r5910 r5935  
    268268          <tbl:table
    269269            id="members"
    270             clazz="itemlist"
     270           
    271271            columns="all"
    272272            >
  • trunk/www/admin/hardware/list_hardware.jsp

    r5910 r5935  
    193193    <tbl:table
    194194      id="hardware"
    195       clazz="itemlist"
     195     
    196196      columns="<%=cc.getSetting("columns")%>"
    197197      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/hardware/view_hardware.jsp

    r5910 r5935  
    286286          <tbl:table
    287287            id="itemsSharedTo"
    288             clazz="itemlist"
     288           
    289289            columns="all"
    290290          >
  • trunk/www/admin/itemsubtypes/list_subtypes.jsp

    r5910 r5935  
    203203    <tbl:table
    204204      id="subtypes"
    205       clazz="itemlist"
     205     
    206206      columns="<%=cc.getSetting("columns")%>"
    207207      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/itemsubtypes/view_subtype.jsp

    r5910 r5935  
    272272          <tbl:table
    273273            id="parents"
    274             clazz="itemlist"
     274           
    275275            columns="all"
    276276            >
     
    337337          <tbl:table
    338338            id="fileTypes"
    339             clazz="itemlist"
     339           
    340340            columns="all"
    341341            >
  • trunk/www/admin/jobagents/list_agents.jsp

    r5910 r5935  
    210210    <tbl:table
    211211      id="agents"
    212       clazz="itemlist"
     212     
    213213      columns="<%=cc.getSetting("columns")%>"
    214214      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/jobagents/view_agent.jsp

    r5910 r5935  
    342342          <tbl:table
    343343            id="plugins"
    344             clazz="itemlist"
     344           
    345345            columns="all"
    346346            >
     
    447447          <tbl:table
    448448            id="jobs"
    449             clazz="itemlist"
     449           
    450450            columns="all"
    451451            >
     
    576576          <tbl:table
    577577            id="itemsSharedTo"
    578             clazz="itemlist"
     578           
    579579            columns="all"
    580580          >
  • trunk/www/admin/mimetypes/list_mimetypes.jsp

    r5910 r5935  
    184184    <tbl:table
    185185      id="mimeTypes"
    186       clazz="itemlist"
     186     
    187187      columns="<%=cc.getSetting("columns")%>"
    188188      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/news/list_news.jsp

    r5910 r5935  
    178178    <tbl:table
    179179      id="news"
    180       clazz="itemlist"
     180     
    181181      columns="<%=cc.getSetting("columns")%>"
    182182      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/platforms/list_platforms.jsp

    r5910 r5935  
    191191    <tbl:table
    192192      id="platforms"
    193       clazz="itemlist"
     193     
    194194      columns="<%=cc.getSetting("columns")%>"
    195195      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/platforms/variants/list_variants.jsp

    r5922 r5935  
    208208    <tbl:table
    209209      id="variants"
    210       clazz="itemlist"
     210     
    211211      columns="<%=cc.getSetting("columns")%>"
    212212      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/platforms/variants/view_variant.jsp

    r5910 r5935  
    278278          <tbl:table
    279279            id="fileTypes"
    280             clazz="itemlist"
     280           
    281281            columns="all"
    282282            >
  • trunk/www/admin/platforms/view_platform.jsp

    r5910 r5935  
    300300          <tbl:table
    301301            id="fileTypes"
    302             clazz="itemlist"
     302           
    303303            columns="all"
    304304            >
  • trunk/www/admin/pluginconfigurations/list_configurations.jsp

    r5922 r5935  
    237237    <tbl:table
    238238      id="configurations"
    239       clazz="itemlist"
     239     
    240240      columns="<%=cc.getSetting("columns")%>"
    241241      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/pluginconfigurations/view_configuration.jsp

    r5922 r5935  
    353353          <tbl:table
    354354            id="itemsSharedTo"
    355             clazz="itemlist"
     355           
    356356            columns="all"
    357357          >
  • trunk/www/admin/plugindefinitions/list_plugins.jsp

    r5910 r5935  
    242242    <tbl:table
    243243      id="plugins"
    244       clazz="itemlist"
     244     
    245245      columns="<%=cc.getSetting("columns")%>"
    246246      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/plugindefinitions/view_plugin.jsp

    r5922 r5935  
    446446          <tbl:table
    447447            id="configurations"
    448             clazz="itemlist"
     448           
    449449            columns="all"
    450450            >
     
    526526          <tbl:table
    527527            id="agents"
    528             clazz="itemlist"
     528           
    529529            columns="all"
    530530            >
     
    630630          <tbl:table
    631631            id="itemsSharedTo"
    632             clazz="itemlist"
     632           
    633633            columns="all"
    634634          >
  • trunk/www/admin/plugintypes/list_plugintypes.jsp

    r5910 r5935  
    188188    <tbl:table
    189189      id="pluginTypes"
    190       clazz="itemlist"
     190     
    191191      columns="<%=cc.getSetting("columns")%>"
    192192      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/plugintypes/view_plugintype.jsp

    r5910 r5935  
    253253          <tbl:table
    254254            id="plugins"
    255             clazz="itemlist"
     255           
    256256            columns="all"
    257257            >
  • trunk/www/admin/protocols/list_protocol.jsp

    r5910 r5935  
    200200    <tbl:table
    201201      id="protocols"
    202       clazz="itemlist"
     202     
    203203      columns="<%=cc.getSetting("columns")%>"
    204204      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/protocols/view_protocol.jsp

    r5910 r5935  
    310310          <tbl:table
    311311            id="parameters"
    312             clazz="itemlist"
     312           
    313313            columns="all"
    314314            >
     
    379379          <tbl:table
    380380            id="itemsSharedTo"
    381             clazz="itemlist"
     381           
    382382            columns="all"
    383383          >
  • trunk/www/admin/quantities/list_quantities.jsp

    r5910 r5935  
    190190    <tbl:table
    191191      id="quantities"
    192       clazz="itemlist"
     192     
    193193      columns="<%=cc.getSetting("columns")%>"
    194194      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/quantities/view_quantity.jsp

    r5910 r5935  
    260260          <tbl:table
    261261            id="units"
    262             clazz="itemlist"
     262           
    263263            columns="all"
    264264            >
  • trunk/www/admin/quota/list_quota.jsp

    r5910 r5935  
    178178    <tbl:table
    179179      id="quota"
    180       clazz="itemlist"
     180     
    181181      columns="<%=cc.getSetting("columns")%>"
    182182      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/quotatypes/list_quotatypes.jsp

    r5910 r5935  
    144144    <tbl:table
    145145      id="quotaTypes"
    146       clazz="itemlist"
     146     
    147147      columns="<%=cc.getSetting("columns")%>"
    148148      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/reporterclonetemplates/list_templates.jsp

    r5910 r5935  
    191191    <tbl:table
    192192      id="templates"
    193       clazz="itemlist"
     193     
    194194      columns="<%=cc.getSetting("columns")%>"
    195195      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/reporterclonetemplates/view_template.jsp

    r5910 r5935  
    296296          <tbl:table
    297297            id="properties"
    298             clazz="itemlist"
     298           
    299299            columns="all"
    300300            >
     
    370370          <tbl:table
    371371            id="itemsSharedTo"
    372             clazz="itemlist"
     372           
    373373            columns="all"
    374374          >
  • trunk/www/admin/reportertypes/list_reportertypes.jsp

    r5910 r5935  
    178178    <tbl:table
    179179      id="reporterTypes"
    180       clazz="itemlist"
     180     
    181181      columns="<%=cc.getSetting("columns")%>"
    182182      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/roles/list_roles.jsp

    r5910 r5935  
    188188    <tbl:table
    189189      id="roles"
    190       clazz="itemlist"
     190     
    191191      columns="<%=cc.getSetting("columns")%>"
    192192      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/roles/view_role.jsp

    r5910 r5935  
    383383          <tbl:table
    384384            id="members"
    385             clazz="itemlist"
     385           
    386386            columns="all"
    387387            >
  • trunk/www/admin/services/services.jsp

    r5903 r5935  
    5959    <tbl:table
    6060      id="services"
    61       clazz="itemlist"
     61     
    6262      columns="all"
    6363      >
  • trunk/www/admin/software/list_software.jsp

    r5910 r5935  
    193193    <tbl:table
    194194      id="software"
    195       clazz="itemlist"
     195     
    196196      columns="<%=cc.getSetting("columns")%>"
    197197      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/software/view_software.jsp

    r5910 r5935  
    285285          <tbl:table
    286286            id="itemsSharedTo"
    287             clazz="itemlist"
     287           
    288288            columns="all"
    289289          >
  • trunk/www/admin/users/list_users.jsp

    r5921 r5935  
    222222    <tbl:table
    223223      id="users"
    224       clazz="itemlist"
     224     
    225225      columns="<%=cc.getSetting("columns")%>"
    226226      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/admin/users/view_user.jsp

    r5910 r5935  
    352352          <tbl:table
    353353            id="membership"
    354             clazz="itemlist"
     354           
    355355            columns="all"
    356356            >
  • trunk/www/biomaterials/bioplateeventtypes/list_eventtypes.jsp

    r5910 r5935  
    177177    <tbl:table
    178178      id="bioPlateEventTypes"
    179       clazz="itemlist"
     179     
    180180      columns="<%=cc.getSetting("columns")%>"
    181181      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/bioplates/events/list_events.jsp

    r5910 r5935  
    225225    <tbl:table
    226226      id="events"
    227       clazz="itemlist"
     227     
    228228      columns="<%=cc.getSetting("columns")%>"
    229229      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/bioplates/events/view_event.jsp

    r5910 r5935  
    335335          <tbl:table
    336336            id="participants"
    337             clazz="itemlist"
     337           
    338338            columns="all"
    339339            >
     
    408408          <tbl:table
    409409            id="events"
    410             clazz="itemlist"
     410           
    411411            columns="all"
    412412            >
  • trunk/www/biomaterials/bioplates/list_bioplates.jsp

    r5910 r5935  
    223223    <tbl:table
    224224      id="bioplates"
    225       clazz="itemlist"
     225     
    226226      columns="<%=cc.getSetting("columns")%>"
    227227      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/bioplates/view_bioplate.jsp

    r5927 r5935  
    533533        <jsp:param name="title" value="Other items related to this bioplate" />
    534534      </jsp:include>
    535       <%
    536       // Tables with users/groups/projects that this item is shared to
    537       MultiPermissions mp = new MultiPermissions(Collections.singleton(bioplate));
    538       ItemResultList<User> users = mp.getUsers().list(dc);
    539       ItemResultList<Group> groups = mp.getGroups().list(dc);
    540       ItemResultList<Project> projects = mp.getProjects().list(dc);
    541       int totalShare = users.size() + groups.size() + projects.size();
    542      
    543       if (totalShare > 0)
    544       {
    545         %>
    546         <base:section
    547           id="sharedTo"
    548           title="<%="Shared to (" + totalShare + ")"%>"
    549           context="<%=cc%>"
    550           >
    551           <tbl:table
    552             id="itemsSharedTo"
    553             clazz="itemlist"
    554             columns="all"
    555           >
    556             <tbl:columndef
    557               id="itemType"
    558               title="Item type"
    559             />
    560             <tbl:columndef
    561               id="name"
    562               title="Name"
    563             />
    564             <tbl:columndef
    565               id="permissions"
    566               title="Permissions"
    567             />
    568             <tbl:data>
    569               <tbl:columns>
    570               </tbl:columns>
    571               <tbl:rows>
    572               <%
    573               for (Project project : projects)
    574               {
    575                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    576                 %>     
    577                 <tbl:row>
    578                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    579                   <tbl:cell column="name"><base:icon
    580                     image="deleted.gif"
    581                     tooltip="This item has been scheduled for deletion"
    582                     visible="<%=project.isRemoved()%>"
    583                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    584                   <tbl:cell column="permissions">
    585                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    586                   </tbl:cell>
    587                 </tbl:row>
    588                 <%
    589               }
    590               for (Group group : groups)
    591               {
    592                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    593                 %>
    594                 <tbl:row>             
    595                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    596                   <tbl:cell column="name"><base:icon
    597                     image="deleted.gif"
    598                     tooltip="This item has been scheduled for deletion"
    599                     visible="<%=group.isRemoved()%>"
    600                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    601                   <tbl:cell column="permissions">
    602                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    603                   </tbl:cell>
    604                 </tbl:row>
    605                 <% 
    606               }
    607               for (User user : users)
    608               {
    609                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    610                 %>
    611                 <tbl:row>             
    612                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    613                   <tbl:cell column="name"><base:icon
    614                     image="deleted.gif"
    615                     tooltip="This item has been scheduled for deletion"
    616                     visible="<%=user.isRemoved()%>"
    617                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    618                   <tbl:cell column="permissions">
    619                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    620                   </tbl:cell>
    621                 </tbl:row>
    622                 <%
    623               }
    624               %>
    625               </tbl:rows>
    626             </tbl:data>
    627           </tbl:table>
    628         </base:section>
    629         <%
    630       }
    631       else
    632       {
    633         %>
    634         <h4>Shared to</h4>
    635         This bioplate is not shared
    636         (or, you don't have permission to view the ones it is shared to).
    637         <%
    638       }
    639       %>
    640 
    641 
    642     </div>
     535      <jsp:include page="../../common/share/list_share.jsp">
     536        <jsp:param name="ID" value="<%=ID%>" />
     537        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     538        <jsp:param name="item_id" value="<%=itemId%>" />
     539        <jsp:param name="title" value="Shared to" />
     540      </jsp:include>
     541      </div>
    643542      </t:tab>
    644543     
    645       <t:tab id="annotations" title="Annotations" >
    646         <div class="boxed">
     544      <t:tab id="annotations" title="Annotations"
     545        tooltip="View annotation values" clazz="white">
    647546        <jsp:include page="../../common/annotations/list_annotations.jsp">
    648547          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    650549          <jsp:param name="ID" value="<%=ID%>" />
    651550        </jsp:include>
    652         </div>
    653551      </t:tab>
     552
    654553      <t:tab id="wells" title="Wells" />
    655554      <t:tab id="events" title="Plate events" />
  • trunk/www/biomaterials/bioplates/wells/list_biowells.jsp

    r5923 r5935  
    209209    <tbl:table
    210210      id="biowells"
    211       clazz="itemlist"
     211     
    212212      columns="<%=cc.getSetting("columns")%>"
    213213      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/bioplatetypes/list_platetypes.jsp

    r5910 r5935  
    203203    <tbl:table
    204204      id="bioPlateTypes"
    205       clazz="itemlist"
     205     
    206206      columns="<%=cc.getSetting("columns")%>"
    207207      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/biosources/list_biosources.jsp

    r5919 r5935  
    293293      <tbl:table
    294294        id="biosources"
    295         clazz="itemlist"
     295       
    296296        columns="<%=cc.getSetting("columns")%>"
    297297        sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/biosources/view_biosource.jsp

    r5918 r5935  
    194194        </th>
    195195        <td style="padding: 0px;">
    196         <tbl:toolbar subclass="bottomborder">
    197           <tbl:button
    198             disabled="<%=writePermission ? false : true%>"
    199             image="edit.gif"
    200             onclick="editItem()"
    201             title="Edit&hellip;"
    202             tooltip="<%=writePermission ? "Edit this biosource" : "You do not have permission to edit this biosource"%>"
    203           />
    204           <tbl:button
    205             disabled="<%=deletePermission ? false : true%>"
    206             image="delete.gif"
    207             onclick="deleteItem()"
    208             title="Delete"
    209             visible="<%=!bioSource.isRemoved()%>"
    210             tooltip="<%=deletePermission ? "Delete this biosource" : "You do not have permission to delete this biosource"%>"
    211           />
    212           <tbl:button
    213             disabled="<%=writePermission ? false : true%>"
    214             image="restore.gif"
    215             onclick="restoreItem()"
    216             title="Restore"
    217             visible="<%=bioSource.isRemoved()%>"
    218             tooltip="<%=writePermission ? "Restore this biosource" : "You do not have permission to restore this biosource"%>"
    219           />
    220           <tbl:button
    221             disabled="<%=sharePermission ? false : true%>"
    222             image="share.gif"
    223             onclick="shareItem()"
    224             title="Share&hellip;"
    225             tooltip="<%=sharePermission ? "Share this biosource to other user, groups and projects" : "You do not have permission to share this biosource"%>"
    226           />
    227           <tbl:button
    228             disabled="<%=setOwnerPermission ? false : true%>"
    229             image="take_ownership.png"
    230             onclick="setOwner()"
    231             title="Set owner&hellip;"
    232             tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
    233           />
    234           <tbl:button
    235             image="add.png"
    236             onclick="newSample()"
    237             title="New sample&hellip;"
    238             tooltip="Create a new sample from this biosource"
    239             visible="<%=sc.hasPermission(Permission.CREATE, Item.SAMPLE) && usePermission%>"
    240           />
    241           <tbl:button
    242             image="import.gif"
    243             onclick="runPlugin('ImportItem')"
    244             title="Import&hellip;"
    245             tooltip="Import data"
    246             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
    247           />
    248           <tbl:button
    249             image="export.gif"
    250             onclick="runPlugin('ExportItem')"
    251             title="Export&hellip;"
    252             tooltip="Export data"
    253             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
    254           />
    255           <tbl:button
    256             image="runplugin.gif"
    257             onclick="runPlugin('RunPlugin')"
    258             title="Run plugin&hellip;"
    259             tooltip="Run a plugin"
    260             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
    261           />
    262           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
    263             wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
    264           <tbl:button
    265             image="help.png"
    266             onclick="<%="Main.openHelp('" + ID +"', 'biosource.view.properties')"%>"
    267             title="Help&hellip;"
    268             tooltip="Get help about this page"
    269             />
    270           </tbl:toolbar>
    271        
     196          <tbl:toolbar subclass="bottomborder">
     197            <tbl:button
     198              disabled="<%=writePermission ? false : true%>"
     199              image="edit.gif"
     200              onclick="editItem()"
     201              title="Edit&hellip;"
     202              tooltip="<%=writePermission ? "Edit this biosource" : "You do not have permission to edit this biosource"%>"
     203            />
     204            <tbl:button
     205              disabled="<%=deletePermission ? false : true%>"
     206              image="delete.gif"
     207              onclick="deleteItem()"
     208              title="Delete"
     209              visible="<%=!bioSource.isRemoved()%>"
     210              tooltip="<%=deletePermission ? "Delete this biosource" : "You do not have permission to delete this biosource"%>"
     211            />
     212            <tbl:button
     213              disabled="<%=writePermission ? false : true%>"
     214              image="restore.gif"
     215              onclick="restoreItem()"
     216              title="Restore"
     217              visible="<%=bioSource.isRemoved()%>"
     218              tooltip="<%=writePermission ? "Restore this biosource" : "You do not have permission to restore this biosource"%>"
     219            />
     220            <tbl:button
     221              disabled="<%=sharePermission ? false : true%>"
     222              image="share.gif"
     223              onclick="shareItem()"
     224              title="Share&hellip;"
     225              tooltip="<%=sharePermission ? "Share this biosource to other user, groups and projects" : "You do not have permission to share this biosource"%>"
     226            />
     227            <tbl:button
     228              disabled="<%=setOwnerPermission ? false : true%>"
     229              image="take_ownership.png"
     230              onclick="setOwner()"
     231              title="Set owner&hellip;"
     232              tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
     233            />
     234            <tbl:button
     235              image="add.png"
     236              onclick="newSample()"
     237              title="New sample&hellip;"
     238              tooltip="Create a new sample from this biosource"
     239              visible="<%=sc.hasPermission(Permission.CREATE, Item.SAMPLE) && usePermission%>"
     240            />
     241            <tbl:button
     242              image="import.gif"
     243              onclick="runPlugin('ImportItem')"
     244              title="Import&hellip;"
     245              tooltip="Import data"
     246              visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
     247            />
     248            <tbl:button
     249              image="export.gif"
     250              onclick="runPlugin('ExportItem')"
     251              title="Export&hellip;"
     252              tooltip="Export data"
     253              visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
     254            />
     255            <tbl:button
     256              image="runplugin.gif"
     257              onclick="runPlugin('RunPlugin')"
     258              title="Run plugin&hellip;"
     259              tooltip="Run a plugin"
     260              visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
     261            />
     262            <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
     263              wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
     264            <tbl:button
     265              image="help.png"
     266              onclick="<%="Main.openHelp('" + ID +"', 'biosource.view.properties')"%>"
     267              title="Help&hellip;"
     268              tooltip="Get help about this page"
     269              />
     270            </tbl:toolbar>
    272271        </td>
    273272      </tr>
     
    307306      sampleQuery.order(Orders.asc(Hql.property("name")));
    308307      ItemResultList<Sample> samples = sampleQuery.list(dc);
    309       if (samples.size() == 0)
    310       {
    311         %>
    312         <h4>Child samples</h4>
    313         No samples have been created from this biosource
    314         (or, you don't have permission to view them).
     308      %>
     309      <base:section
     310        id="sampleSection"
     311        title="<%="Child samples (" + samples.size() + ")"%>"
     312        context="<%=cc%>"
     313        >
    315314        <%
    316       }
    317       else
    318       {
    319         %>
    320         <base:section
    321           id="sampleSection"
    322           title="<%="Child samples (" + samples.size() + ")"%>"
    323           context="<%=cc%>"
    324           >
     315        if (samples.size() == 0)
     316        {
     317          %>
     318          <div class="messagecontainer note">
     319          No samples have been created from this biosource
     320          (or, you don't have permission to view them).
     321          </div>
     322          <%
     323        }
     324        else
     325        {
     326          %>
    325327          <tbl:table
    326328            id="samples"
    327             clazz="itemlist"
     329           
    328330            columns="all"
    329331            >
     
    363365          </tbl:data>
    364366          </tbl:table>
    365         </base:section>
    366         <%
    367       }     
    368       %>
     367          <%
     368        }     
     369        %>
     370      </base:section>
    369371      <jsp:include page="../../common/anytoany/list_anytoany.jsp">
    370372        <jsp:param name="ID" value="<%=ID%>" />
     
    374376      </jsp:include>
    375377     
    376       <%
    377       // Tables with users/groups/projects that this item is shared to
    378       MultiPermissions mp = new MultiPermissions(Collections.singleton(bioSource));
    379       ItemResultList<User> users = mp.getUsers().list(dc);
    380       ItemResultList<Group> groups = mp.getGroups().list(dc);
    381       ItemResultList<Project> projects = mp.getProjects().list(dc);
    382       int totalShare = users.size() + groups.size() + projects.size();
    383      
    384       if (totalShare > 0)
    385       {
    386         %>
    387         <base:section
    388           id="sharedTo"
    389           title="<%="Shared to (" + totalShare + ")"%>"
    390           context="<%=cc%>"
    391           >
    392           <tbl:table
    393             id="itemsSharedTo"
    394             clazz="itemlist"
    395             columns="all"
    396           >
    397             <tbl:columndef
    398               id="itemType"
    399               title="Item type"
    400             />
    401             <tbl:columndef
    402               id="name"
    403               title="Name"
    404             />
    405             <tbl:columndef
    406               id="permissions"
    407               title="Permissions"
    408             />
    409             <tbl:data>
    410               <tbl:columns>
    411               </tbl:columns>
    412               <tbl:rows>
    413               <%
    414               for (Project project : projects)
    415               {
    416                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    417                 %>     
    418                 <tbl:row>
    419                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    420                   <tbl:cell column="name"><base:icon
    421                     image="deleted.gif"
    422                     tooltip="This item has been scheduled for deletion"
    423                     visible="<%=project.isRemoved()%>"
    424                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    425                   <tbl:cell column="permissions">
    426                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    427                   </tbl:cell>
    428                 </tbl:row>
    429                 <%
    430               }
    431               for (Group group : groups)
    432               {
    433                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    434                 %>
    435                 <tbl:row>             
    436                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    437                   <tbl:cell column="name"><base:icon
    438                     image="deleted.gif"
    439                     tooltip="This item has been scheduled for deletion"
    440                     visible="<%=group.isRemoved()%>"
    441                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    442                   <tbl:cell column="permissions">
    443                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    444                   </tbl:cell>
    445                 </tbl:row>
    446                 <% 
    447               }
    448               for (User user : users)
    449               {
    450                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    451                 %>
    452                 <tbl:row>             
    453                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    454                   <tbl:cell column="name"><base:icon
    455                     image="deleted.gif"
    456                     tooltip="This item has been scheduled for deletion"
    457                     visible="<%=user.isRemoved()%>"
    458                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    459                   <tbl:cell column="permissions">
    460                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    461                   </tbl:cell>
    462                 </tbl:row>
    463                 <%
    464               }
    465               %>
    466               </tbl:rows>
    467             </tbl:data>
    468           </tbl:table>
    469         </base:section>
    470         <%
    471       }
    472       else
    473       {
    474         %>
    475         <h4>Shared to</h4>
    476         This biosource is not shared
    477         (or, you don't have permission to view the ones it is shared to).
    478         <%
    479       }     
    480       %>
     378      <jsp:include page="../../common/share/list_share.jsp">
     379        <jsp:param name="ID" value="<%=ID%>" />
     380        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     381        <jsp:param name="item_id" value="<%=itemId%>" />
     382        <jsp:param name="title" value="Shared to" />
     383      </jsp:include>
    481384      </t:tab>
    482385     
    483       <t:tab id="annotations" title="Annotations" >
     386      <t:tab id="annotations" title="Annotations"
     387        tooltip="View annotation values" clazz="white">
    484388        <jsp:include page="../../common/annotations/list_annotations.jsp">
    485389          <jsp:param name="item_type" value="<%=itemType.name()%>" />
  • trunk/www/biomaterials/events/list_events.jsp

    r5910 r5935  
    224224    <tbl:table
    225225      id="events"
    226       clazz="itemlist"
     226     
    227227      columns="<%=cc.getSetting("columns")%>"
    228228      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/extracts/list_extracts.jsp

    r5910 r5935  
    285285    <tbl:table
    286286      id="extracts"
    287       clazz="itemlist"
    288287      columns="<%=cc.getSetting("columns")%>"
    289288      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/extracts/view_extract.jsp

    r5910 r5935  
    196196  </base:head>
    197197  <base:body>
    198     <p>
    199     <p:path>
    200       <p:pathelement title="Extracts" href="<%="index.jsp?ID="+ID%>" />
    201       <p:pathelement title="<%=HTML.encodeTags(extract.getName())%>" />
    202     </p:path>
     198    <p:path><p:pathelement
     199      title="Extracts" href="<%="index.jsp?ID="+ID%>" /><p:pathelement
     200      title="<%=HTML.encodeTags(extract.getName())%>" /></p:path>
    203201   
    204     <t:tabcontrol id="main" active="<%=tab%>" switch="switchTab" remember="false">
     202    <t:tabcontrol id="main" subclass="content mastertabcontrol" active="<%=tab%>" switch="switchTab" remember="false">
    205203    <t:tab id="properties" title="Properties">
    206 
    207     <tbl:toolbar
    208       >
    209       <tbl:button
    210         disabled="<%=writePermission ? false : true%>"
    211         image="<%=writePermission ? "edit.gif" : "edit_disabled.gif"%>"
    212         onclick="editItem()"
    213         title="Edit&hellip;"
    214         tooltip="<%=writePermission ? "Edit this extract" : "You do not have permission to edit this extract"%>"
    215       />
    216       <tbl:button
    217         disabled="<%=deletePermission ? false : true%>"
    218         image="<%=deletePermission ? "delete.gif" : "delete_disabled.gif"%>"
    219         onclick="deleteItem()"
    220         title="Delete"
    221         visible="<%=!extract.isRemoved()%>"
    222         tooltip="<%=deletePermission ? "Delete this extract" : "You do not have permission to delete this extract"%>"
    223       />
    224       <tbl:button
    225         disabled="<%=writePermission ? false : true%>"
    226         image="<%=writePermission ? "restore.gif" : "restore_disabled.gif"%>"
    227         onclick="restoreItem()"
    228         title="Restore"
    229         visible="<%=extract.isRemoved()%>"
    230         tooltip="<%=writePermission ? "Restore this extract" : "You do not have permission to restore this extract"%>"
    231       />
    232       <tbl:button
    233         disabled="<%=sharePermission ? false : true%>"
    234         image="<%=sharePermission ? "share.gif" : "share_disabled.gif"%>"
    235         onclick="shareItem()"
    236         title="Share&hellip;"
    237         tooltip="<%=sharePermission ? "Share this extract to other user, groups and projects" : "You do not have permission to share this extract"%>"
    238       />
    239       <tbl:button
    240         disabled="<%=setOwnerPermission ? false : true%>"
    241         image="<%=setOwnerPermission ? "take_ownership.png" : "take_ownership_disabled.png"%>"
    242         onclick="setOwner()"
    243         title="Set owner&hellip;"
    244         tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
    245       />
    246       <tbl:button
    247         image="add.png"
    248         onclick="newExtract()"
    249         title="New child extract&hellip;"
    250         tooltip="Create a new child extract from this extract"
    251         visible="<%=sc.hasPermission(Permission.CREATE, Item.EXTRACT) && usePermission%>"
    252       />
    253       <tbl:button
    254         image="add.png"
    255         onclick="newPhysicalBioAssay()"
    256         title="New physical bioassay&hellip;"
    257         tooltip="Create a new physical bioassay from this extract"
    258         visible="<%=sc.hasPermission(Permission.CREATE, Item.PHYSICALBIOASSAY) && usePermission%>"
    259       />
    260       <tbl:button
    261         image="add.png"
    262         onclick="newRawBioAssay()"
    263         title="New raw bioassay&hellip;"
    264         tooltip="Create a new raw bioassay from this extract"
    265         visible="<%=sc.hasPermission(Permission.CREATE, Item.RAWBIOASSAY) && usePermission%>"
    266       />
    267       <tbl:button
    268         image="import.gif"
    269         onclick="runPlugin('ImportItem')"
    270         title="Import&hellip;"
    271         tooltip="Import data"
    272         visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
    273       />
    274       <tbl:button
    275         image="export.gif"
    276         onclick="runPlugin('ExportItem')"
    277         title="Export&hellip;"
    278         tooltip="Export data"
    279         visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
    280       />
    281       <tbl:button
    282         image="runplugin.gif"
    283         onclick="runPlugin('RunPlugin')"
    284         title="Run plugin&hellip;"
    285         tooltip="Run a plugin"
    286         visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
    287       />
    288       <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
    289         wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
    290       <tbl:button
    291         image="help.png"
    292         onclick="<%="Main.openHelp('" + ID +"', 'extract.view.properties')"%>"
    293         title="Help&hellip;"
    294         tooltip="Get help about this page"
    295       />
    296       </tbl:toolbar>
    297     <div class="boxedbottom">
    298       <div class="itemstatus">Permissions on this item: <i><%=PermissionUtil.getFullPermissionNames(extract)%></i></div>
    299       <%
    300       if (extract.isRemoved() || extract.isShared())
    301       {
    302         %>
    303         <div class="itemstatus">
     204      <div>
     205      <table class="fullform bottomborder">
     206      <tr>
     207        <th class="itemstatus">
    304208          <base:icon
    305             image="<%=deletePermanentlyPermission ? "deleted.gif" : "deleted_disabled.gif"%>"
    306             onclick="<%=deletePermanentlyPermission ? "deleteItemPermanently()" : null%>"
    307             tooltip="<%=deletePermanentlyPermission ? "Permanently delete this item" : null%>"
    308             visible="<%=isRemoved%>"> This item has been flagged for deletion<br></base:icon>
     209            image="shared.gif"
     210            visible="<%=extract.isShared()%>"
     211            tooltip="This item is shared to other users, groups and/or projects"
     212          />
     213          <base:icon
     214            image="deleted.gif"
     215            onclick="deleteItemPermanently()"
     216            tooltip="This item has been flagged for deletion. Click to delete it now."
     217            enabled="<%=deletePermanentlyPermission %>"
     218            visible="<%=isRemoved%>"
     219          />
    309220          <base:icon image="used.gif"
    310221            onclick="showUsingItems()"
    311             tooltip="Show the items that are using this one"
    312             visible="<%=isUsed%>"> This item is used by other items and can't be permanently deleted<br></base:icon>
    313           <base:icon image="shared.gif"
    314             visible="<%=extract.isShared()%>"> This item is shared to other users, groups and/or projects</base:icon>
    315         </div>
    316         <%
    317       }
    318       %>
    319       <table class="form" cellspacing="0">
    320       <tr>
    321         <td class="prompt">Name</td>
    322         <td><%=HTML.encodeTags(extract.getName())%></td>
    323       </tr>
    324       <tr>
    325         <td class="prompt">Type</td>
    326         <td><base:propertyvalue item="<%=extract%>" property="itemSubtype" /></td>
    327       </tr>
    328       <tr>
    329         <td class="prompt">External ID</td>
    330         <td><%=HTML.encodeTags(extract.getExternalId())%></td>
    331       </tr>
    332       <tr>
    333         <td class="prompt">Created</td>
    334         <td><%=dateFormatter.format(creationEvent.getEventDate())%></td>
    335       </tr>
    336       <tr>
    337         <td class="prompt">Registered</td>
    338         <td><%=dateFormatter.format(creationEvent.getEntryDate())%></td>
    339       </tr>
    340       <tr>
    341         <td class="prompt">Tag</td>
    342         <td><base:propertyvalue item="<%=extract%>" property="tag"/></td>
    343       </tr>
    344       <tr>
    345         <td class="prompt">Protocol</td>
    346         <td><base:propertyvalue item="<%=creationEvent%>" property="protocol"/></td>
    347       </tr>
    348       <tr>
    349         <td class="prompt">Original quantity</td>
    350         <td><%=Values.formatNumber(extract.getOriginalQuantity(), 2, " µg")%></td>
    351       </tr>
    352       <tr>
    353         <td class="prompt">Remaining quantity</td>
    354         <td><%=Values.formatNumber(extract.getRemainingQuantity(), 2, " µg")%></td>
    355       </tr>
    356       <tr>
    357         <td class="prompt">Bioplate</td>
    358         <td>
    359           <base:propertyvalue item="<%=extract%>" property="bioWell.bioPlate" />
    360           <%
    361           try
    362           {
    363             BioWell well = extract.getBioWell();
    364             if (well != null)
     222            tooltip="This item is used by other items and can't be permanently deleted. Show the items that are using this one"
     223            visible="<%=isRemoved && isUsed%>" />
     224        </th>
     225        <td style="padding: 0px;">
     226          <tbl:toolbar subclass="bottomborder">
     227            <tbl:button
     228              disabled="<%=writePermission ? false : true%>"
     229              image="edit.gif"
     230              onclick="editItem()"
     231              title="Edit&hellip;"
     232              tooltip="<%=writePermission ? "Edit this extract" : "You do not have permission to edit this extract"%>"
     233            />
     234            <tbl:button
     235              disabled="<%=deletePermission ? false : true%>"
     236              image="delete.gif"
     237              onclick="deleteItem()"
     238              title="Delete"
     239              visible="<%=!extract.isRemoved()%>"
     240              tooltip="<%=deletePermission ? "Delete this extract" : "You do not have permission to delete this extract"%>"
     241            />
     242            <tbl:button
     243              disabled="<%=writePermission ? false : true%>"
     244              image="restore.gif"
     245              onclick="restoreItem()"
     246              title="Restore"
     247              visible="<%=extract.isRemoved()%>"
     248              tooltip="<%=writePermission ? "Restore this extract" : "You do not have permission to restore this extract"%>"
     249            />
     250            <tbl:button
     251              disabled="<%=sharePermission ? false : true%>"
     252              image="share.gif"
     253              onclick="shareItem()"
     254              title="Share&hellip;"
     255              tooltip="<%=sharePermission ? "Share this extract to other user, groups and projects" : "You do not have permission to share this extract"%>"
     256            />
     257            <tbl:button
     258              disabled="<%=setOwnerPermission ? false : true%>"
     259              image="take_ownership.png"
     260              onclick="setOwner()"
     261              title="Set owner&hellip;"
     262              tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
     263            />
     264            <tbl:button
     265              image="add.png"
     266              onclick="newExtract()"
     267              title="New child extract&hellip;"
     268              tooltip="Create a new child extract from this extract"
     269              visible="<%=sc.hasPermission(Permission.CREATE, Item.EXTRACT) && usePermission%>"
     270            />
     271            <tbl:button
     272              image="add.png"
     273              onclick="newPhysicalBioAssay()"
     274              title="New physical bioassay&hellip;"
     275              tooltip="Create a new physical bioassay from this extract"
     276              visible="<%=sc.hasPermission(Permission.CREATE, Item.PHYSICALBIOASSAY) && usePermission%>"
     277            />
     278            <tbl:button
     279              image="add.png"
     280              onclick="newRawBioAssay()"
     281              title="New raw bioassay&hellip;"
     282              tooltip="Create a new raw bioassay from this extract"
     283              visible="<%=sc.hasPermission(Permission.CREATE, Item.RAWBIOASSAY) && usePermission%>"
     284            />
     285            <tbl:button
     286              image="import.gif"
     287              onclick="runPlugin('ImportItem')"
     288              title="Import&hellip;"
     289              tooltip="Import data"
     290              visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
     291            />
     292            <tbl:button
     293              image="export.gif"
     294              onclick="runPlugin('ExportItem')"
     295              title="Export&hellip;"
     296              tooltip="Export data"
     297              visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
     298            />
     299            <tbl:button
     300              image="runplugin.gif"
     301              onclick="runPlugin('RunPlugin')"
     302              title="Run plugin&hellip;"
     303              tooltip="Run a plugin"
     304              visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
     305            />
     306            <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
     307              wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
     308            <tbl:button
     309              image="help.png"
     310              onclick="<%="Main.openHelp('" + ID +"', 'extract.view.properties')"%>"
     311              title="Help&hellip;"
     312              tooltip="Get help about this page"
     313            />
     314            </tbl:toolbar>
     315          </td>
     316        </tr>
     317        <tr>
     318          <th>Name</th>
     319          <td><%=HTML.encodeTags(extract.getName())%></td>
     320        </tr>
     321        <tr>
     322          <th>Type</th>
     323          <td><base:propertyvalue item="<%=extract%>" property="itemSubtype" /></td>
     324        </tr>
     325        <tr>
     326          <th>External ID</th>
     327          <td><%=HTML.encodeTags(extract.getExternalId())%></td>
     328        </tr>
     329        <tr>
     330          <th>Created</th>
     331          <td><%=dateFormatter.format(creationEvent.getEventDate())%></td>
     332        </tr>
     333        <tr>
     334          <th>Registered</th>
     335          <td><%=dateFormatter.format(creationEvent.getEntryDate())%></td>
     336        </tr>
     337        <tr>
     338          <th>Tag</th>
     339          <td><base:propertyvalue item="<%=extract%>" property="tag"/></td>
     340        </tr>
     341        <tr>
     342          <th>Protocol</th>
     343          <td><base:propertyvalue item="<%=creationEvent%>" property="protocol"/></td>
     344        </tr>
     345        <tr>
     346          <th>Original quantity</th>
     347          <td><%=Values.formatNumber(extract.getOriginalQuantity(), 2, " µg")%></td>
     348        </tr>
     349        <tr>
     350          <th class="subprompt">- remaining</th>
     351          <td><%=Values.formatNumber(extract.getRemainingQuantity(), 2, " µg")%></td>
     352        </tr>
     353        <tr>
     354          <th>Bioplate</th>
     355          <td>
     356            <base:propertyvalue item="<%=extract%>" property="bioWell.bioPlate" />
     357            <%
     358            try
    365359            {
    366               %>
    367               [<%=rowFormatter.format(well.getRow())%>,<%=columnFormatter.format(well.getColumn())%>]
    368               <base:icon image="locked.gif"  visible="<%=extract.isLockedInWell()%>"/>
    369             <%
     360              BioWell well = extract.getBioWell();
     361              if (well != null)
     362              {
     363                %>
     364                [<%=rowFormatter.format(well.getRow())%><%=columnFormatter.format(well.getColumn())%>]
     365                <base:icon image="locked.gif"  visible="<%=extract.isLockedInWell()%>"/>
     366              <%
     367              }
    370368            }
    371           }
    372           catch (PermissionDeniedException ex)
    373           {}
    374           %>
    375         </td>
    376       </tr>
    377       <tr>
    378         <td class="prompt">Owner</td>
    379         <td><base:propertyvalue item="<%=extract%>" property="owner"/></td>
    380       </tr>
    381       <tr >
    382         <td class="prompt">Description</td>
    383         <td><%=HTML.niceFormat(extract.getDescription())%></td>
    384       </tr>
     369            catch (PermissionDeniedException ex)
     370            {}
     371            %>
     372          </td>
     373        </tr>
     374        <tr>
     375          <th>Owner</th>
     376          <td><base:propertyvalue item="<%=extract%>" property="owner"/></td>
     377        </tr>
     378        <tr>
     379          <th>Permissions</th>
     380          <td><%=PermissionUtil.getFullPermissionNames(extract)%></td>
     381        </tr>
     382        <tr>
     383          <th>Description</th>
     384          <td><%=HTML.niceFormat(extract.getDescription())%></td>
     385        </tr>
    385386      </table>
     387      </div>
    386388 
    387389      <%
     
    389391      sourceQuery.order(Orders.asc(Hql.property("bioMaterial.name")));
    390392      ResultList<BioMaterialEventSource> sources = sourceQuery.list(dc);
    391       if (sources.size() == 0)
    392       {
    393         %>
    394         <h4>Parent items</h4>
    395         This extract doesn't have any parent items
    396         (or, you don't have permission to view them).
     393      %>
     394      <base:section
     395        id="parentsSection"
     396        title="<%="Parent items (" + sources.size() + ")"%>"
     397        context="<%=cc%>"
     398        >
    397399        <%
    398       }
    399       else
    400       {
    401         %>
    402         <base:section
    403           id="parentsSection"
    404           title="<%="Parent items (" + sources.size() + ")"%>"
    405           context="<%=cc%>"
    406           >
     400        if (sources.size() == 0)
     401        {
     402          %>
     403          <div class="messagecontainer note">
     404          This extract doesn't have any parent items
     405          (or, you don't have permission to view them).
     406          </div>
     407          <%
     408        }
     409        else
     410        {
     411          %>
    407412          <tbl:table
    408413            id="parents"
    409             clazz="itemlist"
    410414            columns="all"
    411415            >
     
    457461          </tbl:data>
    458462          </tbl:table>
    459         </base:section>
    460         <%
    461       }
    462      
     463          <%
     464        }
     465      %>
     466      </base:section>
     467      <%
    463468      SpecialQuery<BioMaterialEventSource> childQuery = extract.getChildCreationEvents();
    464469      childQuery.join(Hql.innerJoin("es", "event", "evt", true));
     
    468473      childQuery.order(Orders.asc(Hql.property("bm", "name")));
    469474      ResultList<BioMaterialEventSource> children = childQuery.list(dc);
    470       if (children.size() == 0)
    471       {
    472         %>
    473         <h4>Child items</h4>
    474         No child items have been created from this extract
    475         (or, you don't have permission to view them).
     475      %>
     476      <base:section
     477        id="childSection"
     478        title="<%="Child items (" + children.size() + ")"%>"
     479        context="<%=cc%>"
     480        >
    476481        <%
    477       }
    478       else
    479       {
    480         %>
    481         <base:section
    482           id="childSection"
    483           title="<%="Child items (" + children.size() + ")"%>"
    484           context="<%=cc%>"
    485           >
     482        if (children.size() == 0)
     483        {
     484          %>
     485          <div class="messagecontainer note">
     486          No child items have been created from this extract
     487          (or, you don't have permission to view them).
     488          </div>
     489          <%
     490        }
     491        else
     492        {
     493          %>
    486494          <tbl:table
    487495            id="children"
    488             clazz="itemlist"
    489496            columns="all"
    490497            >
     
    543550            </tbl:data>
    544551          </tbl:table>
    545         </base:section>
    546         <%
    547       }
    548       %>
     552          <%
     553        }
     554        %>
     555      </base:section>
    549556      <jsp:include page="../../common/anytoany/list_anytoany.jsp">
    550557        <jsp:param name="ID" value="<%=ID%>" />
     
    553560        <jsp:param name="title" value="Other items related to this extract" />
    554561      </jsp:include>
    555       <%
    556       MultiPermissions mp = new MultiPermissions(Collections.singleton(extract));
    557       ItemResultList<User> users = mp.getUsers().list(dc);
    558       ItemResultList<Group> groups = mp.getGroups().list(dc);
    559       ItemResultList<Project> projects = mp.getProjects().list(dc);
    560       int totalShare = users.size() + groups.size() + projects.size();
    561      
    562       if (totalShare > 0)
    563       {
    564         %>
    565         <base:section
    566           id="sharedTo"
    567           title="<%="Shared to (" + totalShare + ")"%>"
    568           context="<%=cc%>"
    569           >
    570           <tbl:table
    571             id="itemsSharedTo"
    572             clazz="itemlist"
    573             columns="all"
    574           >
    575             <tbl:columndef
    576               id="itemType"
    577               title="Item type"
    578             />
    579             <tbl:columndef
    580               id="name"
    581               title="Name"
    582             />
    583             <tbl:columndef
    584               id="permissions"
    585               title="Permissions"
    586             />
    587             <tbl:data>
    588               <tbl:columns>
    589               </tbl:columns>
    590               <tbl:rows>
    591               <%
    592               for (Project project : projects)
    593               {
    594                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    595                 %>     
    596                 <tbl:row>
    597                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    598                   <tbl:cell column="name"><base:icon
    599                     image="deleted.gif"
    600                     tooltip="This item has been scheduled for deletion"
    601                     visible="<%=project.isRemoved()%>"
    602                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    603                   <tbl:cell column="permissions">
    604                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    605                   </tbl:cell>
    606                 </tbl:row>
    607                 <%
    608               }
    609               for (Group group : groups)
    610               {
    611                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    612                 %>
    613                 <tbl:row>             
    614                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    615                   <tbl:cell column="name"><base:icon
    616                     image="deleted.gif"
    617                     tooltip="This item has been scheduled for deletion"
    618                     visible="<%=group.isRemoved()%>"
    619                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    620                   <tbl:cell column="permissions">
    621                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    622                   </tbl:cell>
    623                 </tbl:row>
    624                 <% 
    625               }
    626               for (User user : users)
    627               {
    628                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    629                 %>
    630                 <tbl:row>             
    631                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    632                   <tbl:cell column="name"><base:icon
    633                     image="deleted.gif"
    634                     tooltip="This item has been scheduled for deletion"
    635                     visible="<%=user.isRemoved()%>"
    636                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    637                   <tbl:cell column="permissions">
    638                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    639                   </tbl:cell>
    640                 </tbl:row>
    641                 <%
    642               }
    643               %>
    644               </tbl:rows>
    645             </tbl:data>
    646           </tbl:table>
    647         </base:section>
    648         <%
    649       }
    650       else
    651       {
    652         %>
    653         <h4>Shared to</h4>
    654         This extract is not shared
    655         (or, you don't have permission to view the ones it is shared to).       
    656         <%
    657       }     
    658       %>
    659      
    660     </div>
     562      <jsp:include page="../../common/share/list_share.jsp">
     563        <jsp:param name="ID" value="<%=ID%>" />
     564        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     565        <jsp:param name="item_id" value="<%=itemId%>" />
     566        <jsp:param name="title" value="Shared to" />
     567      </jsp:include>
    661568      </t:tab>
    662569     
    663570      <t:tab id="annotations" title="Annotations &amp; parameters"
    664         tooltip="View annotation values and protocol parameters">
    665         <div class="boxed">
     571        tooltip="View annotation values and protocol parameters" clazz="white">
    666572        <jsp:include page="../../common/annotations/list_annotations.jsp">
    667573          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    669575          <jsp:param name="ID" value="<%=ID%>" />
    670576        </jsp:include>
    671         </div>
    672577      </t:tab>
    673578     
  • trunk/www/biomaterials/lists/list_lists.jsp

    r5910 r5935  
    192192    <tbl:table
    193193      id="lists"
    194       clazz="itemlist"
     194     
    195195      columns="<%=cc.getSetting("columns")%>"
    196196      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/lists/members/list_members.jsp

    r5910 r5935  
    248248    <tbl:table
    249249      id="members"
    250       clazz="itemlist"
     250     
    251251      columns="<%=cc.getSetting("columns")%>"
    252252      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/lists/view_list.jsp

    r5913 r5935  
    338338          <tbl:table
    339339            id="itemsSharedTo"
    340             clazz="itemlist"
     340           
    341341            columns="all"
    342342          >
  • trunk/www/biomaterials/samples/list_samples.jsp

    r5918 r5935  
    360360    <tbl:table
    361361      id="samples"
    362       clazz="itemlist"
     362     
    363363      columns="<%=cc.getSetting("columns")%>"
    364364      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/samples/view_sample.jsp

    r5918 r5935  
    333333      </tr>
    334334      <tr>
    335         <th>Remaining quantity</th>
     335        <th class="subprompt">- remaining</th>
    336336        <td><%=Values.formatNumber(sample.getRemainingQuantity(), 2, " µg")%></td>
    337337      </tr>
     
    347347            {
    348348              %>
    349               [<%=rowFormatter.format(well.getRow())%>,<%=columnFormatter.format(well.getColumn())%>]
     349              [<%=rowFormatter.format(well.getRow())%><%=columnFormatter.format(well.getColumn())%>]
    350350              <base:icon image="locked.gif"  visible="<%=sample.isLockedInWell()%>"/>
    351351            <%
     
    376376      sourceQuery.order(Orders.asc(Hql.property("bioMaterial.name")));
    377377      ResultList<BioMaterialEventSource> sources = sourceQuery.list(dc);
    378       if (sources.size() == 0)
    379       {
    380         %>
    381         <h4>Parent items</h4>
    382         This sample doesn't have any parent items
    383         (or, you don't have permission to view them).
     378      %>
     379      <base:section
     380        id="parentsSection"
     381        title="<%="Parent items (" + sources.size() + ")"%>"
     382        context="<%=cc%>"
     383        >
    384384        <%
    385       }
    386       else
    387       {
    388         %>
    389         <base:section
    390           id="parentsSection"
    391           title="<%="Parent items (" + sources.size() + ")"%>"
    392           context="<%=cc%>"
    393           >
     385        if (sources.size() == 0)
     386        {
     387          %>
     388          <div class="messagecontainer note">
     389          This sample doesn't have any parent items
     390          (or, you don't have permission to view them).
     391          </div>
     392          <%
     393        }
     394        else
     395        {
     396          %>
    394397          <tbl:table
    395398            id="parents"
    396             clazz="itemlist"
     399           
    397400            columns="all"
    398             >
     401          >
    399402          <tbl:columndef
    400403            id="name"
     
    414417          />
    415418          <tbl:data>
    416             <tbl:columns>
    417             </tbl:columns>
     419            <tbl:headers>
     420              <tbl:headerrow>
     421                <tbl:columnheaders />
     422              </tbl:headerrow>
     423            </tbl:headers>
    418424            <tbl:rows>
    419425            <%
     
    444450          </tbl:data>
    445451          </tbl:table>
    446         </base:section>
    447         <%
    448       }
    449      
     452          <%
     453        }
     454        %>
     455      </base:section>
     456      <%
    450457      SpecialQuery<BioMaterialEventSource> childQuery = sample.getChildCreationEvents();
    451458      childQuery.join(Hql.innerJoin("es", "event", "evt", true));
     
    453460      childQuery.order(Orders.asc(Hql.property("bm", "name")));
    454461      ResultList<BioMaterialEventSource> children = childQuery.list(dc);
    455       if (children.size() == 0)
    456       {
    457         %>
    458         <h4>Child items</h4>
    459         No child items have been created from this sample
    460         (or, you don't have permission to view them).
     462      %>
     463      <base:section
     464        id="childSection"
     465        title="<%="Child items (" + children.size() + ")"%>"
     466        context="<%=cc%>"
     467        >
    461468        <%
    462       }
    463       else
    464       {
    465         %>
    466         <base:section
    467           id="childSection"
    468           title="<%="Child items (" + children.size() + ")"%>"
    469           context="<%=cc%>"
    470           >
     469        if (children.size() == 0)
     470        {
     471          %>
     472          <div class="messagecontainer help">
     473          No child items have been created from this sample
     474          (or, you don't have permission to view them).
     475          </div>
     476          <%
     477        }
     478        else
     479        {
     480          %>
    471481          <tbl:table
    472482            id="children"
    473             clazz="itemlist"
     483           
    474484            columns="all"
    475485            >
     
    491501            />
    492502            <tbl:data>
    493               <tbl:columns></tbl:columns>
     503              <tbl:headers>
     504                <tbl:headerrow>
     505                  <tbl:columnheaders />
     506                </tbl:headerrow>
     507              </tbl:headers>
    494508              <tbl:rows>
    495509              <%
     
    520534            </tbl:data>
    521535          </tbl:table>
    522         </base:section>
    523         <%
    524       }
    525       %>
     536          <%
     537        }
     538        %>
     539      </base:section>
     540     
    526541      <jsp:include page="../../common/anytoany/list_anytoany.jsp">
    527542        <jsp:param name="ID" value="<%=ID%>" />
     
    531546      </jsp:include>
    532547     
    533       <%
    534       // Tables with users/groups/projects that this item is shared to
    535       MultiPermissions mp = new MultiPermissions(Collections.singleton(sample));
    536       ItemResultList<User> users = mp.getUsers().list(dc);
    537       ItemResultList<Group> groups = mp.getGroups().list(dc);
    538       ItemResultList<Project> projects = mp.getProjects().list(dc);
    539       int totalShare = users.size() + groups.size() + projects.size();
    540      
    541       if (totalShare > 0)
    542       {
    543         %>
    544         <base:section
    545           id="sharedTo"
    546           title="<%="Shared to (" + totalShare + ")"%>"
    547           context="<%=cc%>"
    548           >
    549           <tbl:table
    550             id="itemsSharedTo"
    551             clazz="itemlist"
    552             columns="all"
    553           >
    554             <tbl:columndef
    555               id="itemType"
    556               title="Item type"
    557             />
    558             <tbl:columndef
    559               id="name"
    560               title="Name"
    561             />
    562             <tbl:columndef
    563               id="permissions"
    564               title="Permissions"
    565             />
    566             <tbl:data>
    567               <tbl:columns>
    568               </tbl:columns>
    569               <tbl:rows>
    570               <%
    571               for (Project project : projects)
    572               {
    573                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    574                 %>     
    575                 <tbl:row>
    576                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    577                   <tbl:cell column="name"><base:icon
    578                     image="deleted.gif"
    579                     tooltip="This item has been scheduled for deletion"
    580                     visible="<%=project.isRemoved()%>"
    581                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    582                   <tbl:cell column="permissions">
    583                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    584                   </tbl:cell>
    585                 </tbl:row>
    586                 <%
    587               }
    588               for (Group group : groups)
    589               {
    590                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    591                 %>
    592                 <tbl:row>             
    593                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    594                   <tbl:cell column="name"><base:icon
    595                     image="deleted.gif"
    596                     tooltip="This item has been scheduled for deletion"
    597                     visible="<%=group.isRemoved()%>"
    598                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    599                   <tbl:cell column="permissions">
    600                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    601                   </tbl:cell>
    602                 </tbl:row>
    603                 <% 
    604               }
    605               for (User user : users)
    606               {
    607                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    608                 %>
    609                 <tbl:row>             
    610                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    611                   <tbl:cell column="name"><base:icon
    612                     image="deleted.gif"
    613                     tooltip="This item has been scheduled for deletion"
    614                     visible="<%=user.isRemoved()%>"
    615                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    616                   <tbl:cell column="permissions">
    617                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    618                   </tbl:cell>
    619                 </tbl:row>
    620                 <%
    621               }
    622               %>
    623               </tbl:rows>
    624             </tbl:data>
    625           </tbl:table>
    626         </base:section>
    627         <%
    628       }
    629       else
    630       {
    631         %>
    632         <h4>Shared to</h4>
    633         This sample is not shared
    634         (or, you don't have permission to view the ones it is shared to).
    635         <%
    636       }
    637       %>
     548      <jsp:include page="../../common/share/list_share.jsp">
     549        <jsp:param name="ID" value="<%=ID%>" />
     550        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     551        <jsp:param name="item_id" value="<%=itemId%>" />
     552        <jsp:param name="title" value="Shared to" />
     553      </jsp:include>
    638554      </t:tab>
    639555     
    640556      <t:tab id="annotations" title="Annotations &amp; parameters"
    641         tooltip="View annotation values and protocol parameters">
     557        tooltip="View annotation values and protocol parameters" clazz="white">
    642558        <jsp:include page="../../common/annotations/list_annotations.jsp">
    643559          <jsp:param name="item_type" value="<%=itemType.name()%>" />
  • trunk/www/biomaterials/tags/list_tags.jsp

    r5910 r5935  
    198198    <tbl:table
    199199      id="tags"
    200       clazz="itemlist"
     200     
    201201      columns="<%=cc.getSetting("columns")%>"
    202202      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/biomaterials/tags/view_tag.jsp

    r5910 r5935  
    141141  </base:head>
    142142  <base:body>
    143     <p>
    144     <p:path>
    145       <p:pathelement title="Tags" href="<%="index.jsp?ID="+ID%>" />
    146       <p:pathelement title="<%=HTML.encodeTags(tag.getName())%>" />
    147     </p:path>
     143    <p:path><p:pathelement
     144      title="Tags" href="<%="index.jsp?ID="+ID%>" /><p:pathelement
     145      title="<%=HTML.encodeTags(tag.getName())%>" /></p:path>
    148146   
    149     <t:tabcontrol id="main" active="properties">
     147    <t:tabcontrol id="main" subclass="content mastertabcontrol" active="properties">
    150148    <t:tab id="properties" title="Properties">
    151     <tbl:toolbar
    152       >
    153       <tbl:button
    154         disabled="<%=writePermission ? false : true%>"
    155         image="<%=writePermission ? "edit.gif" : "edit_disabled.gif"%>"
    156         onclick="editItem()"
    157         title="Edit&hellip;"
    158         tooltip="<%=writePermission ? "Edit this tag" : "You do not have permission to edit this tag"%>"
    159       />
    160       <tbl:button
    161         disabled="<%=deletePermission ? false : true%>"
    162         image="<%=deletePermission ? "delete.gif" : "delete_disabled.gif"%>"
    163         onclick="deleteItem()"
    164         title="Delete"
    165         visible="<%=!tag.isRemoved()%>"
    166         tooltip="<%=deletePermission ? "Delete this tag" : "You do not have permission to delete this tag"%>"
    167       />
    168       <tbl:button
    169         disabled="<%=writePermission ? false : true%>"
    170         image="<%=writePermission ? "restore.gif" : "restore_disabled.gif"%>"
    171         onclick="restoreItem()"
    172         title="Restore"
    173         visible="<%=tag.isRemoved()%>"
    174         tooltip="<%=writePermission ? "Restore this tag" : "You do not have permission to restore this tag"%>"
    175       />
    176       <tbl:button
    177         disabled="<%=sharePermission ? false : true%>"
    178         image="<%=sharePermission ? "share.gif" : "share_disabled.gif"%>"
    179         onclick="shareItem()"
    180         title="Share&hellip;"
    181         tooltip="<%=sharePermission ? "Share this tag to other user, groups and projects" : "You do not have permission to share this tag"%>"
    182       />
    183       <tbl:button
    184         disabled="<%=setOwnerPermission ? false : true%>"
    185         image="<%=setOwnerPermission ? "take_ownership.png" : "take_ownership_disabled.png"%>"
    186         onclick="setOwner()"
    187         title="Set owner&hellip;"
    188         tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
    189       />
    190       <tbl:button
    191         image="import.gif"
    192         onclick="runPlugin('ImportItem')"
    193         title="Import&hellip;"
    194         tooltip="Import data"
    195         visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
    196       />
    197       <tbl:button
    198         image="export.gif"
    199         onclick="runPlugin('ExportItem')"
    200         title="Export&hellip;"
    201         tooltip="Export data"
    202         visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
    203       />
    204       <tbl:button
    205         image="runplugin.gif"
    206         onclick="runPlugin('RunPlugin')"
    207         title="Run plugin&hellip;"
    208         tooltip="Run a plugin"
    209         visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
    210       />
    211       <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
    212         wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
    213       <tbl:button
    214         image="help.png"
    215         onclick="<%="Main.openHelp('" + ID +"', 'tag.view.properties')"%>"
    216         title="Help&hellip;"
    217         tooltip="Get help about this page"
    218       /> 
    219       </tbl:toolbar>
    220     <div class="boxedbottom">
    221       <div class="itemstatus">Permissions on this item: <i><%=PermissionUtil.getFullPermissionNames(tag)%></i></div>
    222       <%
    223       if (tag.isRemoved() || tag.isShared())
    224       {
    225         %>
    226         <div class="itemstatus">
    227           <base:icon
    228             image="<%=deletePermanentlyPermission ? "deleted.gif" : "deleted_disabled.gif"%>"
    229             onclick="<%=deletePermanentlyPermission ? "deleteItemPermanently()" : null%>"
    230             tooltip="<%=deletePermanentlyPermission ? "Permanently delete this item" : null%>"
    231             visible="<%=isRemoved%>"> This item has been flagged for deletion<br></base:icon>
    232           <base:icon image="used.gif"
    233             onclick="showUsingItems()"
    234             tooltip="Show the items that are using this one"
    235             visible="<%=isUsed%>"> This item is used by other items and can't be permanently deleted<br></base:icon>
    236           <base:icon image="shared.gif"
    237             visible="<%=tag.isShared()%>"> This item is shared to other users, groups and/or projects</base:icon>
    238         </div>
    239         <%
    240       }
    241       %>
    242       <table class="form" cellspacing=0>
     149      <div>
     150      <table class="fullform bottomborder">
    243151      <tr>
    244         <td class="prompt">Name</td>
    245         <td><%=HTML.encodeTags(tag.getName())%></td>
    246       </tr>
    247       <tr>
    248         <td class="prompt">Type</td>
    249         <td><base:propertyvalue item="<%=tag%>" property="itemSubtype" /></td>
    250       </tr>
    251       <tr>
    252         <td class="prompt">Registered</td>
    253         <td><%=dateFormatter.format(tag.getEntryDate())%></td>
    254       </tr>
    255       <tr>
    256         <td class="prompt">Owner</td>
    257         <td><base:propertyvalue item="<%=tag%>" property="owner"/></td>
    258       </tr>
    259       <tr>
    260         <td class="prompt">Description</td>
    261         <td><%=HTML.niceFormat(tag.getDescription())%></td>
    262       </tr>
     152        <th class="itemstatus">
     153        </th>
     154       
     155        <td style="padding: 0px;">
     156          <tbl:toolbar subclass="bottomborder">
     157            <tbl:button
     158              disabled="<%=writePermission ? false : true%>"
     159              image="edit.gif"
     160              onclick="editItem()"
     161              title="Edit&hellip;"
     162              tooltip="<%=writePermission ? "Edit this tag" : "You do not have permission to edit this tag"%>"
     163            />
     164            <tbl:button
     165              disabled="<%=deletePermission ? false : true%>"
     166              image="delete.gif"
     167              onclick="deleteItem()"
     168              title="Delete"
     169              visible="<%=!tag.isRemoved()%>"
     170              tooltip="<%=deletePermission ? "Delete this tag" : "You do not have permission to delete this tag"%>"
     171            />
     172            <tbl:button
     173              disabled="<%=writePermission ? false : true%>"
     174              image="restore.gif"
     175              onclick="restoreItem()"
     176              title="Restore"
     177              visible="<%=tag.isRemoved()%>"
     178              tooltip="<%=writePermission ? "Restore this tag" : "You do not have permission to restore this tag"%>"
     179            />
     180            <tbl:button
     181              disabled="<%=sharePermission ? false : true%>"
     182              image="share.gif"
     183              onclick="shareItem()"
     184              title="Share&hellip;"
     185              tooltip="<%=sharePermission ? "Share this tag to other user, groups and projects" : "You do not have permission to share this tag"%>"
     186            />
     187            <tbl:button
     188              disabled="<%=setOwnerPermission ? false : true%>"
     189              image="take_ownership.png"
     190              onclick="setOwner()"
     191              title="Set owner&hellip;"
     192              tooltip="<%=setOwnerPermission ? "Change owner of this item" : "You do not have permission to change ownership of this item"%>"
     193            />
     194            <tbl:button
     195              image="import.gif"
     196              onclick="runPlugin('ImportItem')"
     197              title="Import&hellip;"
     198              tooltip="Import data"
     199              visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
     200            />
     201            <tbl:button
     202              image="export.gif"
     203              onclick="runPlugin('ExportItem')"
     204              title="Export&hellip;"
     205              tooltip="Export data"
     206              visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
     207            />
     208            <tbl:button
     209              image="runplugin.gif"
     210              onclick="runPlugin('RunPlugin')"
     211              title="Run plugin&hellip;"
     212              tooltip="Run a plugin"
     213              visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
     214            />
     215            <ext:render extensions="<%=invoker%>" context="<%=jspContext%>"
     216              wrapper="<%=new PrefixSuffixRenderer(jspContext, "<td>", "</td>") %>"/>
     217            <tbl:button
     218              image="help.png"
     219              onclick="<%="Main.openHelp('" + ID +"', 'tag.view.properties')"%>"
     220              title="Help&hellip;"
     221              tooltip="Get help about this page"
     222            /> 
     223            </tbl:toolbar>
     224          </td>
     225        </tr>
     226        <tr>
     227          <th>Name</th>
     228          <td><%=HTML.encodeTags(tag.getName())%></td>
     229        </tr>
     230        <tr>
     231          <th>Type</th>
     232          <td><base:propertyvalue item="<%=tag%>" property="itemSubtype" /></td>
     233        </tr>
     234        <tr>
     235          <th>Registered</th>
     236          <td><%=dateFormatter.format(tag.getEntryDate())%></td>
     237        </tr>
     238        <tr>
     239          <th>Owner</th>
     240          <td><base:propertyvalue item="<%=tag%>" property="owner"/></td>
     241        </tr>
     242        <tr>
     243          <th>Description</th>
     244          <td><%=HTML.niceFormat(tag.getDescription())%></td>
     245        </tr>
    263246      </table>
     247      </div>
    264248      <jsp:include page="../../common/anytoany/list_anytoany.jsp">
    265249        <jsp:param name="ID" value="<%=ID%>" />
     
    268252        <jsp:param name="title" value="Other items related to this tag" />
    269253      </jsp:include>
    270       <%
    271       // Tables with users/groups/projects that this item is shared to
    272       MultiPermissions mp = new MultiPermissions(Collections.singleton(tag));
    273       ItemResultList<User> users = mp.getUsers().list(dc);
    274       ItemResultList<Group> groups = mp.getGroups().list(dc);
    275       ItemResultList<Project> projects = mp.getProjects().list(dc);
    276       int totalShare = users.size() + groups.size() + projects.size();
    277      
    278       if (totalShare > 0)
    279       {
    280         %>
    281         <base:section
    282           id="sharedTo"
    283           title="<%="Shared to (" + totalShare + ")"%>"
    284           context="<%=cc%>"
    285           >
    286           <tbl:table
    287             id="itemsSharedTo"
    288             clazz="itemlist"
    289             columns="all"
    290           >
    291             <tbl:columndef
    292               id="itemType"
    293               title="Item type"
    294             />
    295             <tbl:columndef
    296               id="name"
    297               title="Name"
    298             />
    299             <tbl:columndef
    300               id="permissions"
    301               title="Permissions"
    302             />
    303             <tbl:data>
    304               <tbl:columns>
    305               </tbl:columns>
    306               <tbl:rows>
    307               <%
    308               for (Project project : projects)
    309               {
    310                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    311                 %>     
    312                 <tbl:row>
    313                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    314                   <tbl:cell column="name"><base:icon
    315                     image="deleted.gif"
    316                     tooltip="This item has been scheduled for deletion"
    317                     visible="<%=project.isRemoved()%>"
    318                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    319                   <tbl:cell column="permissions">
    320                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    321                   </tbl:cell>
    322                 </tbl:row>
    323                 <%
    324               }
    325               for (Group group : groups)
    326               {
    327                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    328                 %>
    329                 <tbl:row>             
    330                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    331                   <tbl:cell column="name"><base:icon
    332                     image="deleted.gif"
    333                     tooltip="This item has been scheduled for deletion"
    334                     visible="<%=group.isRemoved()%>"
    335                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    336                   <tbl:cell column="permissions">
    337                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    338                   </tbl:cell>
    339                 </tbl:row>
    340                 <% 
    341               }
    342               for (User user : users)
    343               {
    344                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    345                 %>
    346                 <tbl:row>             
    347                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    348                   <tbl:cell column="name"><base:icon
    349                     image="deleted.gif"
    350                     tooltip="This item has been scheduled for deletion"
    351                     visible="<%=user.isRemoved()%>"
    352                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    353                   <tbl:cell column="permissions">
    354                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    355                   </tbl:cell>
    356                 </tbl:row>
    357                 <%
    358               }
    359               %>
    360               </tbl:rows>
    361             </tbl:data>
    362           </tbl:table>
    363         </base:section>
    364         <%
    365       }
    366       else
    367       {
    368         %>
    369         <h4>Shared to</h4>
    370         This tag is not shared
    371         (or, you don't have permission to view the ones it is shared to).
    372         <%
    373       }     
    374       %>
    375 
    376     </div>
     254      <jsp:include page="../../common/share/list_share.jsp">
     255        <jsp:param name="ID" value="<%=ID%>" />
     256        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     257        <jsp:param name="item_id" value="<%=itemId%>" />
     258        <jsp:param name="title" value="Shared to" />
     259      </jsp:include>
    377260    </t:tab>
    378261    </t:tabcontrol>
  • trunk/www/common/annotations/list_annotations.jsp

    r5929 r5935  
    166166    }
    167167    </script>
     168    <%
     169    if (message != null)
     170    {
     171      %>
     172      <div class="messagecontainer note"><%=message%></div>
     173      <%
     174    }
     175    %>
     176    <base:section
     177      id="primaryAnnotations"
     178      title="<%="Primary annotations (" + annotationTypes.size() + ")"%>"
     179      >
    168180      <%
    169181      if (annotationTypes.size() == 0)
    170182      {
    171183        %>
    172         <h4>Primary annotations</h4>
     184        <div class="messagecontainer note">
    173185        No annotation types has been defined for this type of item
    174186        (or you don't have permission to view them).
     187        </div>
    175188        <%
    176189      }
     
    178191      {
    179192        %>
    180         <%=message == null ? "" : message%>
    181         <base:section
    182           id="primaryAnnotations"
    183           title="<%="Primary annotations (" + annotationTypes.size() + ")"%>"
     193        <tbl:table
     194          id="annotations"
     195          columns="all"
    184196          >
     197          <tbl:columndef
     198            id="annotation"
     199            title="Annotation"
     200          />
     201          <tbl:columndef
     202            id="values"
     203            title="Values"
     204          />
     205          <tbl:columndef
     206            id="description"
     207            title="Description"
     208          />
     209          <tbl:data>
     210            <tbl:headers>
     211              <tbl:headerrow>
     212                <tbl:columnheaders />
     213              </tbl:headerrow>
     214            </tbl:headers>
     215            <tbl:rows>
     216            <%
     217            for (AnnotationType at : annotationTypes)
     218            {
     219              AnnotationSnapshot a = existing != null ? existing.get(at) : null;
     220              List<?> values = null;
     221              Formatter formatter = null;
     222              if (a != null)
     223              {
     224                Annotation ann = a.getAnnotation(dc);
     225                values = a.getValues(ann.getUnitConverter(null), ann.getValueType());
     226                formatter = FormatterFactory.getAnnotationFormatter(sc, ann, null);
     227              }
     228              if (values != null || !at.isRemoved())
     229              {
     230              %>
     231                <tbl:row>
     232                  <tbl:cell column="annotation"><base:icon
     233                    image="deleted.gif"
     234                    tooltip="This item has been scheduled for deletion"
     235                    visible="<%=at.isRemoved()%>"
     236                  /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
     237                  <tbl:cell column="values"><%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     238                  <%
     239                    if (writePermission)
     240                    {
     241                      %>: <base:icon image="edit.gif"
     242                        onclick="<%="editAnnotation("+at.getId()+")"%>"
     243                        tooltip="Modify the values of this annotation" />
     244                      <%
     245                    }
     246                    %>
     247                  </tbl:cell>
     248                  <tbl:cell column="description"><%=HTML.encodeTags(at.getDescription())%></tbl:cell>
     249                </tbl:row>
     250                <%
     251              }
     252            }
     253            %>
     254            </tbl:rows>
     255          </tbl:data>
     256        </tbl:table>
     257        <%
     258      }
     259      %>
     260    </base:section>
     261
     262    <%
     263    if (protocolParameters != null)
     264    {
     265      %>
     266      <base:section
     267        id="parameterSection"
     268        title="<%="Protocol parameters for " + HTML.encodeTags(protocol.getName()) +
     269          " (" + protocolParameters.size() + ")"%>"
     270        >
     271        <%
     272        if (protocolParameters.size() == 0)
     273        {
     274          %>
     275          <div class="messagecontainer note">
     276          No protocol parameters has been defined for the protocol
     277          <%=Base.getLinkedName(ID, protocol, !readProtocol, true)%>
     278          (or you don't have permission to view them).
     279          </div>
     280          <%
     281        }
     282        else
     283        {
     284          %>
    185285          <tbl:table
    186             id="annotations"
    187             clazz="itemlist"
     286            id="parameters"
    188287            columns="all"
    189288            >
    190289            <tbl:columndef
    191               id="annotation"
    192               title="Annotation"
     290              id="parameter"
     291              title="Parameter"
    193292            />
    194293            <tbl:columndef
     
    208307              <tbl:rows>
    209308              <%
    210               for (AnnotationType at : annotationTypes)
     309              for (AnnotationType at : protocolParameters)
    211310              {
    212311                AnnotationSnapshot a = existing != null ? existing.get(at) : null;
     312                Formatter formatter = null;
    213313                List<?> values = null;
    214                 Formatter formatter = null;
    215314                if (a != null)
    216315                {
     
    221320                if (values != null || !at.isRemoved())
    222321                {
    223                 %>
     322                  %>
    224323                  <tbl:row>
    225                     <tbl:cell column="annotation"><base:icon
     324                    <tbl:cell column="parameter"><base:icon
    226325                      image="deleted.gif"
    227326                      tooltip="This item has been scheduled for deletion"
    228327                      visible="<%=at.isRemoved()%>"
    229328                    /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
    230                     <tbl:cell column="values"><%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    231                     <%
     329                    <tbl:cell column="values">
     330                      <%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     331                      <%
    232332                      if (writePermission)
    233333                      {
    234334                        %>: <base:icon image="edit.gif"
    235335                          onclick="<%="editAnnotation("+at.getId()+")"%>"
    236                           tooltip="Modify the values of this annotation" />
     336                          tooltip="Modify the values of this protocol parameter" />
    237337                        <%
    238338                      }
     
    248348            </tbl:data>
    249349          </tbl:table>
    250           <br>
    251         </base:section>
     350          <%
     351        }
     352        %>
     353      </base:section>
     354      <%
     355    }
     356    %>
     357    <%
     358    if (!isProxy)
     359    {
     360      int numInherited = inheritedAnnotations == null ? 0 : inheritedAnnotations.size();
     361      %>
     362      <base:section
     363        id="inherited"
     364        title="<%="Inherited annotations and protocol parameters (" + numInherited + ")"%>"         
     365        >
    252366        <%
    253       }
    254       if (protocolParameters != null )
    255       {
    256         if (protocolParameters.size() == 0)
     367        if (numInherited == 0)
    257368        {
    258369          %>
    259           <h4>Protocol parameters</h4>
    260           No protocol parameters has been defined for the protocol
    261           <%=Base.getLinkedName(ID, protocol, !readProtocol, true)%>
     370          <div class="messagecontainer note">
     371          No annotations are inherited by this item.
    262372          (or you don't have permission to view them).
     373          </div>
    263374          <%
    264375        }
    265376        else
    266377        {
    267           %>
    268           <base:section
    269             id="parameterSection"
    270             title="<%="Protocol parameters for: " +
    271               Base.getLinkedName(ID, protocol, !readProtocol, true) + " (" + protocolParameters.size() + ")"%>"
    272             >
    273             <tbl:table
    274               id="parameters"
    275               clazz="itemlist"
    276               columns="all"
    277               >
    278               <tbl:columndef
    279                 id="parameter"
    280                 title="Parameter"
    281               />
    282               <tbl:columndef
    283                 id="values"
    284                 title="Values"
    285               />
    286               <tbl:columndef
    287                 id="description"
    288                 title="Description"
    289               />
    290               <tbl:data>
    291                 <tbl:headers>
    292                   <tbl:headerrow>
    293                     <tbl:columnheaders />
    294                   </tbl:headerrow>
    295                 </tbl:headers>
    296                 <tbl:rows>
    297                 <%
    298                 for (AnnotationType at : protocolParameters)
    299                 {
    300                   AnnotationSnapshot a = existing != null ? existing.get(at) : null;
    301                   Formatter formatter = null;
    302                   List<?> values = null;
    303                   if (a != null)
     378        %>
     379        <tbl:table
     380          id="inheritedAnnotations"
     381          columns="all"
     382          >
     383          <tbl:columndef
     384            id="annotation"
     385            title="Annotation"
     386          />
     387          <tbl:columndef
     388            id="item"
     389            title="From item"
     390          />
     391          <tbl:columndef
     392            id="values"
     393            title="Values"
     394          />
     395          <tbl:columndef
     396            id="description"
     397            title="Description"
     398          />
     399          <tbl:data>
     400            <tbl:headers>
     401              <tbl:headerrow>
     402                <tbl:columnheaders />
     403              </tbl:headerrow>
     404            </tbl:headers>
     405            <tbl:rows>
     406            <%
     407            for (AnnotationSnapshot a : inheritedAnnotations)
     408            {
     409              Annotation ann = a.getAnnotation(dc);
     410              AnnotationType at = a.getAnnotationType(dc);
     411              String name = HTML.encodeTags(at.getName());
     412              String description = HTML.encodeTags(at.getDescription());
     413              boolean writeInherited = false;
     414              String icon = "joust/annotation.gif";
     415              if (at.isRemoved())
     416              {
     417                icon = "deleted.gif";
     418              }
     419              else if (at.isProtocolParameter())
     420              {
     421                icon = "parameter.gif";
     422              }
     423              List<?> values = a.getValues(ann.getUnitConverter(null), ann.getValueType());
     424              Formatter formatter = FormatterFactory.getAnnotationFormatter(sc, ann, null);
     425              Nameable aItem = null;
     426              try
     427              {
     428                aItem = (Nameable)a.getItem(dc);
     429                writeInherited = aItem.hasPermission(Permission.WRITE);
     430              }
     431              catch (PermissionDeniedException ex)
     432              {}
     433              %>
     434              <tbl:row>
     435                <tbl:cell column="annotation"><base:icon image="<%=icon%>" />&nbsp;<%=Base.getLinkedName(ID, at, at == null, true)%></tbl:cell>
     436                <tbl:cell column="item"><%=Base.getLinkedName(ID, aItem, aItem == null, true)%><%=aItem != null ? " ["+aItem.getType()+"]" : ""%></tbl:cell>
     437                <tbl:cell column="values">
     438                  <%=values == null || values.size() == 0 ?
     439                    "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
     440                  <%
     441                  if (writeInherited && aItem != null)
    304442                  {
    305                     Annotation ann = a.getAnnotation(dc);
    306                     values = a.getValues(ann.getUnitConverter(null), ann.getValueType());
    307                     formatter = FormatterFactory.getAnnotationFormatter(sc, ann, null);
    308                   }
    309                   if (values != null || !at.isRemoved())
    310                   {
    311                     %>
    312                     <tbl:row>
    313                       <tbl:cell column="parameter"><base:icon
    314                         image="deleted.gif"
    315                         tooltip="This item has been scheduled for deletion"
    316                         visible="<%=at.isRemoved()%>"
    317                       /><%=Base.getLinkedName(ID, at, false, true)%></tbl:cell>
    318                       <tbl:cell column="values">
    319                         <%=values == null || values.size() == 0 ? "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    320                         <%
    321                         if (writePermission)
    322                         {
    323                           %>: <base:icon image="edit.gif"
    324                             onclick="<%="editAnnotation("+at.getId()+")"%>"
    325                             tooltip="Modify the values of this protocol parameter" />
    326                           <%
    327                         }
    328                         %>
    329                       </tbl:cell>
    330                       <tbl:cell column="description"><%=HTML.encodeTags(at.getDescription())%></tbl:cell>
    331                     </tbl:row>
     443                    %>: <base:icon image="edit.gif"
     444                      onclick="<%="editInheritedAnnotation('"+aItem.getType().name()+"', "+aItem.getId()+", "+at.getId()+")"%>"
     445                      tooltip="Modify the values of this annotation" />
    332446                    <%
    333447                  }
    334                 }
    335                 %>
    336                 </tbl:rows>
    337               </tbl:data>
    338             </tbl:table>
    339             <br>
    340           </base:section>
    341           <%
    342         }
    343       }
    344       %>
    345 
    346       <%
    347       if (!isProxy)
    348       {
    349       if (inheritedAnnotations == null || inheritedAnnotations.size() == 0)
    350       {
    351         %>
    352         <h4>Inherited annotations and protocol parameters</h4>
    353         No annotations are inherited by this item.
    354         (or you don't have permission to view them).
    355         <%
    356       }
    357       else
    358       {
    359         %>
    360         <base:section
    361           id="inherited"
    362           title="<%="Inherited annotations and protocol parameters (" + inheritedAnnotations.size() + ")"%>"         
    363           >
    364           <tbl:table
    365             id="inheritedAnnotations"
    366             clazz="itemlist"
    367             columns="all"
    368             >
    369             <tbl:columndef
    370               id="annotation"
    371               title="Annotation"
    372             />
    373             <tbl:columndef
    374               id="item"
    375               title="From item"
    376             />
    377             <tbl:columndef
    378               id="values"
    379               title="Values"
    380             />
    381             <tbl:columndef
    382               id="description"
    383               title="Description"
    384             />
    385             <tbl:data>
    386               <tbl:headers>
    387                 <tbl:headerrow>
    388                   <tbl:columnheaders />
    389                 </tbl:headerrow>
    390               </tbl:headers>
    391               <tbl:rows>
     448                  %>
     449                </tbl:cell>
     450                <tbl:cell column="description"><%=description%></tbl:cell>
     451              </tbl:row>
    392452              <%
    393               for (AnnotationSnapshot a : inheritedAnnotations)
    394               {
    395                 Annotation ann = a.getAnnotation(dc);
    396                 AnnotationType at = a.getAnnotationType(dc);
    397                 String name = HTML.encodeTags(at.getName());
    398                 String description = HTML.encodeTags(at.getDescription());
    399                 boolean writeInherited = false;
    400                 String icon = "joust/annotation.gif";
    401                 if (at.isRemoved())
    402                 {
    403                   icon = "deleted.gif";
    404                 }
    405                 else if (at.isProtocolParameter())
    406                 {
    407                   icon = "parameter.gif";
    408                 }
    409                 List<?> values = a.getValues(ann.getUnitConverter(null), ann.getValueType());
    410                 Formatter formatter = FormatterFactory.getAnnotationFormatter(sc, ann, null);
    411                 Nameable aItem = null;
    412                 try
    413                 {
    414                   aItem = (Nameable)a.getItem(dc);
    415                   writeInherited = aItem.hasPermission(Permission.WRITE);
    416                 }
    417                 catch (PermissionDeniedException ex)
    418                 {}
    419                 %>
    420                 <tbl:row>
    421                   <tbl:cell column="annotation"><base:icon image="<%=icon%>" />&nbsp;<%=Base.getLinkedName(ID, at, at == null, true)%></tbl:cell>
    422                   <tbl:cell column="item"><%=Base.getLinkedName(ID, aItem, aItem == null, true)%><%=aItem != null ? " ["+aItem.getType()+"]" : ""%></tbl:cell>
    423                   <tbl:cell column="values">
    424                     <%=values == null || values.size() == 0 ?
    425                       "<i>- no values -</i>" : Values.getString(values, ", ", true, formatter)%>
    426                     <%
    427                     if (writeInherited && aItem != null)
    428                     {
    429                       %>: <base:icon image="edit.gif"
    430                         onclick="<%="editInheritedAnnotation('"+aItem.getType().name()+"', "+aItem.getId()+", "+at.getId()+")"%>"
    431                         tooltip="Modify the values of this annotation" />
    432                       <%
    433                     }
    434                     %>
    435                   </tbl:cell>
    436                   <tbl:cell column="description"><%=description%></tbl:cell>
    437                 </tbl:row>
    438                 <%
    439               }
    440               %>
    441               </tbl:rows>
    442             </tbl:data>
    443           </tbl:table>
    444         </base:section>
     453            }
     454            %>
     455            </tbl:rows>
     456          </tbl:data>
     457        </tbl:table>
    445458        <base:icon image="joust/annotation.gif" /> = Annotation,
    446459        <base:icon image="parameter.gif" /> = Protocol parameter
    447460        <%
    448461      }
    449       }
    450462      %>
     463      </base:section>
     464      <%
     465    }
     466    %>
    451467  </base:body>
    452468  </base:page>
  • trunk/www/common/anytoany/list_anytoany.jsp

    r5491 r5935  
    7171  <base:body>
    7272 
    73       <base:section
    74         id="anytoany"
    75         title="<%=title + " (" + (count) +")"%>"
    76         context="<%=cc%>">
     73    <base:section
     74      id="anytoany"
     75      title="<%=title + " (" + (count) +")"%>"
     76      context="<%=cc%>">
    7777      <tbl:table
    7878        id="links"
    79         clazz="itemlist"
     79       
    8080        columns="all"
    8181        >
     
    9393        />
    9494        <tbl:data>
    95           <tbl:columns>
    96           </tbl:columns>
     95          <tbl:headers>
     96            <tbl:headerrow>
     97              <tbl:columnheaders />
     98            </tbl:headerrow>
     99          </tbl:headers>
    97100          <tbl:rows>
    98101          <%
     
    155158        </tbl:data>
    156159      </tbl:table>
    157       </base:section>
    158 
     160    </base:section>
    159161  </base:body>
    160162  </base:page>
  • trunk/www/common/context/manage.jsp

    r5907 r5935  
    103103      <tbl:table
    104104        id="contexts"
    105         clazz="itemlist"
     105       
    106106        action="index.jsp"
    107107        >
  • trunk/www/common/datafiles/list_files.jsp

    r5903 r5935  
    237237        <tbl:table
    238238          id="datafiles"
    239           clazz="itemlist"
     239         
    240240          columns="all"
    241241          >
  • trunk/www/common/history/list_history.jsp

    r5910 r5935  
    145145    <tbl:table
    146146      id="history"
    147       clazz="itemlist"
     147     
    148148      columns="<%=cc.getSetting("columns")%>"
    149149      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/filemanager/files/list_files.jsp

    r5910 r5935  
    483483    <tbl:table
    484484      id="files"
    485       clazz="itemlist"
     485     
    486486      columns="<%=cc.getSetting("columns")%>"
    487487      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/filemanager/files/view_file.jsp

    r5910 r5935  
    475475          <tbl:table
    476476            id="itemsSharedTo"
    477             clazz="itemlist"
     477           
    478478            columns="all"
    479479          >
  • trunk/www/filemanager/fileservers/list_fileservers.jsp

    r5910 r5935  
    188188    <tbl:table
    189189      id="servers"
    190       clazz="itemlist"
     190     
    191191      columns="<%=cc.getSetting("columns")%>"
    192192      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/filemanager/fileservers/view_fileserver.jsp

    r5910 r5935  
    452452          <tbl:table
    453453            id="itemsSharedTo"
    454             clazz="itemlist"
     454           
    455455            columns="all"
    456456          >
  • trunk/www/include/styles/headertabcontrol.css

    r5929 r5935  
    3939{
    4040  background: #FFFFFF;
    41   x-background: #E8E8E8;
    4241}
    4342
     
    5554}
    5655
    57 /* Each tab should fill up the main content area */
    58 .tabcontrol .tabcontents > div
    59 {
    60   height: 100%;
    61 }
    6256
    6357/* Tabs */
     
    8276{
    8377  font-weight: bold;
    84   background: #E8E8E8;
    8578}
     79
     80/* White background color when the tab is active */
     81.tabcontrol .tab.active.white
     82{
     83  background-color: #FFFFFF;
     84}
     85
    8686
    8787/* Revert to default for the active tab */
     
    119119  border-top: 2px solid #2288AA !important;
    120120  padding-top: 1px !important;
     121}
     122
     123.tabsattop .tab.active.white
     124{
     125  border-bottom: 1px solid #FFFFFF !important;
    121126}
    122127
  • trunk/www/include/styles/main.css

    r5929 r5935  
    6969  border: 0px;
    7070}
     71
     72/* Linked elements should display a pointer cursor and be underlined */
     73a, label, .link
     74{
     75  color: #0000CC;
     76  cursor: pointer;
     77}
     78
     79a:hover, label:hover, .link:hover
     80{
     81  text-decoration: underline;
     82}
     83
    7184
    7285/*
     
    114127}
    115128
     129/* h2 is a section header */
     130body.default h2
     131{
     132  font-size: 1.10em;
     133  font-weight: bold;
     134  color: #224488;
     135  margin: 0px;
     136  white-space: nowrap;
     137}
     138
     139/*
     140  A hideable section can be opened/collapsed
     141*/
     142.hideablesection
     143{
     144  margin-top: 0.5em;
     145  border-bottom: 1px dotted #A0A0A0;
     146  padding-bottom: 0.5em;
     147}
     148
     149/* The title of the section */
     150.hideablesection > h2
     151{
     152  padding: 0px 2px 2px 2px;
     153}
     154
     155/* The contents of the section */
     156.hideablesection > div
     157{
     158  padding-left: 18px;
     159  padding-right: 8px;
     160}
     161
     162.hideablesection .messagecontainer
     163{
     164  margin: 0px;
     165}
     166
    116167
    117168/*
     
    259310}
    260311
    261 .help
     312.help, .note
    262313{
    263314  background-color: #F8F8E8;
     
    605656
    606657
    607 h2 {
    608   font-weight: bold;
    609   margin-top: 2em;
    610 }
    611 
    612658h3 {
    613659  color: #FFFFFF;
     
    617663  padding: 1px 4px 1px 4px;
    618664  border: 1px solid #999999;
    619 }
    620 
    621 h2 {
    622   color: #333377;
    623   background: #E0E0E0;
    624   font-weight: bold;
    625   margin-bottom: 0em;
    626   padding: 1px 4px 1px 4px;
    627   border: 1px solid #999999;
     665  xbackground-color: #224488;
    628666}
    629667
     
    636674h4 {
    637675  color: #224488;
    638   background: #FFFFFF;
     676  xbackground: #E8E8E8;
    639677  font-weight: bold;
    640   /*margin: 0px; */
     678  margin: 0px;
     679  xmargin-top:1em;
    641680  /*margin-bottom: 3px;*/
    642   border-bottom: 1px solid #A0A0A0;
    643   x-border-top: 1px solid #A0A0A0;
     681  xborder-bottom: 1px solid #A0A0A0;
     682  xborder-top: 1px solid #A0A0A0;
    644683  padding-left: 2px;
    645   padding-bottom: 5px;
    646   padding-top: 5px;
     684  padding-bottom: 2px;
     685  xpadding-top: 15px;
    647686}
    648687
     
    660699  margin-top: 0px;
    661700}
    662 a:hover {
     701 
     702{
    663703  text-decoration: underline;
    664704}
    665705
    666 label {
    667   cursor: pointer;
    668 }
    669 
    670 .link {
    671   color: #0000CC;
    672   cursor: pointer;
    673 }
    674 
    675 .link:hover, label:hover {
    676   color: #0000CC;
    677   text-decoration: underline;
    678 }
    679706
    680707.boxed {
     
    776803
    777804
    778 
    779 .note {
    780   background: #E0E0E0;
    781 }
    782805
    783806.note .main {
  • trunk/www/include/styles/tabcontrol.css

    r5924 r5935  
    8484}
    8585
     86/* White background color when the tab is active */
     87.tabcontrol .tab.active.white
     88{
     89  background-color: #FFFFFF;
     90}
     91
    8692/* Revert to default for the active tab */
    8793.tabcontrol .tab.active:hover
     
    118124  border-bottom: 2px solid #2288AA !important;
    119125  padding-bottom: 1px !important;
     126}
     127
     128.tabsatbottom .tab.active.white
     129{
     130  border-top: 1px solid #FFFFFF !important;
    120131}
    121132
  • trunk/www/include/styles/table.css

    r5929 r5935  
    4040  width: 100%;
    4141  border-collapse: collapse;
    42   border-top: 1px solid #A0A0A0;
    43   border-bottom: 1px solid #A0A0A0;
     42  border: 1px solid #A0A0A0;
    4443}
    4544
  • trunk/www/lims/arraybatches/list_batches.jsp

    r5917 r5935  
    220220    <tbl:table
    221221      id="batches"
    222       clazz="itemlist"
     222     
    223223      columns="<%=cc.getSetting("columns")%>"
    224224      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/arraybatches/view_batch.jsp

    r5917 r5935  
    338338          <tbl:table
    339339            id="batches"
    340             clazz="itemlist"
     340           
    341341            columns="all"
    342342            >
     
    386386        <jsp:param name="title" value="Other items related to this batch" />
    387387      </jsp:include>
    388       <%     
    389       // Tables with users/groups/projects that this item is shared to
    390       MultiPermissions mp = new MultiPermissions(Collections.singleton(batch));
    391       ItemResultList<User> users = mp.getUsers().list(dc);
    392       ItemResultList<Group> groups = mp.getGroups().list(dc);
    393       ItemResultList<Project> projects = mp.getProjects().list(dc);
    394       int totalShare = users.size() + groups.size() + projects.size();
     388      <jsp:include page="../../common/share/list_share.jsp">
     389        <jsp:param name="ID" value="<%=ID%>" />
     390        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     391        <jsp:param name="item_id" value="<%=itemId%>" />
     392        <jsp:param name="title" value="Shared to" />
     393      </jsp:include>
     394      </div>
     395      </t:tab>
    395396     
    396       if (totalShare > 0)
    397       {
    398         %>
    399         <base:section
    400           id="sharedTo"
    401           title="<%="Shared to (" + totalShare + ")"%>"
    402           context="<%=cc%>"
    403           >
    404           <tbl:table
    405             id="itemsSharedTo"
    406             clazz="itemlist"
    407             columns="all"
    408           >
    409             <tbl:columndef
    410               id="itemType"
    411               title="Item type"
    412             />
    413             <tbl:columndef
    414               id="name"
    415               title="Name"
    416             />
    417             <tbl:columndef
    418               id="permissions"
    419               title="Permissions"
    420             />
    421             <tbl:data>
    422               <tbl:columns>
    423               </tbl:columns>
    424               <tbl:rows>
    425               <%
    426               for (Project project : projects)
    427               {
    428                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    429                 %>     
    430                 <tbl:row>
    431                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    432                   <tbl:cell column="name"><base:icon
    433                     image="deleted.gif"
    434                     tooltip="This item has been scheduled for deletion"
    435                     visible="<%=project.isRemoved()%>"
    436                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    437                   <tbl:cell column="permissions">
    438                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    439                   </tbl:cell>
    440                 </tbl:row>
    441                 <%
    442               }
    443               for (Group group : groups)
    444               {
    445                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    446                 %>
    447                 <tbl:row>             
    448                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    449                   <tbl:cell column="name"><base:icon
    450                     image="deleted.gif"
    451                     tooltip="This item has been scheduled for deletion"
    452                     visible="<%=group.isRemoved()%>"
    453                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    454                   <tbl:cell column="permissions">
    455                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    456                   </tbl:cell>
    457                 </tbl:row>
    458                 <% 
    459               }
    460               for (User user : users)
    461               {
    462                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    463                 %>
    464                 <tbl:row>             
    465                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    466                   <tbl:cell column="name"><base:icon
    467                     image="deleted.gif"
    468                     tooltip="This item has been scheduled for deletion"
    469                     visible="<%=user.isRemoved()%>"
    470                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    471                   <tbl:cell column="permissions">
    472                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    473                   </tbl:cell>
    474                 </tbl:row>
    475                 <%
    476               }
    477               %>
    478               </tbl:rows>
    479             </tbl:data>
    480           </tbl:table>
    481         </base:section>
    482         <%
    483       }
    484       else
    485       {
    486         %>
    487         <h4>Shared to</h4>
    488         This array batch is not shared
    489         (or, you don't have permission to view the ones it is shared to).
    490         <%
    491       }     
    492       %>     
    493     </div>
    494       </t:tab>
    495397      <t:tab id="annotations" title="Annotations &amp; parameters"
    496         tooltip="View annotation values and protocol parameters">
    497         <div class="boxed">
     398        tooltip="View annotation values and protocol parameters" clazz="white">
    498399        <jsp:include page="../../common/annotations/list_annotations.jsp">
    499400          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    501402          <jsp:param name="ID" value="<%=ID%>" />
    502403        </jsp:include>
    503         </div>
    504404      </t:tab>
     405
    505406      <t:tab id="overview" title="Overview"
    506407        tooltip="Display a tree overview of related items">
  • trunk/www/lims/arraydesigns/features/list_features.jsp

    r5917 r5935  
    215215    <tbl:table
    216216      id="features"
    217       clazz="itemlist"
     217     
    218218      columns="<%=cc.getSetting("columns")%>"
    219219      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/arraydesigns/list_designs.jsp

    r5910 r5935  
    242242    <tbl:table
    243243      id="designs"
    244       clazz="itemlist"
     244     
    245245      columns="<%=cc.getSetting("columns")%>"
    246246      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/arraydesigns/view_design.jsp

    r5910 r5935  
    418418        <tbl:table
    419419          id="batches"
    420           clazz="itemlist"
     420         
    421421          columns="all"
    422422          >
     
    477477        <tbl:table
    478478          id="plates"
    479           clazz="itemlist"
     479         
    480480          columns="all"
    481481          >
     
    535535        <jsp:param name="title" value="Other items related to this array design" />
    536536      </jsp:include>
    537       <%
    538       // Tables with users/groups/projects that this item is shared to
    539       MultiPermissions mp = new MultiPermissions(Collections.singleton(design));
    540       ItemResultIterator<User> users = mp.getUsers().iterate(dc);
    541       ItemResultIterator<Group> groups = mp.getGroups().iterate(dc);
    542       ItemResultIterator<Project> projects = mp.getProjects().iterate(dc);
    543      
    544       if (users.hasNext() || groups.hasNext() || projects.hasNext())
    545       {
    546         %>
    547         <base:section
    548           id="sharedTo"
    549           title="Shared to"
    550           context="<%=cc%>">
    551         <tbl:table
    552           id="itemsSharedTo"
    553           clazz="itemlist"
    554           columns="all"
    555         >
    556           <tbl:columndef
    557             id="itemType"
    558             title="Item type"
    559           />
    560           <tbl:columndef
    561             id="name"
    562             title="Name"
    563           />
    564           <tbl:columndef
    565             id="permissions"
    566             title="Permissions"
    567           />
    568           <tbl:data>
    569             <tbl:columns>
    570             </tbl:columns>
    571             <tbl:rows>
    572             <%
    573             while(projects.hasNext())
    574             {
    575               Project project = projects.next();
    576               Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    577               %>     
    578               <tbl:row>
    579                 <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    580                 <tbl:cell column="name"><base:icon
    581                   image="deleted.gif"
    582                   tooltip="This item has been scheduled for deletion"
    583                   visible="<%=project.isRemoved()%>"
    584                 /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    585                 <tbl:cell column="permissions">
    586                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    587                 </tbl:cell>
    588               </tbl:row>
    589               <%
    590             }
    591             while(groups.hasNext())
    592             {
    593               Group group = groups.next();
    594               Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    595               %>
    596               <tbl:row>             
    597                 <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    598                 <tbl:cell column="name"><base:icon
    599                   image="deleted.gif"
    600                   tooltip="This item has been scheduled for deletion"
    601                   visible="<%=group.isRemoved()%>"
    602                 /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    603                 <tbl:cell column="permissions">
    604                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    605                 </tbl:cell>
    606               </tbl:row>
    607               <% 
    608             }
    609             while (users.hasNext())
    610             {
    611               User user = users.next();
    612               Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    613               %>
    614               <tbl:row>             
    615                 <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    616                 <tbl:cell column="name"><base:icon
    617                   image="deleted.gif"
    618                   tooltip="This item has been scheduled for deletion"
    619                   visible="<%=user.isRemoved()%>"
    620                 /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    621                 <tbl:cell column="permissions">
    622                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    623                 </tbl:cell>
    624               </tbl:row>
    625               <%
    626             }
    627             %>
    628             </tbl:rows>
    629           </tbl:data>
    630         </tbl:table>
    631         </base:section>
    632         <%
    633       }
    634       else
    635       {
    636         %>
    637         <h4>Shared to</h4>
    638         This array design is not shared
    639         (or, you don't have permission to view the ones it is shared to).
    640         <%
    641       }
    642       %>     
    643      
    644     </div>
     537      <jsp:include page="../../common/share/list_share.jsp">
     538        <jsp:param name="ID" value="<%=ID%>" />
     539        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     540        <jsp:param name="item_id" value="<%=itemId%>" />
     541        <jsp:param name="title" value="Shared to" />
     542      </jsp:include>
     543      </div>
    645544      </t:tab>
    646545     
    647       <t:tab id="annotations" title="Annotations" >
    648         <div class="boxed">
     546      <t:tab id="annotations" title="Annotations"
     547        tooltip="View annotation values" clazz="white">
    649548        <jsp:include page="../../common/annotations/list_annotations.jsp">
    650549          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    652551          <jsp:param name="ID" value="<%=ID%>" />
    653552        </jsp:include>
    654         </div>
    655553      </t:tab>
    656554     
  • trunk/www/lims/arrayslides/list_slides.jsp

    r5917 r5935  
    204204    <tbl:table
    205205      id="slides"
    206       clazz="itemlist"
     206     
    207207      columns="<%=cc.getSetting("columns")%>"
    208208      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/arrayslides/view_slide.jsp

    r5910 r5935  
    306306        <jsp:param name="title" value="Other items related to this slide" />
    307307      </jsp:include>
    308       <%
    309       // Tables with users/groups/projects that this item is shared to
    310       MultiPermissions mp = new MultiPermissions(Collections.singleton(slide));
    311       ItemResultList<User> users = mp.getUsers().list(dc);
    312       ItemResultList<Group> groups = mp.getGroups().list(dc);
    313       ItemResultList<Project> projects = mp.getProjects().list(dc);
    314       int totalShare = users.size() + groups.size() + projects.size();
    315      
    316       if (totalShare > 0)
    317       {
    318         %>
    319         <base:section
    320           id="sharedTo"
    321           title="<%="Shared to (" + totalShare + ")"%>"
    322           context="<%=cc%>"
    323           >
    324           <tbl:table
    325             id="itemsSharedTo"
    326             clazz="itemlist"
    327             columns="all"
    328           >
    329             <tbl:columndef
    330               id="itemType"
    331               title="Item type"
    332             />
    333             <tbl:columndef
    334               id="name"
    335               title="Name"
    336             />
    337             <tbl:columndef
    338               id="permissions"
    339               title="Permissions"
    340             />
    341             <tbl:data>
    342               <tbl:columns>
    343               </tbl:columns>
    344               <tbl:rows>
    345               <%
    346               for (Project project : projects)
    347               {
    348                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    349                 %>     
    350                 <tbl:row>
    351                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    352                   <tbl:cell column="name"><base:icon
    353                     image="deleted.gif"
    354                     tooltip="This item has been scheduled for deletion"
    355                     visible="<%=project.isRemoved()%>"
    356                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    357                   <tbl:cell column="permissions">
    358                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    359                   </tbl:cell>
    360                 </tbl:row>
    361                 <%
    362               }
    363               for (Group group : groups)
    364               {
    365                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    366                 %>
    367                 <tbl:row>             
    368                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    369                   <tbl:cell column="name"><base:icon
    370                     image="deleted.gif"
    371                     tooltip="This item has been scheduled for deletion"
    372                     visible="<%=group.isRemoved()%>"
    373                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    374                   <tbl:cell column="permissions">
    375                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    376                   </tbl:cell>
    377                 </tbl:row>
    378                 <% 
    379               }
    380               for (User user : users)
    381               {
    382                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    383                 %>
    384                 <tbl:row>             
    385                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    386                   <tbl:cell column="name"><base:icon
    387                     image="deleted.gif"
    388                     tooltip="This item has been scheduled for deletion"
    389                     visible="<%=user.isRemoved()%>"
    390                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    391                   <tbl:cell column="permissions">
    392                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    393                   </tbl:cell>
    394                 </tbl:row>
    395                 <%
    396               }
    397               %>
    398               </tbl:rows>
    399             </tbl:data>
    400           </tbl:table>
    401         </base:section>
    402         <%
    403       }
    404       else
    405       {
    406         %>
    407         <h4>Shared to</h4>
    408         This array slide is not shared
    409         (or, you don't have permission to view the ones it is shared to).
    410         <%
    411       }
    412       %>
    413     </div>
     308      <jsp:include page="../../common/share/list_share.jsp">
     309        <jsp:param name="ID" value="<%=ID%>" />
     310        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     311        <jsp:param name="item_id" value="<%=itemId%>" />
     312        <jsp:param name="title" value="Shared to" />
     313      </jsp:include>
     314      </div>
    414315      </t:tab>
    415316     
    416       <t:tab id="annotations" title="Annotations" >
    417         <div class="boxed">
     317      <t:tab id="annotations" title="Annotations &amp; parameters"
     318        tooltip="View annotation values and protocol parameters" clazz="white">
    418319        <jsp:include page="../../common/annotations/list_annotations.jsp">
    419320          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    421322          <jsp:param name="ID" value="<%=ID%>" />
    422323        </jsp:include>
    423         </div>
    424324      </t:tab>
     325
    425326      <t:tab id="overview" title="Overview"
    426327        tooltip="Display a tree overview of related items">
  • trunk/www/lims/geometries/list_geometries.jsp

    r5910 r5935  
    192192    <tbl:table
    193193      id="geometries"
    194       clazz="itemlist"
     194     
    195195      columns="<%=cc.getSetting("columns")%>"
    196196      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/geometries/view_geometry.jsp

    r5910 r5935  
    268268          <tbl:table
    269269            id="plateTypes"
    270             clazz="itemlist"
     270           
    271271            columns="all"
    272272            >
  • trunk/www/lims/platemappings/list_mappings.jsp

    r5910 r5935  
    199199    <tbl:table
    200200      id="mappings"
    201       clazz="itemlist"
     201     
    202202      columns="<%=cc.getSetting("columns")%>"
    203203      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/platemappings/view_mapping.jsp

    r5910 r5935  
    313313          <tbl:table
    314314            id="itemsSharedTo"
    315             clazz="itemlist"
     315           
    316316            columns="all"
    317317          >
     
    418418        <tbl:table
    419419          id="mapping"
    420           clazz="itemlist"
     420         
    421421          columns="all"
    422422          style="width: 50%;"
  • trunk/www/lims/plates/events/list_events.jsp

    r5900 r5935  
    205205    <tbl:table
    206206      id="events"
    207       clazz="itemlist"
     207     
    208208      columns="<%=cc.getSetting("columns")%>"
    209209      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/plates/list_plates.jsp

    r5910 r5935  
    227227    <tbl:table
    228228      id="plates"
    229       clazz="itemlist"
     229     
    230230      columns="<%=cc.getSetting("columns")%>"
    231231      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/plates/view_plate.jsp

    r5910 r5935  
    353353          <tbl:table
    354354            id="parentplates"
    355             clazz="itemlist"
     355           
    356356            columns="all"
    357357            >
     
    417417          <tbl:table
    418418            id="childplates"
    419             clazz="itemlist"
     419           
    420420            columns="all"
    421421            >
     
    470470        <jsp:param name="title" value="Other items related to this plate" />
    471471      </jsp:include>
    472       <%
    473       // Tables with users/groups/projects that this item is shared to
    474       MultiPermissions mp = new MultiPermissions(Collections.singleton(plate));
    475       ItemResultList<User> users = mp.getUsers().list(dc);
    476       ItemResultList<Group> groups = mp.getGroups().list(dc);
    477       ItemResultList<Project> projects = mp.getProjects().list(dc);
    478       int totalShare = users.size() + groups.size() + projects.size();
    479      
    480       if (totalShare > 0)
    481       {
    482         %>
    483         <base:section
    484           id="sharedTo"
    485           title="<%="Shared to (" + totalShare + ")"%>"
    486           context="<%=cc%>"
    487           >
    488           <tbl:table
    489             id="itemsSharedTo"
    490             clazz="itemlist"
    491             columns="all"
    492           >
    493             <tbl:columndef
    494               id="itemType"
    495               title="Item type"
    496             />
    497             <tbl:columndef
    498               id="name"
    499               title="Name"
    500             />
    501             <tbl:columndef
    502               id="permissions"
    503               title="Permissions"
    504             />
    505             <tbl:data>
    506               <tbl:columns>
    507               </tbl:columns>
    508               <tbl:rows>
    509               <%
    510               for (Project project : projects)               
    511               {
    512                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    513                 %>     
    514                 <tbl:row>
    515                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    516                   <tbl:cell column="name"><base:icon
    517                     image="deleted.gif"
    518                     tooltip="This item has been scheduled for deletion"
    519                     visible="<%=project.isRemoved()%>"
    520                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    521                   <tbl:cell column="permissions">
    522                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    523                   </tbl:cell>
    524                 </tbl:row>
    525                 <%
    526               }
    527               for (Group group : groups)
    528               {
    529                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    530                 %>
    531                 <tbl:row>             
    532                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    533                   <tbl:cell column="name"><base:icon
    534                     image="deleted.gif"
    535                     tooltip="This item has been scheduled for deletion"
    536                     visible="<%=group.isRemoved()%>"
    537                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    538                   <tbl:cell column="permissions">
    539                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    540                   </tbl:cell>
    541                 </tbl:row>
    542                 <% 
    543               }
    544               for (User user : users)
    545               {
    546                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    547                 %>
    548                 <tbl:row>             
    549                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    550                   <tbl:cell column="name"><base:icon
    551                     image="deleted.gif"
    552                     tooltip="This item has been scheduled for deletion"
    553                     visible="<%=user.isRemoved()%>"
    554                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    555                   <tbl:cell column="permissions">
    556                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    557                   </tbl:cell>
    558                 </tbl:row>
    559                 <%
    560               }
    561               %>
    562               </tbl:rows>
    563             </tbl:data>
    564           </tbl:table>
    565         </base:section>
    566         <%
    567       }
    568       else
    569       {
    570         %>
    571         <h4>Shared to</h4>
    572         This plate is not shared
    573         (or, you don't have permission to view the ones it is shared to).
    574         <%
    575       }
    576       %>
    577 
    578 
    579     </div>
     472      <jsp:include page="../../common/share/list_share.jsp">
     473        <jsp:param name="ID" value="<%=ID%>" />
     474        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     475        <jsp:param name="item_id" value="<%=itemId%>" />
     476        <jsp:param name="title" value="Shared to" />
     477      </jsp:include>
     478      </div>
    580479      </t:tab>
    581480     
    582       <t:tab id="annotations" title="Annotations" >
    583         <div class="boxed">
     481      <t:tab id="annotations" title="Annotations"
     482        tooltip="View annotation values" clazz="white">
    584483        <jsp:include page="../../common/annotations/list_annotations.jsp">
    585484          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    587486          <jsp:param name="ID" value="<%=ID%>" />
    588487        </jsp:include>
    589         </div>
    590488      </t:tab>
     489
    591490     
    592491      <t:tab id="events" title="Events" />
  • trunk/www/lims/plates/wells/list_wells.jsp

    r5900 r5935  
    215215    <tbl:table
    216216      id="wells"
    217       clazz="itemlist"
     217     
    218218      columns="<%=cc.getSetting("columns")%>"
    219219      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/plates/wells/view_well.jsp

    r5920 r5935  
    327327      </t:tab>
    328328     
    329       <t:tab id="annotations" title="Annotations" >
    330         <div class="boxed">
     329      <t:tab id="annotations" title="Annotations"
     330        tooltip="View annotation values" clazz="white">
    331331        <jsp:include page="../../../common/annotations/list_annotations.jsp">
    332332          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    334334          <jsp:param name="ID" value="<%=ID%>" />
    335335        </jsp:include>
    336         </div>
    337336      </t:tab>
     337
    338338      </t:tabcontrol>
    339339
  • trunk/www/lims/platetypes/eventtypes/list_eventtypes.jsp

    r5900 r5935  
    196196    <tbl:table
    197197      id="eventtypes"
    198       clazz="itemlist"
     198     
    199199      columns="<%=cc.getSetting("columns")%>"
    200200      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/platetypes/list_platetypes.jsp

    r5910 r5935  
    208208    <tbl:table
    209209      id="platetypes"
    210       clazz="itemlist"
     210     
    211211      columns="<%=cc.getSetting("columns")%>"
    212212      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/lims/platetypes/view_platetype.jsp

    r5910 r5935  
    305305          <tbl:table
    306306            id="plateTypes"
    307             clazz="itemlist"
     307           
    308308            columns="all"
    309309            >
     
    376376          <tbl:table
    377377            id="itemsSharedTo"
    378             clazz="itemlist"
     378           
    379379            columns="all"
    380380          >
  • trunk/www/my_base/messages/list_messages.jsp

    r5910 r5935  
    184184    <tbl:table
    185185      id="messages"
    186       clazz="itemlist"
     186     
    187187      columns="<%=cc.getSetting("columns")%>"
    188188      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/my_base/projects/items/list_items.jsp

    r5426 r5935  
    219219    <tbl:table
    220220      id="items"
    221       clazz="itemlist"
     221     
    222222      columns="<%=cc.getSetting("columns")%>"
    223223      action="index.jsp"
  • trunk/www/my_base/projects/list_projects.jsp

    r5910 r5935  
    184184    <tbl:table
    185185      id="projects"
    186       clazz="itemlist"
     186     
    187187      columns="<%=cc.getSetting("columns")%>"
    188188      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/my_base/projects/view_project.jsp

    r5910 r5935  
    307307        <tbl:table
    308308          id="members"
    309           clazz="itemlist"
     309         
    310310          columns="all"
    311311          >
     
    382382        <tbl:table
    383383          id="defaults"
    384           clazz="itemlist"
     384         
    385385          columns="all"
    386386        >
  • trunk/www/views/derivedbioassays/list_bioassays.jsp

    r5910 r5935  
    226226    <tbl:table
    227227      id="bioassays"
    228       clazz="itemlist"
     228     
    229229      columns="<%=cc.getSetting("columns")%>"
    230230      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/derivedbioassays/view_bioassay.jsp

    r5910 r5935  
    499499          <tbl:table
    500500            id="children"
    501             clazz="itemlist"
     501           
    502502            columns="all"
    503503            >
     
    561561          <tbl:table
    562562            id="rawBioAssays"
    563             clazz="itemlist"
     563           
    564564            columns="all"
    565565            >
     
    612612        <jsp:param name="title" value="Other items related to this bioassay" />
    613613      </jsp:include>
     614      <jsp:include page="../../common/share/list_share.jsp">
     615        <jsp:param name="ID" value="<%=ID%>" />
     616        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     617        <jsp:param name="item_id" value="<%=itemId%>" />
     618        <jsp:param name="title" value="Shared to" />
     619      </jsp:include>
    614620      </div>
    615621      </t:tab>
    616622     
    617623      <t:tab id="annotations" title="Annotations &amp; parameters"
    618         tooltip="View annotation values and protocol parameters">
    619         <div class="boxed">
     624        tooltip="View annotation values and protocol parameters" clazz="white">
    620625        <jsp:include page="../../common/annotations/list_annotations.jsp">
    621626          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    623628          <jsp:param name="ID" value="<%=ID%>" />
    624629        </jsp:include>
    625         </div>
    626        
    627630      </t:tab>
    628631     
  • trunk/www/views/experiments/bioassays/list_bioassays.jsp

    r5923 r5935  
    236236    <tbl:table
    237237      id="bioAssaySets"
    238       clazz="itemlist"
     238     
    239239      columns="<%=cc.getSetting("columns")%>"
    240240      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/bioassays/view_bioassay.jsp

    r5924 r5935  
    229229          <tbl:table
    230230            id="rawBioAssays"
    231             clazz="itemlist"
     231           
    232232            columns="all"
    233233            >
     
    346346   
    347347    <t:tab id="annotations" title="Annotations"
    348       tooltip="View annotation values">
    349       <div class="boxed">
     348      tooltip="View annotation values" class="white">
    350349      <jsp:include page="../../../common/annotations/list_annotations.jsp">
    351350        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    353352        <jsp:param name="ID" value="<%=ID%>" />
    354353      </jsp:include>
    355       </div>
    356354    </t:tab>
    357355
    358356    <t:tab id="spotdata" title="Spot data" visible="<%=hasDbSpots%>" />
    359    
    360357    </t:tabcontrol>
    361 
    362358
    363359  </base:body>
  • trunk/www/views/experiments/bioassaysets/analysis_tree.jsp

    r5924 r5935  
    541541    <tbl:table
    542542      id="bioAssaySets"
    543       clazz="itemlist"
     543     
    544544      columns="<%=cc.getSetting("columns")%>"
    545545      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/bioassaysets/view_bioassayset.jsp

    r5924 r5935  
    547547     
    548548      <t:tab id="annotations" title="Annotations"
    549         tooltip="View annotation values">
    550         <div class="boxed">
     549        tooltip="View annotation values" clazz="white">
    551550        <jsp:include page="../../../common/annotations/list_annotations.jsp">
    552551          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    554553          <jsp:param name="ID" value="<%=ID%>" />
    555554        </jsp:include>
    556         </div>
    557555      </t:tab>
    558556     
  • trunk/www/views/experiments/explorer/search/list.jsp

    r5885 r5935  
    185185    <tbl:table
    186186      id="reporters"
    187       clazz="itemlist"
     187     
    188188      columns="<%=cc.getSetting("columns")%>"
    189189      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/explorer/view/view.jsp

    r5924 r5935  
    639639    <tbl:table
    640640      id="spotdata"
    641       clazz="itemlist"
     641     
    642642      columns="<%=cc.getSetting("columns")%>"
    643643      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/list_experiments.jsp

    r5910 r5935  
    197197    <tbl:table
    198198      id="experiments"
    199       clazz="itemlist"
     199     
    200200      columns="<%=cc.getSetting("columns")%>"
    201201      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/reporters/list_reporters.jsp

    r5923 r5935  
    214214    <tbl:table
    215215      id="reporters"
    216       clazz="itemlist"
     216     
    217217      columns="<%=cc.getSetting("columns")%>"
    218218      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/spotdata/list_spotdata.jsp

    r5900 r5935  
    238238    <tbl:table
    239239      id="spotdata"
    240       clazz="itemlist"
     240     
    241241      columns="<%=cc.getSetting("columns")%>"
    242242      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/experiments/view_experiment.jsp

    r5923 r5935  
    532532        <tbl:table
    533533          id="experimentalFactors"
    534           clazz="itemlist"
     534         
    535535          columns="all"
    536536          action="index.jsp"
     
    636636        <tbl:table
    637637          id="rawbioassays"
    638           clazz="itemlist"
     638         
    639639          columns="all"
    640640          >
     
    770770        <tbl:table
    771771          id="itemsSharedTo"
    772           clazz="itemlist"
     772         
    773773          columns="all"
    774774        >
  • trunk/www/views/formulas/list_formulas.jsp

    r5910 r5935  
    229229    <tbl:table
    230230      id="formulas"
    231       clazz="itemlist"
     231     
    232232      columns="<%=cc.getSetting("columns")%>"
    233233      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/formulas/view_formula.jsp

    r5910 r5935  
    360360          <tbl:table
    361361            id="itemsSharedTo"
    362             clazz="itemlist"
     362           
    363363            columns="all"
    364364          >
  • trunk/www/views/items/list_items.jsp

    r5426 r5935  
    219219    <tbl:table
    220220      id="allItems"
    221       clazz="itemlist"
     221     
    222222      columns="<%=cc.getSetting("columns")%>"
    223223      action="index.jsp"
  • trunk/www/views/jobs/list_jobs.jsp

    r5910 r5935  
    207207    <tbl:table
    208208      id="jobs"
    209       clazz="itemlist"
     209     
    210210      columns="<%=cc.getSetting("columns")%>"
    211211      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/jobs/view_job.jsp

    r5929 r5935  
    642642        int numChanges = 0;
    643643        %>
    644         <tbl:table id="history" clazz="itemlist" columns="all">
     644        <tbl:table id="history" columns="all">
    645645          <tbl:columndef id="changeType" title="Change type" />
    646646          <tbl:columndef id="item" title="Item" />
  • trunk/www/views/permissiontemplates/list_templates.jsp

    r5910 r5935  
    186186    <tbl:table
    187187      id="templates"
    188       clazz="itemlist"
     188     
    189189      columns="<%=cc.getSetting("columns")%>"
    190190      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/permissiontemplates/view_template.jsp

    r5910 r5935  
    276276          <tbl:table
    277277            id="itemsSharedTo"
    278             clazz="itemlist"
     278           
    279279            columns="all"
    280280          >
  • trunk/www/views/physicalbioassays/list_bioassays.jsp

    r5910 r5935  
    231231    <tbl:table
    232232      id="bioassays"
    233       clazz="itemlist"
     233     
    234234      columns="<%=cc.getSetting("columns")%>"
    235235      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/physicalbioassays/view_bioassay.jsp

    r5910 r5935  
    350350          <tbl:table
    351351            id="extracts"
    352             clazz="itemlist"
     352           
    353353            columns="all"
    354354            >
     
    433433          <tbl:table
    434434            id="children"
    435             clazz="itemlist"
     435           
    436436            columns="all"
    437437            >
     
    479479        <jsp:param name="title" value="Other items related to this physical bioassay" />
    480480      </jsp:include>
    481       <%
    482       // Tables with users/groups/projects that this item is shared to
    483       MultiPermissions mp = new MultiPermissions(Collections.singleton(pba));
    484       ItemResultList<User> users = mp.getUsers().list(dc);
    485       ItemResultList<Group> groups = mp.getGroups().list(dc);
    486       ItemResultList<Project> projects = mp.getProjects().list(dc);
    487       int totalShare = users.size() + groups.size() + projects.size();
    488      
    489       if (totalShare > 0)
    490       {
    491         %>
    492         <base:section
    493           id="sharedTo"
    494           title="<%="Shared to (" + totalShare + ")"%>"
    495           context="<%=cc%>"
    496           >
    497           <tbl:table
    498             id="itemsSharedTo"
    499             clazz="itemlist"
    500             columns="all"
    501           >
    502             <tbl:columndef
    503               id="itemType"
    504               title="Item type"
    505             />
    506             <tbl:columndef
    507               id="name"
    508               title="Name"
    509             />
    510             <tbl:columndef
    511               id="permissions"
    512               title="Permissions"
    513             />
    514             <tbl:data>
    515               <tbl:columns>
    516               </tbl:columns>
    517               <tbl:rows>
    518               <%
    519               for (Project project : projects)
    520               {
    521                 Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    522                 %>     
    523                 <tbl:row>
    524                   <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    525                   <tbl:cell column="name"><base:icon
    526                     image="deleted.gif"
    527                     tooltip="This item has been scheduled for deletion"
    528                     visible="<%=project.isRemoved()%>"
    529                   /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    530                   <tbl:cell column="permissions">
    531                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    532                   </tbl:cell>
    533                 </tbl:row>
    534                 <%
    535               }
    536               for (Group group : groups)
    537               {
    538                 Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    539                 %>
    540                 <tbl:row>             
    541                   <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    542                   <tbl:cell column="name"><base:icon
    543                     image="deleted.gif"
    544                     tooltip="This item has been scheduled for deletion"
    545                     visible="<%=group.isRemoved()%>"
    546                   /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    547                   <tbl:cell column="permissions">
    548                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    549                   </tbl:cell>
    550                 </tbl:row>
    551                 <% 
    552               }
    553               for (User user : users)
    554               {
    555                 Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    556                 %>
    557                 <tbl:row>             
    558                   <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    559                   <tbl:cell column="name"><base:icon
    560                     image="deleted.gif"
    561                     tooltip="This item has been scheduled for deletion"
    562                     visible="<%=user.isRemoved()%>"
    563                   /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    564                   <tbl:cell column="permissions">
    565                     <%=PermissionUtil.translatePermissionsToString(permissions)%>
    566                   </tbl:cell>
    567                 </tbl:row>
    568                 <%
    569               }
    570               %>
    571               </tbl:rows>
    572             </tbl:data>
    573           </tbl:table>
    574         </base:section>
    575         <%
    576       }
    577       else
    578       {
    579         %>
    580         <h4>Shared to</h4>
    581         This bioassay is not shared
    582         (or, you don't have permission to view the ones it is shared to).
    583         <%
    584       }
    585       %>
    586      
    587     </div>
     481      <jsp:include page="../../common/share/list_share.jsp">
     482        <jsp:param name="ID" value="<%=ID%>" />
     483        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     484        <jsp:param name="item_id" value="<%=itemId%>" />
     485        <jsp:param name="title" value="Shared to" />
     486      </jsp:include>
     487      </div>
    588488      </t:tab>
    589489     
    590490      <t:tab id="annotations" title="Annotations &amp; parameters"
    591         tooltip="View annotation values and protocol parameters">
    592         <div class="boxed">
     491        tooltip="View annotation values and protocol parameters" clazz="white">
    593492        <jsp:include page="../../common/annotations/list_annotations.jsp">
    594493          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    596495          <jsp:param name="ID" value="<%=ID%>" />
    597496        </jsp:include>
    598         </div>
    599497      </t:tab>
    600498
  • trunk/www/views/rawbioassays/list_rawbioassays.jsp

    r5910 r5935  
    248248    <tbl:table
    249249      id="rawbioassays"
    250       clazz="itemlist"
     250     
    251251      columns="<%=cc.getSetting("columns")%>"
    252252      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/rawbioassays/rawdata/list_rawdata.jsp

    r5915 r5935  
    220220    <tbl:table
    221221      id="rawdata"
    222       clazz="itemlist"
     222     
    223223      columns="<%=cc.getSetting("columns")%>"
    224224      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/rawbioassays/view_rawbioassay.jsp

    r5915 r5935  
    535535          <tbl:table
    536536            id="experiments"
    537             clazz="itemlist"
     537           
    538538            columns="all"
    539539            >
     
    578578        <jsp:param name="title" value="Other items related to this sample" />
    579579      </jsp:include>
    580       <%
    581       // Tables with users/groups/projects that this item is shared to
    582       MultiPermissions mp = new MultiPermissions(Collections.singleton(rawBioAssay));
    583       ItemResultIterator<User> users = mp.getUsers().iterate(dc);
    584       ItemResultIterator<Group> groups = mp.getGroups().iterate(dc);
    585       ItemResultIterator<Project> projects = mp.getProjects().iterate(dc);
    586      
    587       if (users.hasNext() || groups.hasNext() || projects.hasNext())
    588       {
    589         %>
    590         <base:section
    591           id="sharedTo"
    592           title="Shared to"
    593           context="<%=cc%>">
    594         <tbl:table
    595           id="itemsSharedTo"
    596           clazz="itemlist"
    597           columns="all"
    598         >
    599           <tbl:columndef
    600             id="itemType"
    601             title="Item type"
    602           />
    603           <tbl:columndef
    604             id="name"
    605             title="Name"
    606           />
    607           <tbl:columndef
    608             id="permissions"
    609             title="Permissions"
    610           />
    611           <tbl:data>
    612             <tbl:columns>
    613             </tbl:columns>
    614             <tbl:rows>
    615             <%
    616             while(projects.hasNext())
    617             {
    618               Project project = projects.next();
    619               Set<Permission> permissions = mp.getPermissions(project).values().iterator().next();
    620               %>     
    621               <tbl:row>
    622                 <tbl:cell column="itemType"><%=project.getType()%></tbl:cell>
    623                 <tbl:cell column="name"><base:icon
    624                   image="deleted.gif"
    625                   tooltip="This item has been scheduled for deletion"
    626                   visible="<%=project.isRemoved()%>"
    627                 /><%=Base.getLinkedName(ID, project, false, true)%></tbl:cell>
    628                 <tbl:cell column="permissions">
    629                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    630                 </tbl:cell>
    631               </tbl:row>
    632               <%
    633             }
    634             while(groups.hasNext())
    635             {
    636               Group group = groups.next();
    637               Set<Permission> permissions = mp.getPermissions(group).values().iterator().next();
    638               %>
    639               <tbl:row>             
    640                 <tbl:cell column="itemType"><%=group.getType()%></tbl:cell>
    641                 <tbl:cell column="name"><base:icon
    642                   image="deleted.gif"
    643                   tooltip="This item has been scheduled for deletion"
    644                   visible="<%=group.isRemoved()%>"
    645                 /><%=Base.getLinkedName(ID, group, false, true)%></tbl:cell>
    646                 <tbl:cell column="permissions">
    647                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    648                 </tbl:cell>
    649               </tbl:row>
    650               <% 
    651             }
    652             while (users.hasNext())
    653             {
    654               User user = users.next();
    655               Set<Permission> permissions = mp.getPermissions(user).values().iterator().next();
    656               %>
    657               <tbl:row>             
    658                 <tbl:cell column="itemType"><%=user.getType()%></tbl:cell>
    659                 <tbl:cell column="name"><base:icon
    660                   image="deleted.gif"
    661                   tooltip="This item has been scheduled for deletion"
    662                   visible="<%=user.isRemoved()%>"
    663                 /><%=Base.getLinkedName(ID, user, false, true)%></tbl:cell>
    664                 <tbl:cell column="permissions">
    665                   <%=PermissionUtil.translatePermissionsToString(permissions)%>
    666                 </tbl:cell>
    667               </tbl:row>
    668               <%
    669             }
    670             %>
    671             </tbl:rows>
    672           </tbl:data>
    673         </tbl:table>
    674         </base:section>
    675         <%
    676       }
    677       else
    678       {
    679         %>
    680         <h4>Shared to</h4>
    681         This raw bioassay is not shared
    682         (or, you don't have permission to view the ones it is shared to).
    683         <%
    684       }
    685       %>
     580      <jsp:include page="../../common/share/list_share.jsp">
     581        <jsp:param name="ID" value="<%=ID%>" />
     582        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     583        <jsp:param name="item_id" value="<%=itemId%>" />
     584        <jsp:param name="title" value="Shared to" />
     585      </jsp:include>
    686586      </div>
    687587      </t:tab>
    688588     
    689589      <t:tab id="annotations" title="Annotations &amp; parameters"
    690         tooltip="View annotation values and protocol parameters">
    691         <div class="boxed">
     590        tooltip="View annotation values and protocol parameters" clazz="white">
    692591        <jsp:include page="../../common/annotations/list_annotations.jsp">
    693592          <jsp:param name="item_type" value="<%=itemType.name()%>" />
     
    695594          <jsp:param name="ID" value="<%=ID%>" />
    696595        </jsp:include>
    697         </div>
    698596      </t:tab>
     597
    699598      <t:tab id="rawdata" title="Raw data" visible="<%=rawBioAssay.getNumDbSpots() > 0%>" />
    700599      <t:tab id="overview" title="Overview"
  • trunk/www/views/reporterlists/list_reporterlists.jsp

    r5910 r5935  
    189189    <tbl:table
    190190      id="reporterLists"
    191       clazz="itemlist"
     191     
    192192      columns="<%=cc.getSetting("columns")%>"
    193193      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/reporterlists/reporters/list_reporters.jsp

    r5910 r5935  
    213213    <tbl:table
    214214      id="reporters"
    215       clazz="itemlist"
     215     
    216216      columns="<%=cc.getSetting("columns")%>"
    217217      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/reporterlists/view_reporterlist.jsp

    r5916 r5935  
    331331          <tbl:table
    332332            id="itemsSharedTo"
    333             clazz="itemlist"
     333           
    334334            columns="all"
    335335          >
  • trunk/www/views/reporters/list_reporters.jsp

    r5910 r5935  
    189189    <tbl:table
    190190      id="reporters"
    191       clazz="itemlist"
     191     
    192192      columns="<%=cc.getSetting("columns")%>"
    193193      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/sessions/list_sessions.jsp

    r5910 r5935  
    145145    <tbl:table
    146146      id="sessions"
    147       clazz="itemlist"
     147     
    148148      columns="<%=cc.getSetting("columns")%>"
    149149      sortby="<%=cc.getSortProperty()%>"
  • trunk/www/views/trashcan/list_trash.jsp

    r5910 r5935  
    190190    <tbl:table
    191191      id="trashcan"
    192       clazz="itemlist"
     192     
    193193      columns="<%=cc.getSetting("columns")%>"
    194194      action="index.jsp"
  • trunk/www/views/trashcan/view_item.jsp

    r5901 r5935  
    278278        <tbl:table
    279279          id="usingItems"
    280           clazz="itemlist"
     280         
    281281          columns="all"
    282282        >
     
    438438          <tbl:table
    439439            id="itemsSharedTo"
    440             clazz="itemlist"
     440           
    441441            columns="all"
    442442          >
Note: See TracChangeset for help on using the changeset viewer.