Exemple #1
0
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))
Exemple #2
0
def new_project(req):
    p = _createParams(req)
    if req.method == "GET":
        p["breadcrumbs"].append({reverse("new_project"): "New Project"})
        p["ideas"] = Idea.objects.filter(owner=req.user)
        p["form"] = ProjectForm()
        return render_to_response(TEMPLATE_PATH + "project.html", p, context_instance=RequestContext(req))
    elif req.method == "POST":
        form = ProjectForm(req.POST)
        if form.is_valid():
            project = Project()
            project.owner = req.user
            _save_project(form, project)
            ideas = req.POST.get("ideas", "")
            tags = req.POST.get("tags", "").strip()
            if tags != "":
                _add_tags(project, tags, req.user, "project")
            messages.add_message(req, messages.INFO, 'Project "%s" added successfully.' % project.name)
            return HttpResponseRedirect(reverse("projects"))
        else:
            p["form"] = form
            return render_to_response(TEMPLATE_PATH + "project.html", p, context_instance=RequestContext(req))
Exemple #3
0
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))
Exemple #4
0
def project(req, slug=""):
    project = get_object_or_404(Project, slug=slug, owner=req.user)
    p = _createParams(req)
    p["breadcrumbs"].append({reverse("project", args=[project.name]): "Projects"})
    p["slug"] = project.slug
    p["ideas"] = Idea.objects.filter(owner=req.user)
    if req.method == "GET":
        if req.user == project.owner:
            for i in p["ideas"]:
                if project in i.projects.all():
                    i.selected = True
            p["form"] = ProjectForm(instance=project)
            return render_to_response(TEMPLATE_PATH + "project.html", p, context_instance=RequestContext(req))
        else:
            raise Http404
    elif req.method == "POST":
        form = ProjectForm(req.POST)
        if form.is_valid():
            _save_project(form, project)
            ideas = req.POST.getlist("ideas", "")
            owned_idea_ids = (
                Idea.objects.filter(owner=req.user, id__in=ideas).values_list("id", flat=True).order_by("id")
            )
            for i in ideas:
                # ensure this user came up with this idea
                if int(i) in owned_idea_ids:
                    idea = Idea.objects.get(id=i)
                    idea.projects.add(project)
                    idea.save()
            tags = req.POST.get("tags", "").strip()
            if tags != "":
                _add_tags(project, tags, req.user, "project")
            messages.add_message(req, messages.INFO, "Project successfully updated.")
            return HttpResponseRedirect(reverse("projects"))
        else:
            p["form"] = form
            return render_to_response(TEMPLATE_PATH + "project.html", p, context_instance=RequestContext(req))
Exemple #5
0
def new_research_link(req):
    p = _create_params(req)
    p['breadcrumbs'].append({reverse('new_research_link'): \
        'New Research Link'})
    if req.method == 'GET':
        p['form'] = ResearchLinkForm()
        return render_to_response(TEMPLATE_PATH + 'research_link.html', p,
            context_instance=RequestContext(req))
    elif req.method == 'POST':
        form = ResearchLinkForm(req.POST)
        if form.is_valid():
            link = ResearchLink()
            link.owner = req.user
            _save_research_link(form, link)
            tags = req.POST.get('tags', '').strip()
            if tags != '':
                _add_tags(link, tags, req.user, 'research link')
            messages.add_message(req, messages.INFO,
                'New research link "%s" created successfully.' % link.name)
            return HttpResponseRedirect(reverse('ideas'))
        else:
            p['form'] = form
            return render_to_response(TEMPLATE_PATH + 'research_link.html', p,
                context_instance=RequestContext(req))