Changeset 7798


Ignore:
Timestamp:
Apr 9, 2020, 11:50:31 AM (22 months ago)
Author:
Nicklas Nordborg
Message:

References #2206: Display information about item list membership

Fixed in the biosource list page and single-item page.

Location:
branches/3.16-stable/www
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/3.16-stable/www/biomaterials/biosources/list_biosources.jsp

    r7605 r7798  
    3939  import="net.sf.basedb.core.ItemResultList"
    4040  import="net.sf.basedb.core.ItemContext"
     41  import="net.sf.basedb.core.ItemList"
    4142  import="net.sf.basedb.core.Nameable"
    4243  import="net.sf.basedb.core.Permission"
     
    6162  import="net.sf.basedb.clients.web.util.HTML"
    6263  import="net.sf.basedb.util.formatter.Formatter"
     64  import="net.sf.basedb.util.formatter.NameableFormatter"
     65  import="net.sf.basedb.clients.web.formatter.LinkedItemFormatter"
    6366  import="net.sf.basedb.clients.web.formatter.FormatterFactory"
    6467  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
     
    9295
    9396final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
     97final Formatter<Nameable> nameableFormatter = mode.hasPropertyLink() ? new LinkedItemFormatter(mode.hasEditLink()) : new NameableFormatter();
    9498final String callback = request.getParameter("callback");
    9599final String title = mode.generateTitle("biosource", "biosources");
     
    109113
    110114  final ItemQuery<Sample> sampleQuery = Sample.getQuery();
    111   sampleQuery.include(cc.getInclude());
     115  sampleQuery.setIncludes(cc.getInclude());
    112116  sampleQuery.restrict(Restrictions.eq(Hql.property("parent"), Expressions.parameter("bioSource")));
    113117  sampleQuery.order(Orders.asc(Hql.property("name")));
    114118  final boolean createSamplePermission = sc.hasPermission(Permission.CREATE, Item.SAMPLE);
    115119
     120  final ItemQuery<ItemList> listQuery = ItemList.getQuery();
     121  listQuery.setIncludes(cc.getInclude());
     122  listQuery.join(Hql.innerJoin("members", "m"));
     123  listQuery.restrict(Restrictions.eq(Hql.property("memberType"), Expressions.integer(itemType.getValue())));
     124  listQuery.restrict(Restrictions.eq(Hql.alias("m"), Expressions.parameter("itemId", Type.INT)));
     125  listQuery.order(Orders.asc(Hql.property("name")));
     126 
    116127  Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
    117128  try
     
    521532                  /></tbl:cell>
    522533                <tbl:cell column="externalId"><%=HTML.encodeTags(item.getExternalId())%></tbl:cell>
     534                <tbl:cell column="itemList">
     535                  <%
     536                  listQuery.setParameter("itemId", itemId, Type.INT);
     537                  %>
     538                  <%=Values.getString(listQuery.list(dc), ", ", false, nameableFormatter) %>
     539                </tbl:cell>
    523540                <tbl:cell column="samples">
    524541                  <%
    525542                  sampleQuery.setParameter("bioSource", itemId, Type.INT);
    526                   try
    527                   {
    528                     String separator = "";
    529                     for (Sample s : sampleQuery.list(dc))
    530                     {
    531                       out.write(separator);
    532                       if (mode.hasPropertyLink())
    533                       {
    534                         out.write(Base.getLinkedName(ID, s, false, mode.hasEditLink()));
    535                       }
    536                       else
    537                       {
    538                         out.write(HTML.encodeTags(s.getName()));
    539                       }
    540                       separator = ", ";
    541                     }
    542                   }
    543                   catch (Throwable t)
    544                   {
    545                     %>
    546                     <div class="error"><%=t.getMessage()%></div>
    547                     <%
    548                   }
    549543                  %>
     544                  <%=Values.getString(sampleQuery.list(dc), ", ", false, nameableFormatter) %>
    550545                  <base:icon
    551546                    id="<%="newsample."+itemId%>"
     
    592587                <tbl:cell column="permission"><%=PermissionUtil.getShortPermissions(item)%></tbl:cell>
    593588                <tbl:cell column="sharedTo">
    594                   <%
    595                   Iterator<Nameable> sharees = ShareableUtil.getSharedTo(dc, item).iterator();
    596                   while(sharees.hasNext())
    597                   {
    598                     Nameable n = sharees.next();
    599                     if (mode.hasPropertyLink())
    600                     {
    601                       out.write(Base.getLinkedName(ID, n, false, mode.hasEditLink()));
    602                     }
    603                     else
    604                     {
    605                       out.write(HTML.encodeTags(n.getName()));
    606                     }
    607                     out.write(sharees.hasNext() ? ", " : "");
    608                   }
    609                   %>
     589                  <%=Values.getString(ShareableUtil.getSharedTo(dc, item), ", ", false, nameableFormatter) %>
    610590                </tbl:cell>
    611591                <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
  • branches/3.16-stable/www/biomaterials/biosources/view_biosource.jsp

    r7604 r7798  
    333333      </jsp:include>
    334334     
     335      <jsp:include page="../../common/itemlists/list_membership.jsp">
     336        <jsp:param name="ID" value="<%=ID%>" />
     337        <jsp:param name="item_type" value="<%=itemType.name()%>" />
     338        <jsp:param name="item_id" value="<%=itemId%>" />
     339        <jsp:param name="title" value="Item lists where this biosource is a member" />
     340      </jsp:include>
     341     
    335342      <jsp:include page="../../common/share/list_share.jsp">
    336343        <jsp:param name="ID" value="<%=ID%>" />
Note: See TracChangeset for help on using the changeset viewer.