Exemple #1
0
def PopupCB(spec, name, column, returned_column,
            selected=None,
            condition=None, sort=(), **attrs):
    """Generuje popup list na základě hodnot z číselníku.

    Argumenty:

      spec -- název specifikace
      name -- jméno pro HTML widget
      label -- popis pro HTML widget
      column -- název sloupce číselníku, jehož hodnoty se budou zobrazovat
      returned_column -- název sloupce číselníku, jehož hodnoty se budou vracet
      selected -- None nebo seznam hodnot, které budou mít v HTML hodnotu
                  selected
      sort -- řazení odpovídající argumentu volání pytis.data.select()
      condition -- podmínka odpovídající argumentu volání pytis.data.select()

    Vrací instanci HyperText.Select nebo None v případě neúspěchu.
    
    """
    dbrows = dbselect(spec, condition=condition, sort=sort)
    if len(dbrows) == 0:
        return None
    options = [(r[column].value(), r[returned_column].value())
               for r in dbrows]
    if selected:
        if isinstance(selected, basestring):
            selected = xtuple(selected)
        if len(selected) > 1:
            attrs['multiple'] = 1
    else:
        selected = []
    return Select(options, selected=selected, name=name, **attrs)
Exemple #2
0
def PopupCB(spec,
            name,
            column,
            returned_column,
            selected=None,
            condition=None,
            sort=(),
            **attrs):
    """Generuje popup list na základě hodnot z číselníku.

    Argumenty:

      spec -- název specifikace
      name -- jméno pro HTML widget
      label -- popis pro HTML widget
      column -- název sloupce číselníku, jehož hodnoty se budou zobrazovat
      returned_column -- název sloupce číselníku, jehož hodnoty se budou vracet
      selected -- None nebo seznam hodnot, které budou mít v HTML hodnotu
                  selected
      sort -- řazení odpovídající argumentu volání pytis.data.select()
      condition -- podmínka odpovídající argumentu volání pytis.data.select()

    Vrací instanci HyperText.Select nebo None v případě neúspěchu.

    """
    dbrows = dbselect(spec, condition=condition, sort=sort)
    if len(dbrows) == 0:
        return None
    options = [(r[column].value(), r[returned_column].value()) for r in dbrows]
    if selected:
        if isinstance(selected, basestring):
            selected = pytis.util.xtuple(selected)
        if len(selected) > 1:
            attrs['multiple'] = 1
    else:
        selected = []
    return Select(options, selected=selected, name=name, **attrs)
Exemple #3
0
 def dbrows(self):
     rows = dbselect(self._spec, condition=self._condition, sort=self._sort)
     return [
         pytis.data.Row([(c, r[c]) for c in self._columns]) for r in rows
     ]
Exemple #4
0
 def dbrows(self):
     rows = dbselect(self._spec, condition=self._condition,
                     sort=self._sort)
     return [pytis.data.Row([(c, r[c]) for c in self._columns])
             for r in rows]