def user_role_invite(event_id, hash):
    """Accept User-Role invite for the event.
    """
    event = DataGetter.get_event(event_id)
    user = current_user
    role_invite = DataGetter.get_event_role_invite(event.id, hash,
                                                   email=user.email)

    if role_invite:
        if role_invite.has_expired():
            delete_from_db(role_invite, 'Deleted RoleInvite')

            flash('Sorry, the invitation link has expired.', 'error')
            return redirect(url_for('.details_view', event_id=event.id))

        if user.has_role(event.id):
            flash('You have already been assigned a Role in the Event.', 'warning')
            return redirect(url_for('events.details_view', event_id=event_id))

        role = role_invite.role
        data = dict()
        data['user_email'] = role_invite.email
        data['user_role'] = role.name
        DataManager.add_role_to_event(data, event.id)

        # Delete Role Invite after it has been accepted
        delete_from_db(role_invite, 'Deleted RoleInvite')

        flash('You have been added as a %s' % role.title_name)
        return redirect(url_for('.details_view', event_id=event.id))
    else:
        abort(404)
示例#2
0
def create_event(name='TestEvent', creator_email=None):
    """Creates Event and returns its `id`.
    :param creator_email:
    :param name Name of Event
    """
    event = Event(name=name,
                  start_time=datetime(2016, 4, 8, 12, 30, 45),
                  end_time=datetime(2016, 4, 9, 12, 30, 45))
    if creator_email:
        event.creator = User.query.filter_by(email=creator_email).first()

    save_to_db(event, 'Event saved')

    copyright = Copyright(holder='copyright holder', event=event)
    save_to_db(copyright, "Copyright saved")

    if creator_email:
        # Add creator as Organizer
        data = {
            'user_email': creator_email,
            'user_role': ORGANIZER,
        }
        DataManager.add_role_to_event(data, event.id, record=False)

    return event.id
def user_role_invite(event_id, hash):
    """Accept User-Role invite for the event.
    """
    event = DataGetter.get_event(event_id)
    user = current_user
    role_invite = DataGetter.get_event_role_invite(event.id,
                                                   hash,
                                                   email=user.email)

    if role_invite:
        if role_invite.has_expired():
            delete_from_db(role_invite, 'Deleted RoleInvite')

            flash('Sorry, the invitation link has expired.', 'error')
            return redirect(url_for('.details_view', event_id=event.id))

        if user.has_role(event.id):
            flash('You have already been assigned a Role in the Event.',
                  'warning')
            return redirect(url_for('events.details_view', event_id=event_id))

        role = role_invite.role
        data = dict()
        data['user_email'] = role_invite.email
        data['user_role'] = role.name
        DataManager.add_role_to_event(data, event.id)

        # Delete Role Invite after it has been accepted
        delete_from_db(role_invite, 'Deleted RoleInvite')

        flash('You have been added as a %s' % role.title_name)
        return redirect(url_for('.details_view', event_id=event.id))
    else:
        abort(404)
def create_event(name='TestEvent', creator_email=None):
    """Creates Event and returns its `id`.
    :param name Name of Event
    """
    copyright = Copyright(holder='copyright holder')
    event = Event(name=name,
                  start_time=datetime(2016, 4, 8, 12, 30, 45),
                  end_time=datetime(2016, 4, 9, 12, 30, 45),
                  copyright=copyright)
    if creator_email:
        event.creator = User.query.filter_by(email=creator_email).first()

    save_to_db(event, 'Event saved')

    if creator_email:
        # Add creator as Organizer
        data = {
            'user_email': creator_email,
            'user_role': ORGANIZER,
        }
        DataManager.add_role_to_event(data, event.id, record=False)

    return event.id
def create_event(name='TestEvent', creator_email=None, **kwargs):
    """Creates Event and returns its `id`.
    :param creator_email:
    :param name Name of Event
    """
    event = Event(name=name,
                  start_time=datetime(2016, 4, 8, 12, 30, 45),
                  end_time=datetime(2016, 4, 9, 12, 30, 45),
                  **kwargs)

    save_to_db(event, 'Event saved')

    copyright = Copyright(holder='copyright holder', event=event)
    save_to_db(copyright, "Copyright saved")

    if creator_email:
        # Add creator as Organizer
        data = {
            'user_email': creator_email,
            'user_role': ORGANIZER,
        }
        DataManager.add_role_to_event(data, event.id, record=False)

    return event.id