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