Changeset 7581 for branches/3.14-stable


Ignore:
Timestamp:
Jan 16, 2019, 9:39:44 AM (3 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #2147: Added "Derived bioassays" column to extracts list page

Location:
branches/3.14-stable/www
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/3.14-stable/www/biomaterials/extracts/extracts.js

    r7438 r7581  
    141141      Buttons.addClickHandler(element, extracts.newExtract);
    142142    }
     143    else if (autoInit == 'new-derived-bioassay')
     144    {
     145      Buttons.addClickHandler(element, extracts.newDerivedBioAssay);
     146    }
    143147    else if (autoInit == 'new-raw-bioassay')
    144148    {
     
    155159    Items.newItem('EXTRACT', '&extract_id='+extractId);
    156160  }
     161 
     162  /*
     163    Create a new derived bioassay with the current extract as the parent
     164  */
     165  extracts.newDerivedBioAssay = function(event)
     166  {
     167    var extractId = Data.int(event.currentTarget, 'item-id');
     168    Items.newItem('DERIVEDBIOASSAY', '&extract_id='+extractId);
     169  }
     170
    157171 
    158172  /*
  • branches/3.14-stable/www/biomaterials/extracts/index.jsp

    r6992 r7581  
    3939  import="net.sf.basedb.core.Tag"
    4040  import="net.sf.basedb.core.PhysicalBioAssay"
     41  import="net.sf.basedb.core.DerivedBioAssay"
    4142  import="net.sf.basedb.core.RawBioAssay"
    4243  import="net.sf.basedb.core.ItemSubtype"
     
    99100    cc.setObject("export.formatter.&childCreationEvents(event.physicalBioAssay.name)", new NameableFormatter());
    100101    cc.setObject("export.formatter.&childCreationEvents(event.bioMaterial.name)", new NameableFormatter());
     102    cc.setObject("export.formatter.&derivedBioAssays(name)", new NameableFormatter());
    101103    cc.setObject("export.formatter.&rawBioAssays(name)", new NameableFormatter());
    102104    cc.setObject("export.formatter.parentType", new ItemTypeFormatter());
     
    125127    cc.setObject("export.dataloader.&creationEvent.sources(bioMaterial.name)", new ParentBioMaterialEventSourceLoader());
    126128   
     129    // Child derived bioassays
     130    final ItemQuery<DerivedBioAssay> derivedBioAssayQuery = DerivedBioAssay.getQuery();
     131    derivedBioAssayQuery.restrict(Restrictions.eq(Hql.property("extract"), Expressions.parameter(restrictionParameter)));
     132    derivedBioAssayQuery.order(Orders.asc(Hql.property("name")));
     133    derivedBioAssayQuery.include(cc.getInclude());
     134    cc.setObject("export.dataloader.&derivedBioAssays(name)", new ItemQueryLoader(derivedBioAssayQuery, restrictionParameter));
     135
    127136    // Child raw bioassays
    128137    final ItemQuery<RawBioAssay> rawBioAssayQuery = RawBioAssay.getQuery();
  • branches/3.14-stable/www/biomaterials/extracts/list_extracts.jsp

    r7558 r7581  
    3232  import="net.sf.basedb.core.PhysicalBioAssay"
    3333  import="net.sf.basedb.core.RawBioAssay"
     34  import="net.sf.basedb.core.DerivedBioAssay"
    3435  import="net.sf.basedb.core.BioPlate"
    3536  import="net.sf.basedb.core.BioMaterialEvent"
     
    129130  final ItemQuery<ItemSubtype> subtypesQuery = Base.getSubtypesQuery(itemType);
    130131  final boolean createBioAssayPermission = sc.hasPermission(Permission.CREATE, Item.PHYSICALBIOASSAY);
     132  final boolean createDerivedBioAssayPermission = sc.hasPermission(Permission.CREATE, Item.DERIVEDBIOASSAY);
    131133  final boolean createRawBioAssayPermission = sc.hasPermission(Permission.CREATE, Item.RAWBIOASSAY);
    132134
    133   // Child bioassays
     135  // Child physical bioassays
    134136  final ItemQuery<PhysicalBioAssay> bioAssayQuery = PhysicalBioAssay.getQuery();
    135137  bioAssayQuery.join(Hql.innerJoin("creationEvent", "ce"));
     
    138140  bioAssayQuery.order(Orders.asc(Hql.property("name")));
    139141  bioAssayQuery.include(cc.getInclude());
     142
     143  // Child derived bioassays
     144  final ItemQuery<DerivedBioAssay> derivedAssayQuery = DerivedBioAssay.getQuery();
     145  derivedAssayQuery.restrict(Restrictions.eq(Hql.property("extract"), Hql.entityParameter("extract", Item.EXTRACT)));
     146  derivedAssayQuery.order(Orders.asc(Hql.property("name")));
     147  derivedAssayQuery.include(cc.getInclude());
    140148
    141149  // Child raw bioassays
     
    387395        title="Physical bioassays"
    388396        property="&childCreationEvents(event.physicalBioAssay.name)"
     397        datatype="string"
     398        filterable="true"
     399        exportable="true"
     400      />
     401      <tbl:columndef
     402        id="derivedBioAssays"
     403        title="Derived bioassays"
     404        property="&derivedBioAssays(name)"
    389405        datatype="string"
    390406        filterable="true"
     
    925941                  %>
    926942                </tbl:cell>
     943                <tbl:cell column="derivedBioAssays">
     944                  <%                 
     945                  try
     946                  {
     947                    derivedAssayQuery.setEntityParameter("extract", item);
     948                    String separator = "";
     949                    for (DerivedBioAssay dba : derivedAssayQuery.list(dc))
     950                    {
     951                      out.write(separator);
     952                      if (mode.hasPropertyLink())
     953                      {
     954                        out.write(Base.getLinkedName(ID, dba, false, mode.hasEditLink()));
     955                      }
     956                      else
     957                      {
     958                        out.write(HTML.encodeTags(dba.getName()));
     959                      }
     960                      separator = ", ";
     961                    }
     962                  }
     963                  catch (Throwable t)
     964                  {
     965                    %>
     966                    <div class="error"><%=t.getMessage()%></div>
     967                    <%
     968                  }
     969                  %>
     970                  <base:icon
     971                    id="<%="newDerivedBioAssay."+itemId%>"
     972                    image="add.png"
     973                    subclass="auto-init"
     974                    data-auto-init="new-derived-bioassay"
     975                    data-item-id="<%=itemId %>"
     976                    tooltip="Create new derived bioassay from this extract"
     977                    visible="<%=mode.hasEditLink() && createDerivedBioAssayPermission && usePermission %>"
     978                  />
     979                </tbl:cell>
    927980                <tbl:cell column="rawBioAssays">
    928981                  <%                 
  • branches/3.14-stable/www/views/derivedbioassays/edit_bioassay.jsp

    r6996 r7581  
    147147    }
    148148
     149    int extractId = Values.getInt(request.getParameter("extract_id"));
     150    if (extractId != 0)
     151    {
     152      currentExtract = Extract.getById(dc, extractId);
     153    }
     154    else if (cc.getPropertyFilter("extract.name") != null)
     155    {
     156      currentExtract = Base.getFirstMatching(dc, Extract.getQuery(), "name", cc.getPropertyFilter("extract.name"));
     157    }
     158
    149159    if (currentSubtypeId == 0)
    150160    {
Note: See TracChangeset for help on using the changeset viewer.