Exemplo n.º 1
0
def edit_challenge(request, slug):
    challenge = get_object_or_404(Challenge, slug=slug)
    user = request.user.get_profile()

    if user != challenge.created_by:
        return HttpResponseForbidden(_("You can't edit challenge"))

    if request.method == 'POST':
        form = ChallengeForm(request.POST, instance=challenge)
        if form.is_valid():
            form.save()
            messages.success(request, _('Challenge updated!'))
            return HttpResponseRedirect(reverse('challenges_show', kwargs={
                'slug': challenge.slug,
                }))
        else:
            messages.error(request, _('Unable to update your challenge.'))
    else:
        form = ChallengeForm(instance=challenge)

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

    return render_to_response('challenges/challenge_edit_summary.html',
                              context,
                              context_instance=RequestContext(request))
Exemplo n.º 2
0
def edit_challenge(request, slug):
    challenge = get_object_or_404(Challenge, slug=slug)
    user = request.user.get_profile()

    if user != challenge.created_by:
        return HttpResponseForbidden()

    if request.method == 'POST':
        form = ChallengeForm(request.POST, instance=challenge)
        if form.is_valid():
            form.save()
            messages.success(request, _('Challenge updated!'))
            return HttpResponseRedirect(
                reverse('challenges_show', kwargs={
                    'slug': challenge.slug,
                }))
        else:
            messages.error(request, _('Unable to update your challenge.'))
    else:
        form = ChallengeForm(instance=challenge)

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

    return render_to_response('challenges/challenge_edit_summary.html',
                              context,
                              context_instance=RequestContext(request))
Exemplo n.º 3
0
def create_challenge(request, project_id):
    project = get_object_or_404(Project, id=project_id)
    if project.slug != 'mojo':
        return HttpResponseForbidden()

    user = request.user.get_profile()

    if request.method == 'POST':
        form = ChallengeForm(request.POST)
        if form.is_valid():
            challenge = form.save(commit=False)
            challenge.created_by = user
            challenge.project = project
            challenge.save()

            messages.success(request,
                             _('Your new challenge has been created.'))
            return HttpResponseRedirect(
                reverse('challenges_show', kwargs={
                    'slug': challenge.slug,
                }))
        else:
            messages.error(request, _('Unable to create your challenge.'))
    else:
        form = ChallengeForm()

    context = {
        'form': form,
        'project': project,
    }
    return render_to_response('challenges/challenge_edit_summary.html',
                              context,
                              context_instance=RequestContext(request))
Exemplo n.º 4
0
def create_challenge(request, project_id):
    project = get_object_or_404(Project, id=project_id)
    if project.slug != 'mojo':
        return HttpResponseForbidden(_("You can't create challenge"))

    user = request.user.get_profile()

    if request.method == 'POST':
        form = ChallengeForm(request.POST)
        if form.is_valid():
            challenge = form.save(commit=False)
            challenge.created_by = user
            challenge.project = project
            challenge.save()

            messages.success(request,
                             _('Your new challenge has been created.'))
            return HttpResponseRedirect(reverse('challenges_show', kwargs={
                'slug': challenge.slug,
                }))
        else:
            messages.error(request, _('Unable to create your challenge.'))
    else:
        form = ChallengeForm()

    context = {
        'form': form,
        'project': project,
    }
    return render_to_response('challenges/challenge_edit_summary.html',
                              context,
                              context_instance=RequestContext(request))
Exemplo n.º 5
0
def challenge_edit(request, challenge_uuid):
    """
    Edit a challenge
    """
    challenge_inst = get_object_or_404(Challenge.objects.filter(user=request.user), uuid=challenge_uuid)

    if request.method == 'POST':
        challenge_form = ChallengeForm(request.POST, instance=challenge_inst)

        if challenge_form.is_valid():
            challenge = challenge_form.save(commit=False)
            challenge.user = request.user
            challenge.save()

            context = {'challenge': challenge_inst}
            return render(request, 'challenge/challenge_view.html', context)

    else:
        challenge_form = ChallengeForm(instance=challenge_inst)

    context = {'challenge_form': challenge_form, 'challenge': challenge_inst}

    return render(
       request,
       'challenge/challenge_edit.html',
       context
    )
Exemplo n.º 6
0
def challenge_new(request):
    if request.method == "POST":
        form = ChallengeForm(request.POST, request.FILES)
        if form.is_valid():
            challenge = form.save(commit=False)
            # challenge.author = request.user
            challenge.published_date = timezone.now()
            challenge.save()
            return redirect('/')
    else:
        form = ChallengeForm()
    return render(request, 'challenges/registration.html', {'form': form})
Exemplo n.º 7
0
def challenge_add(request):
    """
    Add a new challenge
    """
    if request.method == 'POST':
        challenge_form = ChallengeForm(request.POST)

        if challenge_form.is_valid():
            challenge = challenge_form.save(commit=False)
            challenge.user = request.user
            challenge.save()

            return redirect('challenge-list')
    else:
        challenge_form = ChallengeForm()

    return render(
        request,
        'challenge/challenge_add.html',
        {
            'challenge_form': challenge_form,
        }
    )