def submit(request): """Accept submission of a demo""" if not request.user.is_authenticated(): return jingo.render(request, 'demos/submit_noauth.html', {}) if request.method != "POST": form = SubmissionNewForm() else: form = SubmissionNewForm(request.POST, request.FILES) if form.is_valid(): new_sub = form.save(commit=False) if request.user.is_authenticated(): new_sub.creator = request.user new_sub.save() ns_key = cache.get(DEMOS_CACHE_NS_KEY) if ns_key is None: ns_key = random.randint(1,10000) cache.set(DEMOS_CACHE_NS_KEY, ns_key) else: cache.incr(DEMOS_CACHE_NS_KEY) # TODO: Process in a cronjob? new_sub.process_demo_package() return HttpResponseRedirect(reverse( 'demos.views.detail', args=(new_sub.slug,))) return jingo.render(request, 'demos/submit.html', {'form': form})
def submit(request): """Accept submission of a demo""" if not request.user.is_authenticated(): return render(request, 'demos/submit_noauth.html') if request.method != "POST": initial = {} if 'tags' in request.GET: initial['challenge_tags'] = parse_tags(request.GET['tags']) form = SubmissionNewForm(initial=initial, request_user=request.user) else: form = SubmissionNewForm(request.POST, request.FILES, request_user=request.user) if form.is_valid(): new_sub = form.save(commit=False) new_sub.creator = request.user new_sub.save() form.save_m2m() # TODO: Process in a cronjob? new_sub.process_demo_package() _invalidate_submission_listing_helper_cache() return HttpResponseRedirect( reverse('demos.views.detail', args=(new_sub.slug, ))) return render(request, 'demos/submit.html', {'form': form})
def submit(request): """Accept submission of a demo""" if not request.user.is_authenticated(): return render(request, 'demos/submit_noauth.html') if request.method != "POST": initial = {} if 'tags' in request.GET: initial['challenge_tags'] = parse_tags(request.GET['tags']) form = SubmissionNewForm(initial=initial, request_user=request.user) else: form = SubmissionNewForm( request.POST, request.FILES, request_user=request.user) if form.is_valid(): new_sub = form.save(commit=False) new_sub.creator = request.user new_sub.save() form.save_m2m() # TODO: Process in a cronjob? new_sub.process_demo_package() _invalidate_submission_listing_helper_cache() return HttpResponseRedirect(reverse( 'demos.views.detail', args=(new_sub.slug,))) return render(request, 'demos/submit.html', {'form': form})