Changeset 5459


Ignore:
Timestamp:
Oct 29, 2010, 2:01:56 PM (12 years ago)
Author:
Nicklas Nordborg
Message:

References #1532: Add bioplate type to bioplates

The gui has ben updated to handle the lockMode property for plate types. Edit pages for biomaterials, bioplates and wells have been updated to account for the various lock modes.

I don't think there is more to do, but will keep this open until the final testing.

Location:
trunk
Files:
1 added
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/core/BioWell.java

    r5456 r5459  
    211211 
    212212  /**
     213    Get the lock mode of this well. The lock mode determines if it is possible
     214    to add biomaterial to an empty well or remove biomaterial from the well.
     215    @return The lock mode as determined by the plate's plate type
     216    @since 2.16
     217  */
     218  public LockMode getLockMode()
     219  {
     220    return BioWell.LockMode.fromValue(getData().getBioPlate().getBioPlateType().getLockMode());
     221  }
     222 
     223  /**
     224    Check if it is possible to add/change biomaterial in this well.
     225   
     226    @return TRUE if it is possible to add biomaterial to the well, FALSE otherwise
     227    @since 2.16
     228    @see LockMode#canAdd(BioWell)
     229  */
     230  public boolean canAddBioMaterial()
     231  {
     232    return getLockMode().canAdd(getData());
     233  }
     234 
     235  /**
     236    Check if it is possible to clear the current biomaterial in this well.
     237   
     238    @return TRUE if it is possible to clear the well
     239    @since 2.16
     240    @see LockMode#canClear(BioWell)
     241  */
     242  public boolean canClearBioMaterial()
     243  {
     244    return getLockMode().canClear(getData());
     245  }
     246 
     247  /**
    213248    If the original biomaterial in this well has been moved to
    214249    another plate (eg. for final storage in a freezer). This property
     
    217252    @since 2.16
    218253  */
    219   public boolean hasBeenMoved()
     254  public boolean hasBeenUsed()
    220255  {
    221256    return getData().getBioMaterial() == null && getData().getOriginalBioMaterial() != null;
     
    249284      any number of times.
    250285    */
    251     UNLOCKED(0)
     286    UNLOCKED(0, "Unlocked")
    252287    {
    253288      /**
     
    274309      is then saved in the {@link BioWell#getOriginalBioMaterial()}.
    275310    */
    276     LOCKED_AFTER_MOVE(1)
     311    LOCKED_AFTER_MOVE(1, "Locked after add+clear")
    277312    {
    278313      /**
     
    285320      }
    286321      /**
    287         Can only add if there is no original biomaterial.
     322        Can only add if the well is empty and hasn't been used already.
    288323      */
    289324      @Override
    290325      boolean canAdd(BioWellData well)
    291326      {
    292         return well.getOriginalBioMaterial() == null;
     327        return well.getBioMaterial() == null && well.getOriginalBioMaterial() == null;
    293328      }
    294329      /**
     
    309344      add biomaterial to empty wells at any time.
    310345    */
    311     LOCKED_AFTER_ADD(2)
    312     {
    313       /**
    314         @return Always false
     346    LOCKED_AFTER_ADD(2, "Locked after add")
     347    {
     348      /**
     349        @return TRUE if empty, FALSE otherwise
    315350      */
    316351      @Override
    317352      boolean canClear(BioWellData well)
    318353      {
    319         return false;
    320       }
    321       /**
    322         @return Always true
     354        return well.getBioMaterial() == null;
     355      }
     356      /**
     357        Can only add if the well is empty.
    323358      */
    324359      @Override
    325360      boolean canAdd(BioWellData well)
    326361      {
    327         return true;
     362        return well.getBioMaterial() == null;
    328363      }
    329364    },
     
    334369      committed to the database, all wells become locked.
    335370    */
    336     LOCKED_AFTER_CREATE(3)
    337     {
    338       /**
    339         @return Always false
     371    LOCKED_AFTER_CREATE(3, "Locked at plate creation")
     372    {
     373      /**
     374        @return TRUE if empty, FALSE otherwise
    340375      */
    341376      @Override
    342377      boolean canClear(BioWellData well)
    343378      {
    344         return false;
     379        return well.getBioMaterial() == null;
    345380      }
    346381      /**
     
    372407    */
    373408    private final int value;
    374    
    375     private LockMode(int value)
     409    private final String displayValue;
     410   
     411    private LockMode(int value, String displayValue)
    376412    {
    377413      this.value = value;
    378     }
    379    
     414      this.displayValue = displayValue;
     415    }
     416   
     417    @Override
     418    public String toString()
     419    {
     420      return displayValue;
     421    }
     422
    380423    /**
    381424      Get the integer value that is used when storing a lock mode to the database.
     
    401444
    402445    /**
    403       Is it allowed to clear a well that already has biomaterial in it? If
    404       this method is called with an empty well as parameter the result
    405       is undefined.
    406       @param well The biowell, which should already have biomaterial in it
     446      Is it allowed to clear a well from biomaterial? This method should return
     447      true for an empty well.
     448      @param well The biowell to check
    407449    */
    408450    public boolean canClear(BioWell well)
     
    425467
    426468    /**
    427       Is it allowed to add biomaterial to the (empty) well? If this
    428       method is called with a non-empty well as parameter the result
    429       is undefined.
    430       @param well An empty biowell
     469      Is it allowed to add (a different) biomaterial to the well?
     470      If this method is called for a non-empty well, the check must
     471      assume that the well is first cleared.
     472     
     473      @param well A biowell
     474      @see BioWell#canAddBioMaterial()
    431475    */
    432476    public boolean canAdd(BioWell well)
  • trunk/src/core/net/sf/basedb/core/MeasuredBioMaterial.java

    r5456 r5459  
    431431    return getDbControl().getItem(BioWell.class, getData().getBioWell());
    432432  }
     433 
     434  /**
     435    Check if this biomaterial is placed in a well that it can't be removed from.
     436   
     437    @return TRUE if the biomaterial is locked, FALSE if is not in a well or in
     438      a well that allows moving it
     439    @since 2.16
     440  */
     441  public boolean isLockedInWell()
     442  {
     443    MeasuredBioMaterialData myData = getData();
     444    BioWellData currentWell = myData.getBioWell();
     445   
     446    // Not locked if not in a well
     447    if (currentWell == null) return false;
     448
     449    // Get the lock mode from the plate's plate type
     450    BioPlateData plate = currentWell.getBioPlate();
     451    BioWell.LockMode lockMode = BioWell.LockMode.fromValue(plate.getBioPlateType().getLockMode());
     452   
     453    // The lock mode knows if we can move the biomaterial
     454    return !lockMode.canClear(currentWell);
     455  }
     456 
    433457}
  • trunk/www/biomaterials/bioplates/view_bioplate.jsp

    r5456 r5459  
    195195        var id = info['bm.id'];
    196196        var type = info['bm.type'];
    197         html = '<b>' + info['bm.type'] + '</b>: ';
     197        html = '<b>' + type + '</b>: ';
    198198        html += Main.linkItem('<%=ID%>', type, id, info['bm.editable'], info['bm.name']);
    199199        html += '<br>'+info['bm.description'];
     
    399399            BioWell well = bioplate.getBioWell(r, c);
    400400            boolean isEmpty = well.isEmpty();
    401             boolean editable = well.hasPermission(Permission.USE); // && !well.isLocked();
     401            boolean hasBeenUsed = well.hasBeenUsed();
     402            boolean canAddBioMaterial = well.canAddBioMaterial();
     403            boolean canClearBioMaterial = well.canClearBioMaterial();
     404            boolean editable = well.hasPermission(Permission.USE);
    402405            MeasuredBioMaterial bm = null;
    403406            String cls = "well";
     
    411414              {
    412415                bm = well.getBioMaterial();
    413                 editable &= bm.hasPermission(Permission.WRITE);
     416                editable &= bm.hasPermission(Permission.WRITE) && canClearBioMaterial;
    414417                if (bm.getId() == sc.getCurrentContext(bm.getType()).getId())
    415418                {
     
    426429            else
    427430            {
     431              editable &= well.canAddBioMaterial();
    428432              cls += " empty";
     433              if (hasBeenUsed) cls += " used";
    429434            }
    430435            if (editable)
     
    436441                tooltip = "Add biomaterial to this well";
    437442              }
     443              else if (!canAddBioMaterial)
     444              {
     445                tooltip = "Remove the biomaterial from this well";
     446              }
    438447              else
    439448              {
     
    448457                tooltip = "This well is locked for modifications";
    449458              }
     459              else if (hasBeenUsed)
     460              {
     461                tooltip = "This well has already been used";
     462              }
    450463              else
    451464              {
     
    453466              }
    454467            }
    455             if (!isEmpty)
     468            if (!isEmpty || hasBeenUsed)
    456469            {
    457470              onMouseOver = "showWellInfo(event, '" + row + (c+1) + "', " + well.getId() + ")";
  • trunk/www/biomaterials/bioplates/wells/ajax.jsp

    r5426 r5459  
    5656    boolean encodeStrings = Values.getBoolean(request.getParameter("encodeStrings"));
    5757    BioWell w = BioWell.getById(dc, itemId);
     58    boolean isEmpty = w.isEmpty();
     59    boolean hasBeenUsed = w.hasBeenUsed();
    5860    String status = "Ok";
    5961    MeasuredBioMaterial bm = null;
    60     if (w.isEmpty())
     62    if (isEmpty && !hasBeenUsed)
    6163    {
    6264      status = "Empty";
     
    6668      try
    6769      {
    68         bm = w.getBioMaterial();
     70        bm = isEmpty ? w.getOriginalBioMaterial() : w.getBioMaterial();
    6971      }
    7072      catch (PermissionDeniedException ex)
     
    7577    }
    7678    aw.ajaxPrintEntry("id", w.getId());
    77     aw.ajaxPrintEntry("status", status);
     79    aw.ajaxPrintEntry("status", status);   
    7880    if (bm != null)
    7981    {
  • trunk/www/biomaterials/bioplates/wells/edit_biowell.jsp

    r5450 r5459  
    8080    readCurrentBioMaterial = false;
    8181  }
     82  boolean canAddBioMaterial = bioWell.canAddBioMaterial();
    8283
    8384  cc.setObject("item", bioWell);
     
    9091    function validateBioWell()
    9192    {
    92       var frm = document.forms['biowell'];
    93       <%
    94       if (bioWell.getBioMaterial() != null)
    95       {
    96         %>
    97         var list = frm.biomaterial_id;
    98         if (list[list.selectedIndex].value >= 0)
    99         {
    100           return confirm("This will replace current biomaterial in this biowell");         
    101         }
    102         <%
    103       }
    104       %>
    10593      return true;
    10694    }
     
    216204            denied="<%=!readCurrentBioMaterial%>"
    217205            recent="<%=null%>"
    218             newitem="<%=false %>"
    219             onselect="selectBioMaterialOnClick()"
     206            newitem="<%=false%>"
     207            onselect="<%=canAddBioMaterial ? "selectBioMaterialOnClick()" : null%>"
    220208          />
    221209        </td>
    222210      </tr>
     211      <%
     212      if (!canAddBioMaterial && currentBioMaterial != null)
     213      {
     214        %>
     215        <tr>
     216          <td></td>
     217          <td>
     218            <base:note type="warning" style="background: #ffffd8;">
     219              New biomaterial can't be added to this well if
     220              '<%=HTML.encodeTags(currentBioMaterial.getName())%>' is removed.
     221            </base:note>
     222          </td>
     223        </tr>
     224        <%
     225      }
     226      %>
    223227      </table>
    224228    </t:tab>
    225229    </t:tabcontrol>
    226 
    227230    <table align="center">
    228231    <tr>
  • trunk/www/biomaterials/bioplates/wells/index.jsp

    r5426 r5459  
    125125    int biomaterialId = Values.getInt(request.getParameter("biomaterial_id"));
    126126    if (biomaterialId >= 0)
    127     {     
     127    {
    128128      dc = sc.newDbControl();
    129129      BioWell biowell = (BioWell)cc.getObject("item");
     
    133133      {
    134134        dc.reattachItem(oldMbm, false);
     135        if (oldMbm.isLockedInWell())
     136        {
     137          throw new PermissionDeniedException("The current biomaterial can't be removed from this well.");
     138        }
    135139        oldMbm.setBioWell(null);       
    136140      }
    137       dc.commit();
    138141      if (biomaterialId > 0)
    139142      {
    140         dc = sc.newDbControl();
    141143        Item biomaterialType = Item.valueOf(request.getParameter("biomaterial_type"));
    142144        MeasuredBioMaterial newMbm = (MeasuredBioMaterial)biomaterialType.getById(dc, biomaterialId);
     145        if (newMbm.isLockedInWell())
     146        {
     147          throw new PermissionDeniedException("The biomaterial '" + newMbm.getName() + "' is locked in a well.");
     148        }
    143149        newMbm.setBioWell(biowell);
    144         dc.commit();
    145150      }
    146      
     151      dc.commit();
    147152    }   
    148153    cc.removeObject("item");
  • trunk/www/biomaterials/bioplates/wells/list_biowells.jsp

    r5456 r5459  
    9999  final boolean createPermission = bioplate.hasPermission(Permission.WRITE);
    100100  final boolean deletePermission = createPermission;
    101   final boolean lockedWells = false; //bioPlateType.getLockedWells();
     101  final BioWell.LockMode lockMode = bioPlateType.getLockMode();
    102102
    103103  Enumeration<String, String> rows = new Enumeration<String,String>();
     
    294294        enumeration="<%=Base.getBioMaterialListsEnum(dc, null, Include.ALL)%>"
    295295        multiple="false"
     296      />
     297      <tbl:columndef
     298        id="originalBioMaterial.name"
     299        property="originalBioMaterial.name"
     300        datatype="string"
     301        title="[Biomtrl] Original"
     302        sortable="true"
     303        filterable="true"
     304        exportable="true"
    296305      />
    297306      <tbl:columndef
     
    439448                  if (bioMaterial != null)
    440449                  {
    441                     editWellPermission = bioMaterial.hasPermission(Permission.WRITE) && !lockedWells;                   
     450                    editWellPermission = bioMaterial.hasPermission(Permission.WRITE) && !bioMaterial.isLockedInWell();
     451                  }
     452                  else
     453                  {
     454                    editWellPermission = item.canAddBioMaterial();
    442455                  }
    443456                }
     
    456469                    visible="<%=editWellPermission%>"
    457470                    image="edit.gif"
    458                     tooltip="Change the biomaterial in this biowell"
     471                    tooltip="<%=bioMaterial == null ? "Add biomaterial to this well" : "Change the biomaterial in this well"%>"
    459472                    onclick="<%="editItem("+item.getId()+")"%>"
    460473                  />
    461474                  <base:icon
    462                     visible="<%=lockedWells && !editWellPermission%>"
     475                    visible="<%=!editWellPermission%>"
    463476                    image="locked.gif"
    464                     tooltip="This plate has locked wells"
     477                    tooltip="<%=item.hasBeenUsed() ? "This well has already been used" : "This well is locked for modification"%>"
    465478                  />
    466479                </tbl:cell>
     480                <tbl:cell column="originalBioMaterial.name"><base:propertyvalue item="<%=item%>" property="originalBioMaterial" /></tbl:cell>
    467481                <tbl:cell column="permission"><%=PermissionUtil.getShortPermissions(item)%></tbl:cell>
    468482              </tbl:row>
  • trunk/www/biomaterials/bioplatetypes/edit_platetype.jsp

    r5456 r5459  
    3333  import="net.sf.basedb.core.Include"
    3434  import="net.sf.basedb.core.BioPlateType"
     35  import="net.sf.basedb.core.BioWell"
    3536  import="net.sf.basedb.core.ItemQuery"
    3637  import="net.sf.basedb.core.ItemResultList"
     
    6162  String title = null;
    6263  BioPlateType bioPlateType = null;
    63   boolean isLocked = false;
     64  BioWell.LockMode lockMode = BioWell.LockMode.UNLOCKED;
    6465 
    6566  if (itemId == 0)
     
    6768    title = "Create bio plate type";
    6869    cc.removeObject("item");
    69     String lw = cc.getPropertyValue("lockedWells");
    70     isLocked = lw == null ? isLocked : Values.getBoolean(lw);
     70    int lm = Values.getInt(cc.getPropertyValue("lockMode"));
     71    lockMode = BioWell.LockMode.fromValue(lm);
    7172  }
    7273  else
     
    7475    bioPlateType = BioPlateType.getById(dc, itemId);
    7576    bioPlateType.checkPermission(Permission.WRITE);
    76     //isLocked = bioPlateType.getLockedWells();
     77    lockMode = bioPlateType.getLockMode();
    7778    cc.setObject("item", bioPlateType);
    7879    title = "Edit bio plate type -- " + HTML.encodeTags(bioPlateType.getName());
     
    158159      %>
    159160      <tr>
    160         <td class="prompt">Locked wells</td>
     161        <td class="prompt">Well lock mode</td>
    161162        <td>
    162           <input type="radio" name="lockedWells" value="1" <%=isLocked ? "checked" : ""%>> yes
    163           <input type="radio" name="lockedWells" value="0" <%=!isLocked ? "checked" : ""%>> no
     163          <select name="lockMode">
     164          <%
     165          for (BioWell.LockMode lm : BioWell.LockMode.values())
     166          {
     167            String selected = lm == lockMode ? "selected" : "";
     168            %>
     169            <option value="<%=lm.name()%>" <%=selected%>><%=lm%>
     170            <%
     171          }
     172          %>
     173          </select>
    164174        </td>
    165175      </tr>
  • trunk/www/biomaterials/bioplatetypes/index.jsp

    r5456 r5459  
    2929  import="net.sf.basedb.core.Include"
    3030  import="net.sf.basedb.core.BioPlateType"
     31  import="net.sf.basedb.core.BioWell"
    3132  import="net.sf.basedb.core.ItemQuery"
    3233  import="net.sf.basedb.core.ItemResultIterator"
     
    148149    plateType.setName(Values.getStringOrNull(request.getParameter("name")));
    149150    plateType.setDescription(Values.getStringOrNull(request.getParameter("description")));
    150 //    plateType.setLockedWells(Values.getBoolean(request.getParameter("lockedWells")));
     151    plateType.setLockMode(BioWell.LockMode.valueOf(request.getParameter("lockMode")));
    151152    dc.commit();
    152153    cc.removeObject("item");
  • trunk/www/biomaterials/bioplatetypes/list_platetypes.jsp

    r5456 r5459  
    3131  import="net.sf.basedb.core.Include"
    3232  import="net.sf.basedb.core.Type"
     33  import="net.sf.basedb.core.BioWell"
    3334  import="net.sf.basedb.core.ItemResultIterator"
    3435  import="net.sf.basedb.core.ItemResultList"
     
    7475    bioMaterialTypes.add(Integer.toString(Item.LABELEDEXTRACT.getValue()), Item.LABELEDEXTRACT.toString());
    7576  }
     77  private static Enumeration<String, String> lockModes = new Enumeration<String, String>();
     78  static
     79  {
     80    for (BioWell.LockMode lm : BioWell.LockMode.values())
     81    {
     82      lockModes.add(Integer.toString(lm.getValue()), lm.toString());
     83    }
     84  }
    7685 
    7786%>
     
    236245      />
    237246      <tbl:columndef
    238         id="lockedWells"
    239         property="lockedWells"
    240         title="Locked wells"
    241         datatype="boolean"
     247        id="lockMode"
     248        property="lockMode"
     249        title="Well lock mode"
     250        datatype="int"
    242251        sortable="true"
    243252        filterable="true"
    244253        exportable="true"
     254        enumeration="<%=lockModes%>"
    245255      />
    246256      <tbl:columndef
     
    400410                <tbl:cell column="id"><%=item.getId()%></tbl:cell>
    401411                <tbl:cell column="bioMaterialType"><%=item.getBioMaterialType() == null ? "<i>- any -</i>" : item.getBioMaterialType().toString() %></tbl:cell>
    402                 <tbl:cell column="lockedWells"><% //item.getLockedWells() ? "yes" : "no" %></tbl:cell>
     412                <tbl:cell column="lockMode"><%=item.getLockMode()%></tbl:cell>
    403413                <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
    404414              </tbl:row>
  • trunk/www/biomaterials/bioplatetypes/view_platetype.jsp

    r5456 r5459  
    219219      </tr>
    220220      <tr>
    221         <td class="prompt">Locked wells</td>
    222         <td><% //plateType.getLockedWells() ? "yes" : "no"%></td>
     221        <td class="prompt">Well lock mode</td>
     222        <td><%=plateType.getLockMode()%></td>
    223223      </tr>
    224224      <tr>
  • trunk/www/biomaterials/extracts/edit_extract.jsp

    r5456 r5459  
    173173    {
    174174      currentBioWell = extract.getBioWell();
     175      lockedWell = extract.isLockedInWell();
    175176      if (currentBioWell != null)
    176177      {
    177178        currentBioPlate = currentBioWell.getPlate();
    178         lockedWell = false; //currentBioWell.isLocked();
    179179      }
    180180    }
     
    337337        url += '&item_id='+id;
    338338      }
     339      url += '&resetTemporary=1&tmpfilter:INT:bioPlateType.lockMode=<><%=BioWell.LockMode.LOCKED_AFTER_CREATE.getValue()%>';
     340      url += '&tmpfilter:BOOLEAN:destroyed=false';
    339341      Main.openPopup(url, 'SelectBioplate', 1000, 700);
    340342    }
     
    397399      url += '&bioplate_id='+bioplateId;
    398400      url += '&resetTemporary=1&tmpfilter:STRING:bioMaterial.name='+escape('=');
     401      url += '&tmpfilter:STRING:originalBioMaterial.name='+escape('=');
    399402      url += '&columns=row,column';
    400403      Main.openPopup(url, 'SelectBiowell', 700, 700);
  • trunk/www/biomaterials/extracts/view_extract.jsp

    r5456 r5459  
    349349          try
    350350          {
    351             if (extract.getBioWell() != null)
     351            BioWell well = extract.getBioWell();
     352            if (well != null)
    352353            {
    353               BioWell bw = extract.getBioWell();
    354354              %>
    355               [<%=rowFormatter.format(bw.getRow())%>,<%=columnFormatter.format(bw.getColumn())%>]
    356               <base:icon image="locked.gif"  visible="<% //bw.isLocked() %>"/>
     355              [<%=rowFormatter.format(well.getRow())%>,<%=columnFormatter.format(well.getColumn())%>]
     356              <base:icon image="locked.gif"  visible="<%=extract.isLockedInWell()%>"/>
    357357            <%
    358358            }
  • trunk/www/biomaterials/labeledextracts/edit_labeledextract.jsp

    r5456 r5459  
    197197    {
    198198      currentBioWell = extract.getBioWell();
     199      lockedWell = extract.isLockedInWell();
    199200      if (currentBioWell != null)
    200201      {
    201202        currentBioPlate = currentBioWell.getPlate();
    202         lockedWell = false; //currentBioWell.isLocked();
    203203      }
    204204    }
     
    368368        url += '&item_id='+id;
    369369      }
     370      url += '&resetTemporary=1&tmpfilter:INT:bioPlateType.lockMode=<><%=BioWell.LockMode.LOCKED_AFTER_CREATE.getValue()%>';
     371      url += '&tmpfilter:BOOLEAN:destroyed=false';
    370372      Main.openPopup(url, 'SelectBioplate', 1000, 700);
    371373    }
     
    428430      url += '&bioplate_id='+bioplateId;
    429431      url += '&resetTemporary=1&tmpfilter:STRING:bioMaterial.name='+escape('=');
     432      url += '&tmpfilter:STRING:originalBioMaterial.name='+escape('=');
    430433      url += '&columns=row,column';
    431434      Main.openPopup(url, 'SelectBiowell', 700, 700);
  • trunk/www/biomaterials/labeledextracts/view_labeledextract.jsp

    r5456 r5459  
    352352          try
    353353          {
    354             if (extract.getBioWell() != null)
     354            BioWell well = extract.getBioWell();
     355            if (well != null)
    355356            {
    356               BioWell bw = extract.getBioWell();
    357357              %>
    358               [<%=rowFormatter.format(bw.getRow())%>,<%=columnFormatter.format(bw.getColumn())%>]
    359               <base:icon image="locked.gif"  visible="<% // bw.isLocked() %>"/>
     358              [<%=rowFormatter.format(well.getRow())%>,<%=columnFormatter.format(well.getColumn())%>]
     359              <base:icon image="locked.gif"  visible="<%=extract.isLockedInWell()%>"/>
    360360            <%
    361361            }
  • trunk/www/biomaterials/samples/edit_sample.jsp

    r5456 r5459  
    174174    {
    175175      currentBioWell = sample.getBioWell();
     176      lockedWell = sample.isLockedInWell();
    176177      if (currentBioWell != null)
    177178      {
    178179        currentBioPlate = currentBioWell.getPlate();
    179         lockedWell = false; //currentBioWell.isLocked();
    180180      }
    181181    }
     
    339339        url += '&item_id='+id;
    340340      }
     341      url += '&resetTemporary=1&tmpfilter:INT:bioPlateType.lockMode=<><%=BioWell.LockMode.LOCKED_AFTER_CREATE.getValue()%>';
     342      url += '&tmpfilter:BOOLEAN:destroyed=false';
    341343      Main.openPopup(url, 'SelectBioplate', 1000, 700);
    342344    }
     
    399401      url += '&bioplate_id='+bioplateId;
    400402      url += '&resetTemporary=1&tmpfilter:STRING:bioMaterial.name='+escape('=');
     403      url += '&tmpfilter:STRING:originalBioMaterial.name='+escape('=');
    401404      url += '&columns=row,column';
    402405      Main.openPopup(url, 'SelectBiowell', 700, 700);
  • trunk/www/biomaterials/samples/view_sample.jsp

    r5456 r5459  
    334334          try
    335335          {
    336             if (sample.getBioWell() != null)
     336            BioWell well = sample.getBioWell();
     337            if (well != null)
    337338            {
    338               BioWell bw = sample.getBioWell();
    339339              %>
    340               [<%=rowFormatter.format(bw.getRow())%>,<%=columnFormatter.format(bw.getColumn())%>]
    341               <base:icon image="locked.gif"  visible="<% //bw.isLocked() %>"/>
     340              [<%=rowFormatter.format(well.getRow())%>,<%=columnFormatter.format(well.getColumn())%>]
     341              <base:icon image="locked.gif"  visible="<%=sample.isLockedInWell()%>"/>
    342342            <%
    343343            }
  • trunk/www/include/styles/plate.css

    r5426 r5459  
    9191}
    9292
     93.well.used {
     94  background-image: url('../../images/info_used.png') !important;
     95}
     96
    9397.well.selected {
    9498  background-color: #00CCFF;
Note: See TracChangeset for help on using the changeset viewer.