def add_idea(request): if request.method == 'GET': form = IdeaForm() return render(request, 'ideas/addIdea.html', {'form': form}) if request.method == 'POST': idea_form = IdeaForm(request.POST) if idea_form.is_valid(): title = idea_form.cleaned_data['idea_title'] ideat = idea_form.cleaned_data['idea_text'] if Idea.objects.filter(idea_title=title).count() == 0: idea = idea_form.save(commit=False) idea.idea_title = title idea.idea_text = ideat idea.creator = request.user idea.save() messages.add_message(request, messages.SUCCESS, 'You have sucessfully created an idea!') return HttpResponseRedirect('/ideas/main') else: messages.add_message(request, messages.ERROR, 'Idea with same title already created!') return HttpResponseRedirect('/ideas/main') else: messages.add_message(request, messages.ERROR, 'ERROR EN EL FORULARIO!') return HttpResponseRedirect('/ideas/main') else: return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
def edit(request, idea_pk): idea = get_object_or_404(Idea, id=idea_pk, submitted_by=request.user) form = IdeaForm(request.POST or None, instance=idea) if request.method == "POST": if form.is_valid(): if form.save(): return HttpResponseRedirect(reverse("idea-index")) return render_to_response("ideas/new.html", {"form":form}, context_instance=RequestContext(request))
def new(request): # @@@ Maybe should auto-vote your own things? initial = {'submitted_by':request.user.id} form = IdeaForm(request.POST or None, initial=initial) if request.method == "POST": if form.is_valid(): if form.save(): return HttpResponseRedirect(reverse("idea-index")) return render_to_response("ideas/new.html", {"form":form}, context_instance=RequestContext(request))
def new_public_idea(request): form = IdeaForm(request.POST or None, initial={ 'public':True }, owner=request.user) if form.is_valid(): model = form.save() model.owner = request.user model.public = True model.save() return { 'status' : 'success', 'resource' : model, 'redirect' : reverse('show-public-ideas') } else: return { 'form' : form }
def new_idea(request, template_name, idea=None): form = IdeaForm(request.POST or None, initial={'title': 'I love your site!', 'text' : 'Sample idea!'}, owner=request.user) if form.is_valid(): model = form.save() model.owner = request.user model.parent = idea model.save() if idea: return HttpResponseRedirect(idea.get_absolute_url()) else: return HttpResponseRedirect('/') data = { 'form' : form, 'parent_idea': idea } context = RequestContext(request) return render_to_response(template_name, data, context)
def edit_idea(request, idea): if idea.owner == request.user: pass elif idea.is_contributor(request.user.pk) or idea.is_original_owner(request.user): pass else: raise Http404() form = IdeaForm(request.POST or None, instance=idea, owner=idea.owner) if form.is_valid(): idea = form.save() return HttpResponseRedirect(idea.get_absolute_url()) context = RequestContext(request, { 'form': form }) return render_to_response('idea_edit_form.html', context)
def add_idea(request): if request.method == 'GET': return render(request, 'ideas/ideas/add.html') elif request.method == 'POST': idea_form = IdeaForm(request.POST) if idea_form.is_valid(): new_idea = idea_form.save(commit=False) new_idea.user = request.user new_idea.save() idea_form.save_m2m() return redirect("idea", idea_id=new_idea.id) else: # needs to show the form with the errors return render(request, 'ideas/ideas/add.html', {'form': idea_form})
def edit_idea(request, idea_id): idea = get_object_or_404(Idea, pk=idea_id) if request.user.id == idea.user.id: if request.method == 'GET': return render(request, 'ideas/ideas/edit.html', {'idea': idea}) elif request.method == 'POST': edit_form = IdeaForm(request.POST) if edit_form.is_valid(): temp = edit_form.save(commit=False) temp.id = idea.id idea.title = request.POST['title'] idea.text = request.POST['text'] idea.updated = timezone.now() idea.save() edit_form.save_m2m() return redirect('idea', idea_id=idea_id) else: return render(request, 'ideas/ideas/edit.html', {'idea': idea, 'form': edit_form}) return HttpResponse("You don't have permission to edit this question")
def idea(request): data = json.loads(request.body) if request.method == 'POST': idea_form = IdeaForm(data=data) if idea_form.is_valid(): idea = idea_form.save() idea.id = give_me_id() idea.save() Idea.objects.get(id="").delete() print(f'Created new idea: {idea.title} #{idea.id}') else: print(idea_form.errors) return HttpResponse({'idea': idea_form}) elif request.method == 'GET': idea = Idea.objects.get(id=data.id) return HttpResponse(json.dumps(idea))