Changeset 7582 for branches/3.14-stable


Ignore:
Timestamp:
Jan 16, 2019, 1:36:47 PM (3 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #2148: List child derived and raw bioassays on the extracts single view page

Location:
branches/3.14-stable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/3.14-stable/src/core/net/sf/basedb/core/Extract.java

    r7381 r7582  
    361361  }
    362362
    363 
     363  /**
     364    Get a query that returns all derived bioassays created from this
     365    extract.
     366    @return An {@link ItemQuery} object
     367    @since 3.14.1
     368  */
     369  public ItemQuery<DerivedBioAssay> getDerivedBioAssays()
     370  {
     371    ItemQuery<DerivedBioAssay> query = DerivedBioAssay.getQuery();
     372    query.joinPermanent(Hql.innerJoin("extract", Item.EXTRACT.getAlias()));
     373    query.restrictPermanent(
     374      Restrictions.eq(
     375        Hql.alias(Item.EXTRACT.getAlias()),
     376        Hql.entity(this)
     377      )
     378    );
     379    return query;
     380  }
     381
     382  /**
     383    Get a query that returns all raw bioassays created from this
     384    extract.
     385    @return An {@link ItemQuery} object
     386    @since 3.14.1
     387  */
     388  public ItemQuery<RawBioAssay> getRawBioAssays()
     389  {
     390    ItemQuery<RawBioAssay> query = RawBioAssay.getQuery();
     391    query.joinPermanent(Hql.innerJoin("parentExtract", Item.EXTRACT.getAlias()));
     392    query.restrictPermanent(
     393      Restrictions.eq(
     394        Hql.alias(Item.EXTRACT.getAlias()),
     395        Hql.entity(this)
     396      )
     397    );
     398    return query;
     399  }
     400 
    364401  // -------------------------------------------
    365402  /*
  • branches/3.14-stable/www/biomaterials/extracts/view_extract.jsp

    r7166 r7582  
    4141  import="net.sf.basedb.core.BioMaterialEventSource"
    4242  import="net.sf.basedb.core.BioWell"
     43  import="net.sf.basedb.core.RawDataType"
     44  import="net.sf.basedb.core.RawBioAssay"
     45  import="net.sf.basedb.core.DerivedBioAssay"
    4346  import="net.sf.basedb.core.MultiPermissions"
    4447  import="net.sf.basedb.core.ItemSubtype"
     
    440443      childQuery.order(Orders.asc(Hql.property("bm", "name")));
    441444      ResultList<BioMaterialEventSource> children = childQuery.list(dc);
     445     
     446      ItemQuery<DerivedBioAssay> dbaQuery = extract.getDerivedBioAssays();
     447      dbaQuery.include(Include.ALL);
     448      dbaQuery.order(Orders.asc(Hql.property("name")));
     449      ItemResultList<DerivedBioAssay> derivedBioAssays = dbaQuery.list(dc);
     450     
     451      ItemQuery<RawBioAssay> rbaQuery = extract.getRawBioAssays();
     452      rbaQuery.include(Include.ALL);
     453      rbaQuery.order(Orders.asc(Hql.property("name")));
     454      ItemResultList<RawBioAssay> rawBioAssays = rbaQuery.list(dc);
     455
     456      int numChildren = children.size() + derivedBioAssays.size() + rawBioAssays.size();
    442457      %>
    443458      <base:section
    444459        id="childSection"
    445         title="<%="Child items (" + children.size() + ")"%>"
     460        title="<%="Child items (" + numChildren + ")"%>"
    446461        context="<%=cc%>"
    447462        >
    448463        <%
    449         if (children.size() == 0)
     464        if (numChildren == 0)
    450465        {
    451466          %>
     
    537552                <%
    538553              }
    539               %>           
     554              for (DerivedBioAssay dba : derivedBioAssays)
     555              {
     556                ItemSubtype subtype = null;
     557                try
     558                {
     559                  subtype = dba.getItemSubtype();
     560                }
     561                catch (PermissionDeniedException ex)
     562                {}
     563                %>
     564                <tbl:row>
     565                  <tbl:cell column="name"><base:icon
     566                      image="deleted.png"
     567                      tooltip="This item has been scheduled for deletion"
     568                      visible="<%=dba.isRemoved()%>"
     569                    /><%=Base.getLinkedName(ID, dba, false, true)%></tbl:cell>
     570                  <tbl:cell column="type">
     571                    <%
     572                    if (subtype != null)
     573                    {
     574                      %>
     575                      <%=Base.getLinkedName(ID, subtype, false, true)%> <span class="itemsubtype">(<%=dba.getType() %>)</span>
     576                      <%
     577                    }
     578                    else
     579                    {
     580                      %>
     581                      <%=dba.getType()%>
     582                      <%
     583                    }
     584                    %>
     585                  </tbl:cell>
     586                  <tbl:cell column="quantity"></tbl:cell>
     587                  <tbl:cell column="description"><%=HTML.encodeTags(dba.getDescription())%></tbl:cell>
     588                </tbl:row>
     589                <%
     590              }
     591              for (RawBioAssay rba : rawBioAssays)
     592              {
     593                RawDataType rawtype = null;
     594                try
     595                {
     596                  rawtype = rba.getRawDataType();
     597                }
     598                catch (PermissionDeniedException ex)
     599                {}
     600                %>
     601                <tbl:row>
     602                  <tbl:cell column="name"><base:icon
     603                      image="deleted.png"
     604                      tooltip="This item has been scheduled for deletion"
     605                      visible="<%=rba.isRemoved()%>"
     606                    /><%=Base.getLinkedName(ID, rba, false, true)%></tbl:cell>
     607                  <tbl:cell column="type">
     608                    <%=rawtype.getName()%> <span class="itemsubtype">(<%=rba.getType() %>)</span>
     609                  </tbl:cell>
     610                  <tbl:cell column="quantity"></tbl:cell>
     611                  <tbl:cell column="description"><%=HTML.encodeTags(rba.getDescription())%></tbl:cell>
     612                </tbl:row>
     613                <%
     614              }
     615              %>
    540616              </tbl:rows>
    541617            </tbl:data>
Note: See TracChangeset for help on using the changeset viewer.