Beispiel #1
0
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})
Beispiel #2
0
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})
Beispiel #3
0
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})