示例#1
0
def _get_admin_user_base_acl(self):
    """
    Build acl for user account management for admins

    :returns: A list of user acls
    """
    perms = (
        'view.user',
        'edit.user',
        'admin.user',
        'delete.user',
        'list.holiday',
        'add.holiday',

        "list.company",
        "admin.company",

        "list.activity",

        'add.userdatas',
        "add.login",
        "add.trainerdatas",
    )
    for group in Group.query().options(
        load_only('name')
    ).filter(Group.name != 'admin'):
        perms += (u"addgroup.%s" % group.name,)

    admin_perms = perms + ('addgroup.admin',)

    return [
        (Allow, 'group:admin', admin_perms),
        (Allow, 'group:manager', perms),
    ]
示例#2
0
def groups(dbsession):
    from autonomie.models.user.group import Group
    groups = []
    for name in ('contractor', 'manager', 'admin'):
        group = Group(name=name, label=name, primary=True)
        dbsession.add(group)
        dbsession.flush()
        groups.append(group)

    for name in ('trainer', 'constructor'):
        group = Group(name=name, label=name)
        dbsession.add(group)
        dbsession.flush()
        groups.append(group)

    return groups
示例#3
0
def populate_groups(session):
    """
    Populate the groups in the database
    """
    from autonomie.models.user.group import Group
    for group in GROUPS:
        if session.query(
                Group.id).filter(Group.name == group['name']).count() == 0:
            session.add(Group(**group))
    session.flush()
示例#4
0
def get_groups(request):
    """
    Collect non primary groups

    :returns: available groups as a list of 2-uples (name, label)
    """
    groups = Group.query().options(load_only(
        Group.id, Group.label)).filter_by(primary=False).all()
    return [(group.name, group.label) for group in groups
            if request.has_permission(u"addgroup.{0}".format(group.name))]
示例#5
0
def get_groups(request):
    """
    Collect non primary groups

    :returns: available groups as a list of 2-uples (name, label)
    """
    groups = Group.query().options(
        load_only(Group.id, Group.label)
    ).filter_by(primary=False).all()
    return [
        (group.name, group.label) for group in groups
        if request.has_permission(u"addgroup.{0}".format(group.name))
    ]
示例#6
0
def deferred_user_groups_datas_validator(node, kw):
    ids = [entry[0] for entry in Group.query('id')]
    return colander.OneOf(ids)
示例#7
0
def deferred_user_groups_datas_select(node, kw):
    values = Group.query('id', 'label').all()
    values.insert(0, ('', "- Sélectionner un rôle"))
    return deform.widget.SelectWidget(values=values)
示例#8
0
def deferred_user_groups_datas_validator(node, kw):
    ids = [entry[0] for entry in Group.query('id')]
    return colander.OneOf(ids)
示例#9
0
def deferred_user_groups_datas_select(node, kw):
    values = Group.query('id', 'label').all()
    values.insert(0, ('', "- Sélectionner un rôle"))
    return deform.widget.SelectWidget(
        values=values
    )