Exemplo n.º 1
0
Arquivo: views.py Projeto: npch/amy
def event_edit(request, event_ident):
    try:
        event = Event.get_by_ident(event_ident)
        tasks = event.task_set.order_by('role__name')
    except ObjectDoesNotExist:
        raise Http404("No event found matching the query.")

    if request.method == 'GET':
        event_form = EventForm(prefix='event', instance=event)
        task_form = TaskForm(prefix='task', initial={'event': event})

    elif request.method == 'POST':
        event_form = EventForm(request.POST, prefix='event', instance=event)
        task_form = TaskForm(request.POST, prefix='task',
                             initial={'event': event})

        if "submit" in request.POST and event_form.is_valid():
            event_form.save()
            return redirect(event)

        if "add" in request.POST and task_form.is_valid():
            task_form.save()

    context = {'title': 'Edit Event {0}'.format(event.get_ident()),
               'event_form': event_form,
               'object': event,
               'model': Event,
               'tasks': tasks,
               'task_form': task_form,
               'form_helper': bootstrap_helper_without_form}
    return render(request, 'workshops/event_edit_form.html', context)
Exemplo n.º 2
0
def validate_event(request, event_ident):
    '''Check the event's home page *or* the specified URL (for testing).'''
    page_url, error_messages = None, []
    event = Event.get_by_ident(event_ident)
    github_url = request.GET.get('url', None)  # for manual override
    if github_url is None:
        github_url = event.url
    if github_url is not None:
        page_url = github_url.replace(
            'github.com',
            'raw.githubusercontent.com').rstrip('/') + '/gh-pages/index.html'
        response = requests.get(page_url)
        if response.status_code != 200:
            error_messages.append(
                'Request for {0} returned status code {1}'.format(
                    page_url, response.status_code))
        else:
            valid, error_messages = check_file(page_url, response.text)
    context = {
        'title': 'Validate Event {0}'.format(event),
        'event': event,
        'page': page_url,
        'error_messages': error_messages
    }
    return render(request, 'workshops/validate_event.html', context)
Exemplo n.º 3
0
Arquivo: views.py Projeto: npch/amy
def event_details(request, event_ident):
    '''List details of a particular event.'''

    event = Event.get_by_ident(event_ident)
    tasks = Task.objects.filter(event__id=event.id).order_by('role__name')
    context = {'title' : 'Event {0}'.format(event),
               'event' : event,
               'tasks' : tasks}
    return render(request, 'workshops/event.html', context)
Exemplo n.º 4
0
def event_details(request, event_ident):
    '''List details of a particular event.'''

    event = Event.get_by_ident(event_ident)
    tasks = Task.objects.filter(event__id=event.id).order_by('role__name')
    context = {'title' : 'Event {0}'.format(event),
               'event' : event,
               'tasks' : tasks}
    return render(request, 'workshops/event.html', context)
Exemplo n.º 5
0
Arquivo: views.py Projeto: npch/amy
def event_delete(request, event_ident):
    """Mark event as deleted.

    Additionally mark tasks pointing at that event as deleted, too."""
    try:
        event = Event.get_by_ident(event_ident)
        tasks = event.task_set
    except ObjectDoesNotExist:
        raise Http404("No event found matching the query.")

    tasks.update(deleted=True)
    event.deleted = True
    event.save()
    return redirect(reverse('all_events'))
Exemplo n.º 6
0
Arquivo: views.py Projeto: npch/amy
def validate_event(request, event_ident):
    '''Check the event's home page *or* the specified URL (for testing).'''
    page_url, error_messages = None, []
    event = Event.get_by_ident(event_ident)
    github_url = request.GET.get('url', None) # for manual override
    if github_url is None:
        github_url = event.url
    if github_url is not None:
        page_url = github_url.replace('github.com', 'raw.githubusercontent.com').rstrip('/') + '/gh-pages/index.html'
        response = requests.get(page_url)
        if response.status_code != 200:
            error_messages.append('Request for {0} returned status code {1}'.format(page_url, response.status_code))
        else:
            error_messages = check_file(page_url, response.text)
    context = {'title' : 'Validate Event {0}'.format(event),
               'event' : event,
               'page' : page_url,
               'error_messages' : error_messages}
    return render(request, 'workshops/validate_event.html', context)