コード例 #1
0
def _project_and_permission(private=False,
                            reader=False,
                            editor=False,
                            admin=False,
                            account_id=1):
    project = Project(private=private)
    db.session.add(project)
    db.session.commit()
    perm = Permission(account_id=account_id,
                      project_id=project.id,
                      reader=reader,
                      editor=editor,
                      admin=admin)
    db.session.add(perm)
    db.session.commit()
    return project, perm
コード例 #2
0
ファイル: permissions.py プロジェクト: j-norwood-young/grano
def save(data, permission=None):
    validator = PermissionValidator()
    data = validator.deserialize(data)

    if permission is None:
        q = Permission.all()
        q = q.filter(Permission.project == data['project'])
        q = q.filter(Permission.account == data['account'])
        permission = q.first()

    if permission is None:
        permission = Permission()
        permission.project = data.get('project')
        permission.account = data.get('account')

    permission.reader = data['reader'] or data['editor'] or data['admin']
    permission.editor = data['editor'] or data['admin']
    permission.admin = data['admin']

    db.session.add(permission)
    db.session.flush()
    return permission