Example #1
0
 def update(self, request, slug):
     "update a project"
     p = Project.objects.filter(slug=slug)
     if not p:
         return rc.NOT_FOUND
     elif len(p) > 1:
         return rc.BAD_REQUEST
     elif "has_admin_perm" in p[0].get_perms(request.user):
         p = p[0]
         initial = model_to_dict(p)
         data = request.PUT
         data._mutable = True
         if "admins" not in data:
             data["admins"] = ",".join([a.username for a in p.admins.all()])
         if "members" not in data:
             data["members"] = ",".join([m.username for m in p.members.all()])
         filt = lambda v: v not in data.keys()
         for field in filter(filt, [f.name for f in p._meta.fields]):
             data[field] = initial.get(field, None)
         form = ProjectEditForm(data=data, instance=p)
         if form.is_valid():
             p = form.save()
             return p
         return rc.BAD_REQUEST
     else:
         return rc.FORBIDDEN
Example #2
0
def edit_project(request, id):
	user = request.user
	page_title = "Edit Project"
	instance = get_object_or_404(Project, id=id)

	if request.user == instance.user:

		form = ProjectEditForm(request.POST or None, request.FILES or None, instance=instance)

		if form.is_valid():
		
			instance = form.save(commit=False)
			instance.save()

			return redirect("get_project", id=instance.id)



		context = {
		'instance': instance,
		'page_title': page_title,
		'form': form,
		}


		return render(request, 'project_edit.html', context)

	else:
		return HttpResponse(status=403)
Example #3
0
def edit(request, slug):
    user = request.user
    project = get_object_or_404(Project, slug=slug)
    members = project.projectmember_set.all()
    if user in [member.user for member in members]:
        member = members.get(user=user)
        level = member.level
    if request.POST:
        form = ProjectEditForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('project-detail', args=[project.slug]))
    else:
        form = ProjectEditForm(instance=project)
    return render_to_response('edit_project.html', locals(), context_instance=RequestContext(request))
Example #4
0
def edit(request, slug):
    user = request.user
    project = get_object_or_404(Project, slug=slug)
    members = project.projectmember_set.all()
    if user in [member.user for member in members]:
        member = members.get(user=user)
        level = member.level
    if request.POST:
        form = ProjectEditForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(
                reverse('project-detail', args=[project.slug]))
    else:
        form = ProjectEditForm(instance=project)
    return render_to_response('edit_project.html',
                              locals(),
                              context_instance=RequestContext(request))
Example #5
0
 def test_form_helper(self):
     form = ProjectEditForm()
     self.assertIsNotNone(form.helper.layout)
     self.assertEqual(form.helper.layout[0], 'name')