예제 #1
0
def ingest_complete(collection, role_id=None):
    """Operations supposed to be performed when an ingest process completes."""
    from aleph.logic.collections import collection_url  # noqa
    role = Role.by_id(role_id)
    if role is not None and not collection.managed:
        # notify the user that their import is completed.
        notify_role_template(role,
                             collection.label,
                             'email/ingest.html',
                             collection=collection,
                             url=collection_url(collection.id))
예제 #2
0
def update_permission(role, collection, read, write):
    """Update a roles permission to access a given collection."""
    pre = Permission.by_collection_role(collection, role)
    post = Permission.grant(collection, role, read, write)
    db.session.commit()

    notify_role_template(role, collection.label, 'email/permission.html',
                         url=collection_url(collection.id),
                         pre=pre,
                         post=post,
                         collection=collection)
    return post
예제 #3
0
def create_code():
    data = parse_request(RoleCodeCreateSchema)
    signature = Role.SIGNATURE.dumps(data['email'])
    url = '{}activate/{}'.format(app_ui_url, signature)
    role = Role(email=data['email'], name='Visitor')
    notify_role_template(role, 'Registration',
                         'email/registration_code.html',
                         url=url)
    return jsonify({
        'status': 'ok',
        'message': 'To proceed, please check your email.'
    })
예제 #4
0
def invite_email():
    data = parse_request(schema=RoleInviteSchema)
    signature = Role.SIGNATURE.dumps(data['email'])
    url = '{}signup/{}'.format(app_url, signature)
    role = Role(email=data['email'], name='Visitor')
    notify_role_template(role, 'Registration',
                         'email/registration_invitation.html',
                         url=url)
    return jsonify({
        'status': 'ok',
        'message': 'To proceed, please check your email.'
    })
예제 #5
0
def ingest_complete(collection, role_id=None):
    """Operations supposed to be performed when an ingest process completes."""
    from aleph.logic.collections import update_collection  # noqa
    update_collection(collection)
    role = Role.by_id(role_id)
    if role is not None:
        # notify the user that their import is completed.
        url = '%scollections/%s' % (app_url, collection.id)
        notify_role_template(role,
                             collection.label,
                             'email/ingest.html',
                             collection=collection,
                             url=url)