Exemple #1
0
def new(request, default_template="project/new.html"):
    
    # grab the current event and check to see if it's actually open.
    eq = EventQuery()
    event = eq.current()
    
    if not event or not event.is_open() :
        messages = { 'warning' : 'There is currently no event open for submission.' }
        return redirect(reverse('victr.views.home'), locals())
    
    current_user = UserProfile.objects.get(user=request.user).pk
    
    if request.method == 'GET':
      project_form = ProjectForm(initial = {'event' : event, 'users' : [current_user] }) # the current event is preselected.
    
    elif request.method == 'POST':
        project_form = ProjectForm(request.POST, current_user=current_user)
        if project_form.is_valid() :
            try :
                proj = project_form.save()
            except :
                messages = { 'error' : 'Invalid form submission. Please contact your site administrator.' }
                return render_to_response(default_template, locals(), context_instance=RequestContext(request))
            return redirect('project', proj.slug)
        messages = { 'error': 'Invalid form submission. Please correct the indicated fields below before proceeding.' }

    else:
        return HttpResponseNotAllowed(['GET', 'POST'])
    
    forms = [project_form]
    return render_to_response(default_template, locals(), context_instance=RequestContext(request))
Exemple #2
0
def present(request, slug="", default_template="impress/present.html"):
    if(slug is "") :
        eq = EventQuery()
        event = eq.current()
    else :
        event = get_object_or_404(Event, slug=slug)
    projects = Project.objects.filter(event=event)
    return render_to_response(default_template, context_instance=RequestContext(request, { 'event' : event, 'projects' : projects }))
Exemple #3
0
def present(request, slug="", default_template="impress/present.html"):
    if (slug is ""):
        eq = EventQuery()
        event = eq.current()
    else:
        event = get_object_or_404(Event, slug=slug)
    projects = Project.objects.filter(event=event)
    return render_to_response(default_template,
                              context_instance=RequestContext(
                                  request, {
                                      'event': event,
                                      'projects': projects
                                  }))
Exemple #4
0
def view(request, slug="", default_template="event/view.html"):
    eq = EventQuery()
    visible_events = eq.visible()
    if(slug is "") :
        event = eq.current()
    else :
        event = get_object_or_404(Event, slug=slug)
    if not event.is_visible :
        raise Http404
    if event.show_results :
        try: 
            top_projects = Project.objects.filter(event=event, rank__isnull=False).order_by('rank')[:3]
        except IndexError :
            top_projects = False
        try:
            winner = Project.objects.filter(event=event, rank__isnull=False).order_by('rank')[0]
        except IndexError:
            winner = False
        awards = Project.objects.filter(award__isnull=False).exclude(award='')
    return render_to_response(default_template, locals(), context_instance=RequestContext(request))