示例#1
0
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', '/'))
示例#2
0
文件: views.py 项目: makaimc/pfisdi
def idea(req, slug):
    p = _create_params(req)
    p['idea'] = get_object_or_404(Idea, owner=req.user, slug=slug)
    p['slug'] = p['idea'].slug
    p['breadcrumbs'].append({reverse('idea', args=[slug,]): \
        p['idea'].name})
    if req.method == 'GET':
        p['form'] = IdeaForm(instance=p['idea'])
        return render_to_response(TEMPLATE_PATH + 'idea.html', p,
            context_instance=RequestContext(req))
    elif req.method == 'POST':
        idea = get_object_or_404(Idea, owner=req.user, slug=slug)
        form = IdeaForm(req.POST)
        if form.is_valid():
            _save_idea(form, idea)
            tags = req.POST.get('tags', '').strip()
            if tags != '':
                _add_tags(idea, tags, req.user, 'idea')
            messages.add_message(req, messages.INFO,
                'Idea "%s" successfully updated.' % idea.name)
            return HttpResponseRedirect(reverse('ideas'))
        else:
            p['form'] = form
            return render_to_response(TEMPLATE_PATH + 'idea.html', p,
                context_instance=RequestContext(req))
示例#3
0
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))
示例#4
0
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))
示例#5
0
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 }
示例#6
0
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)
示例#7
0
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)
示例#8
0
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})
示例#9
0
文件: views.py 项目: makaimc/pfisdi
def new_idea(req):
    p = _create_params(req)
    p['breadcrumbs'].append({reverse('new_idea'): 'New Idea'})
    if req.method == 'GET':
        p['form'] = IdeaForm()
        return render_to_response(TEMPLATE_PATH + 'idea.html', p,
            context_instance=RequestContext(req))
    elif req.method == 'POST':
        form = IdeaForm(req.POST)
        if form.is_valid():
            idea = Idea()
            idea.owner = req.user
            _save_idea(form, idea)
            tags = req.POST.get('tags', '').strip()
            if tags != '':
                _add_tags(idea, tags, req.user, 'idea')
            messages.add_message(req, messages.INFO,
                'New idea "%s" successfully saved.' % idea.name)
            return HttpResponseRedirect(reverse('ideas'))
        else:
            p['form'] = form
            return render_to_response(TEMPLATE_PATH + 'idea.html', p,
                context_instance=RequestContext(req))
示例#10
0
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")
示例#11
0
文件: views.py 项目: nilq/idea-party
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))