예제 #1
0
def events_dashboard():
    search_parameters = request.args
    name = request.args.get('name')

    # handle search bar requests
    if name is not None:
        search = name
        events_list = EventsFinder.search_by_name(name)

    # handle parameter requests
    elif len(search_parameters) != 0:
        search_parameters = request.args
        search = 'search name'

        events_list = EventsFinder.get_from_parameters(search_parameters)

    # request endpoint with no parameters should return all events
    else:
        search = None
        events_list = EventsFinder.get_all()

    if events_list is None or len(events_list) == 0:
        error = 'No results found'
        return render_template('admin/events/events_dashboard.html',
                               events=None,
                               error=error,
                               search=search,
                               role=current_user.role.name)

    now = datetime.utcnow()
    for event in events_list:
        if event.cvs_access_end:
            try:
                cvs_access_end = datetime.strptime(event.cvs_access_end,
                                                   '%d %b %Y, %a')
            except:
                break
            event.cvs_purgeable = (now > cvs_access_end)
        else:
            event.cvs_purgeable = False

    return render_template('admin/events/events_dashboard.html',
                           events=events_list,
                           error=None,
                           search=search,
                           role=current_user.role.name)
예제 #2
0
def activity_types_dashboard():
    events = EventsFinder.get_all()

    event_id = request.args.get('event', None)
    if (event_id is None):
        event = EventsFinder.get_default_event()
    else:
        event = EventsFinder.get_from_external_id(event_id)

    if event is None:
        error = 'No default event found! Please set a default event in the menu "Events"'
        return render_template('admin/activities/activities_dashboard.html',
                               event=None,
                               events=events,
                               error=error,
                               role=current_user.role.name)

    return render_template('admin/activities/activity_types_dashboard.html',
                           event=event,
                           events=events,
                           error=None,
                           role=current_user.role.name)
예제 #3
0
def activities_dashboard():
    search_parameters = request.args
    name = request.args.get('name')

    # get event
    event_id = request.args.get('event', None)

    if (event_id is None):
        event = EventsFinder.get_default_event()
    else:
        event = EventsFinder.get_from_external_id(event_id)

    events = EventsFinder.get_all()

    if event is None:
        error = 'No default event found! Please set a default event in the menu "Events"'
        return render_template('admin/activities/activities_dashboard.html',
                               event=None,
                               events=events,
                               activities=None,
                               error=error,
                               search=None,
                               role=current_user.role.name)

    # handle search bar requests
    if name is not None:
        search = name
        activities_list = ActivitiesFinder.search_by_name_and_event(
            name, event)

    # handle parameter requests
    elif len(search_parameters) != 0:
        search_parameters = request.args
        search = 'search name'

        if 'type' in search_parameters:
            type_external_id = search_parameters['type']
            activity_type = ActivityTypesFinder.get_from_external_id(
                uuid.UUID(type_external_id))
            activities_list = ActivitiesFinder.get_all_from_type_and_event(
                activity_type)
        else:
            activities_list = event.activities

    # request endpoint with no parameters should return all activities
    else:
        search = None
        activities_list = event.activities

    if not activities_list:
        error = 'No results found'
        return render_template('admin/activities/activities_dashboard.html',
                               event=event,
                               events=events,
                               activities=None,
                               error=error,
                               search=search,
                               role=current_user.role.name)

    return render_template('admin/activities/activities_dashboard.html',
                           event=event,
                           events=events,
                           activities=activities_list,
                           error=None,
                           search=search,
                           role=current_user.role.name)