def recid(pid_value=None):
    resolver = Resolver(
        pid_type='recid',
        object_type='rec',
        getter=Record.get_record)

    try:
        pid, record = resolver.resolve(pid_value)
    except:
        abort(404)

    is_public = ActionUsers.query.filter(
        ActionUsers.action == 'records-read',
        ActionUsers.user_id.is_(None)).first()

    permission_read_record = read_permission_factory(record)

    if is_public or permission_read_record.can():
        return record_view(pid_value,
                           resolver,
                           ['records/detail-'+record.get("collections", [""])[0]+'.html', 'records/detail.html'],
                           None,
                           default_view_method
                           )

    abort(403)
def recid(pid_value=None):
    resolver = Resolver(
        pid_type='recid',
        object_type='rec',
        getter=Record.get_record)

    try:
        pid, record = resolver.resolve(pid_value)
    except:
        abort(404)

    is_public = ActionUsers.query.filter(
        ActionUsers.action == 'records-read',
        ActionUsers.user_id.is_(None)).first()

    permission_read_record = read_permission_factory(record)

    if is_public or permission_read_record.can():
        return record_view(pid_value,
                           resolver,
                           ['records/detail-' + record.get("collections", [""])[
                               0] + '.html', 'records/detail.html'],
                           None,
                           default_view_method
                           )

    abort(403)
Esempio n. 3
0
def edit_record(pid_value=None):
    resolver = Resolver(pid_type='recid',
                        object_type='rec',
                        getter=Record.get_record)

    try:
        pid, record = resolver.resolve(pid_value)
    except:
        abort(404)

    permission_edit_record = update_permission_factory(record)
    if permission_edit_record.can():
        return record_view(pid_value, resolver, 'records/edit.html', None,
                           default_view_method)

    abort(403)
def edit_record(pid_value=None):
    resolver = Resolver(
        pid_type='recid',
        object_type='rec',
        getter=Record.get_record)

    try:
        pid, record = resolver.resolve(pid_value)
    except:
        abort(404)

    permission_edit_record = update_permission_factory(record)
    if permission_edit_record.can():
        return record_view(pid_value, resolver,
                           'records/edit.html',
                           None,
                           default_view_method
                           )

    abort(403)