Esempio n. 1
0
    def __init__(self, columns, *data, **kwargs):
        """Inicializuj instanci.

        Argumenty:

          columns -- sekvence instancí třídy 'Table.Column', musí mít
            nejméně 1 a nejvýše 26 prvků
          data -- neprázdná sekvence neprázdných sekvencí, odpovídá řádkům
            (vnější sekvence) formátovaným do sloupců (vnitřní sekvence);
            všechny vnitřní sekvence musí mít délku shodnou s délkou argumentu
            'columns'.  Místo vnitřní sekvence smí být kdekoliv 'None', na
            takovém místě bude místo řádku tabulky vygenerována horizontální
            čára.
          vmargin (jako klíčovaný argument) -- je-li 'None', je mezi řádky
            tabulky ponechána implicitní mezera; je-li 0, není mezi řádky
            tabulky žádná mezera; jiné hodnoty argumentu nejsou povoleny

        """
        super(Table, self).__init__()
        assert not some(lambda c: c not in ('vmargin',), kwargs.keys())
        assert isinstance(columns, (tuple, list,))
        vmargin = kwargs.get('vmargin')
        assert vmargin in (None, 0)
        if len(columns) > 26:
            raise pytis.output.TemplateException(_("More than 26 columns in a table"))
        self._columns = columns
        self._data = data
        self._vmargin = vmargin
Esempio n. 2
0
    def __init__(self, columns, *data, **kwargs):
        """Inicializuj instanci.

        Argumenty:

          columns -- sekvence instancí třídy 'Table.Column', musí mít
            nejméně 1 a nejvýše 26 prvků
          data -- neprázdná sekvence neprázdných sekvencí, odpovídá řádkům
            (vnější sekvence) formátovaným do sloupců (vnitřní sekvence);
            všechny vnitřní sekvence musí mít délku shodnou s délkou argumentu
            'columns'.  Místo vnitřní sekvence smí být kdekoliv 'None', na
            takovém místě bude místo řádku tabulky vygenerována horizontální
            čára.
          vmargin (jako klíčovaný argument) -- je-li 'None', je mezi řádky
            tabulky ponechána implicitní mezera; je-li 0, není mezi řádky
            tabulky žádná mezera; jiné hodnoty argumentu nejsou povoleny

        """
        super(Table, self).__init__()
        assert not some(lambda c: c not in ('vmargin',), kwargs.keys())
        assert isinstance(columns, (tuple, list,))
        vmargin = kwargs.get('vmargin')
        assert vmargin in (None, 0)
        if len(columns) > 26:
            raise pytis.output.TemplateException(_("More than 26 columns in a table"))
        self._columns = columns
        self._data = data
        self._vmargin = vmargin
Esempio n. 3
0
def is_in_groups(access_groups):
    """Return true iff the current user is a member of any of the groups.

    Arguments:
    
      'access_groups' -- sequence of group names (as strings) to test the user
        against, or 'None'; if it is 'None' then true is returned
        unconditionally.
    
    """
    import config
    from pytis.data import default_access_groups
    groups = default_access_groups(config.dbconnection)
    if ((groups is None or access_groups is None
         or some(lambda g: g in groups, xtuple(access_groups)))):
        return True
    else:
        return False
Esempio n. 4
0
def is_in_groups(access_groups):
    """Return true iff the current user is a member of any of the groups.

    Arguments:

      'access_groups' -- sequence of group names (as strings) to test the user
        against, or 'None'; if it is 'None' then true is returned
        unconditionally.

    """
    import config
    from pytis.data import default_access_groups
    groups = default_access_groups(config.dbconnection)
    if ((groups is None or access_groups is None or
         some(lambda g: g in groups, xtuple(access_groups)))):
        return True
    else:
        return False
Esempio n. 5
0
 def _permitted(self, permission, groups, column):
     if groups is None:
         # If user groups can't be retrieved, allow it
         return True
     ok_groups = self.permitted_groups(permission, column)
     return (None in ok_groups) or some(lambda g: g in ok_groups, groups)
Esempio n. 6
0
 def _permitted(self, permission, groups, column):
     if groups is None:
         # If user groups can't be retrieved, allow it
         return True
     ok_groups = self.permitted_groups(permission, column)
     return (None in ok_groups) or some(lambda g: g in ok_groups, groups)