/** Update which fields status (read-only/read-write) based on New ASI/Edit ASI checkbox. */
  private final void cmd_newEdit() {
    final boolean rw = cbNewEdit.isSelected();
    log.config("R/W=" + rw + " " + asiTemplate);

    // Lot
    final boolean isNewLot = asiTemplate == null || asiTemplate.getM_Lot_ID() <= 0;
    fieldLotString.setEditable(rw && isNewLot);
    if (fieldLot != null) {
      fieldLot.setReadWrite(rw);
    }
    bLot.setReadWrite(rw);

    // Serial No
    fieldSerNo.setReadWrite(rw);
    bSerNo.setReadWrite(rw);

    // Guarantee Date
    fieldGuaranteeDate.setReadWrite(rw);

    // Attribute Editors
    for (final CEditor editor : attributeId2editor.values()) {
      editor.setReadWrite(rw);
    }
  } // cmd_newEdit