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))
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 }))
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 }))
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))