예제 #1
0
def edit_submission(request, slug, submission_id):
    challenge = get_object_or_404(Challenge, slug=slug)
    if not challenge.entrants_can_edit:
        return HttpResponseForbidden()

    submission = get_object_or_404(Submission, pk=submission_id)

    if request.method == 'POST':
        form = SubmissionForm(request.POST, instance=submission)
        if form.is_valid():
            form.save()
            messages.success(request, _('Your submission has been edited.'))

            return HttpResponseRedirect(reverse('submission_edit_description',
                kwargs={
                    'slug': challenge.slug,
                    'submission_id': submission.pk,
            }))
        else:
            messages.error(request, _('Unable to update your submission'))
    else:
        form = SubmissionForm(instance=submission)

    ctx = {
        'challenge': challenge,
        'submission': submission,
        'form': form,
    }

    return render_to_response('challenges/submission_edit_summary.html',
                              ctx, context_instance=RequestContext(request))
예제 #2
0
파일: views.py 프로젝트: AndyHendy/lernanta
def edit_submission(request, slug, submission_id):
    challenge = get_object_or_404(Challenge, slug=slug)
    submission = get_object_or_404(Submission, pk=submission_id)

    if request.method == 'POST':
        form = SubmissionForm(request.POST, instance=submission)
        if form.is_valid():
            form.save()
            messages.success(request, _('Your submission has been edited.'))

            return HttpResponseRedirect(
                reverse('submission_show',
                        kwargs={
                            'slug': challenge.slug,
                            'submission_id': submission.pk,
                        }))
        else:
            messages.error(request, _('Unable to update your submission'))
    else:
        form = SubmissionForm(instance=submission)

    ctx = {
        'challenge': challenge,
        'submission': submission,
        'form': form,
    }

    return render_to_response('challenges/submission_edit_summary.html',
                              ctx,
                              context_instance=RequestContext(request))
예제 #3
0
파일: views.py 프로젝트: cillian/batucada
def create_submission(request, slug):
    challenge = get_object_or_404(Challenge, slug=slug)
    if not challenge.is_active():
        return HttpResponseForbidden()

    user = request.user.get_profile()

    if request.method == 'POST':
        truncate_title = lambda s: truncatewords(s, 10)[:90]
        post_data = request.POST.copy()
        post_data['title'] = truncate_title(post_data['summary'])
        form = SubmissionForm(post_data)
        if form.is_valid():
            submission = form.save(commit=False)
            submission.title = truncate_title(submission.summary)
            submission.created_by = user
            submission.is_published = False
            submission.save()

            submission.challenge.add(challenge)

            messages.success(request, _('Your submission has been created'))
            return HttpResponseRedirect(reverse('submission_edit', kwargs={
                'slug': challenge.slug,
                'submission_id': submission.pk,
                }))
        else:
            messages.error(request, _('Unable to create your submission'))
    else:
        form = SubmissionForm()

    context = {
        'form': form,
        'challenge': challenge,
    }

    return render_to_response('challenges/submission_edit.html', context,
                              context_instance=RequestContext(request))
예제 #4
0
파일: views.py 프로젝트: AndyHendy/lernanta
def create_submission(request, slug):
    challenge = get_object_or_404(Challenge, slug=slug)
    if not challenge.is_active():
        return HttpResponseForbidden()

    user = request.user.get_profile()

    if request.method == 'POST':
        post_data = request.POST.copy()
        post_data['title'] = truncatewords(post_data['summary'], 10)
        form = SubmissionForm(post_data)
        if form.is_valid():
            submission = form.save(commit=False)
            submission.title = truncatewords(submission.summary, 10)
            submission.created_by = user
            submission.save()

            submission.challenge.add(challenge)

            messages.success(request, _('Your submission has been created'))

            return HttpResponseRedirect(
                reverse('submission_edit',
                        kwargs={
                            'slug': challenge.slug,
                            'submission_id': submission.pk,
                        }))
        else:
            messages.error(request, _('Unable to create your submission'))
    else:
        form = SubmissionForm()

    context = {
        'form': form,
        'challenge': challenge,
    }

    return render_to_response('challenges/submission_edit.html',
                              context,
                              context_instance=RequestContext(request))
예제 #5
0
파일: views.py 프로젝트: waytai/batucada
def edit_submission(request, slug, submission_id):
    challenge = get_object_or_404(Challenge, slug=slug)
    if not challenge.entrants_can_edit:
        return HttpResponseForbidden()

    try:
        submission = challenge.submission_set.get(pk=submission_id)
    except:
        raise Http404

    if request.method == 'POST':
        form = SubmissionForm(request.POST, instance=submission)
        if form.is_valid():
            submission = form.save()
            messages.success(request, _('Your submission has been edited.'))

            if 'publish' in request.POST:
                submission.publish()

            return HttpResponseRedirect(reverse('submission_edit_description',
                kwargs={
                    'slug': challenge.slug,
                    'submission_id': submission.pk,
            }))
        else:
            messages.error(request, _('Unable to update your submission'))
    else:
        form = SubmissionForm(instance=submission)

    ctx = {
        'challenge': challenge,
        'submission': submission,
        'form': form,
    }

    return render_to_response('challenges/submission_edit_summary.html',
                              ctx, context_instance=RequestContext(request))