예제 #1
0
def register_default_acls(session, force=False):
    # authentication settings
    if not force:
        force = not get_registry_key('mobyle2.configured_acl', False)
    if not force:
        return
    for p in default_acls:
        try:
            perm = Permission.by_name(p)
        except:
            import pdb;pdb.set_trace()  ## Breakpoint ##

        roles = default_acls[p]
        for role in roles:
            access = roles[role]
            orole = Role.by_name(role)
            if access:
                if not perm in orole.global_permissions:
                    orole.global_permissions.append(perm)
                    session.add(orole)
                    session.commit()
            else:
                if perm in orole.global_permissions:
                    del orole.global_permissions[orole.global_permissions.index(perm)]
                    session.add(orole)
                    session.commit()
            set_registry_key('mobyle2.configured_acl', "1")
    session.flush()
예제 #2
0

def register_default_permissions(session):
    # authentication settings
    for k in default_permissions:
        try:
            session.query(Permission).filter(Permission.name == k).one()
        except NoResultFound, e:
            try:
                session.add(
                    Permission(name=k, description=default_permissions[k])
                )
                session.commit()
            except IntegrityError:
                session.rollback()
    session.flush()

def register_default_roles(session, force=False):
    # authentication settings
    if not force:
        force = not get_registry_key('mobyle2.configured_roles', False)
    if not force:
        return
    for k in default_roles:
        try:
            session.query(Role).filter(Role.name == k).one()
        except NoResultFound, e:
            try:
                session.add(
                    Role(name=k, description=default_roles[k])
                )