Exemplo n.º 1
0
def assay_name_field(blank=False, include_empties=False, empty='', selected=None):
    if include_empties:
        assay_q = Session.query(Assay).order_by(Assay.name)
    else:
        assay_q = Assay.populated_valid_query(Session).order_by(Assay.name)
    assays = assay_q.all()
    # TODO: this part can be refactored
    field = {'value': selected or '',
             'options': [(str(assay.name), assay.name) for assay in assays]}
    if blank:
        field['options'].insert(0, ('', empty))
    return field
Exemplo n.º 2
0
 def list(self):
     """
     TODO: add pagination if necessary
     """
     show_blanks = request.params.get("blank", False)
     if show_blanks:
         assay_q = Session.query(Assay)
     else:
         assay_q = Assay.populated_valid_query(Session)
     c.assays = assay_q.order_by(Assay.name).all()
     assay_field = fl.assay_field(empty="", include_empties=show_blanks, blank=True)
     c.assay_form = h.LiteralFormSelectPatch(
         value={"assay_id": assay_field["value"]}, option={"assay_id": assay_field["options"]}
     )
     return render("/assay/list.html")