def test_add_project_supporter_static_method(self): project = Project.objects.create(name='Test', description='Test cause.', video_url='http://vimeo.com/12345') user = User.objects.create_user('foo', '*****@*****.**', 'bar') Supporter.add_project_supporter(project, user) self.assertQuerysetEqual(project.supporters.all(), ['foo'], lambda supporter: supporter.user.username)
def support_project(request, project_slug): """Allow a user to support a project.""" user = request.user if not user.is_authenticated(): url = '/login/?next=project/%s' % (project_slug) return redirect(url) elif request.method == 'POST': form = SupportForm(request.POST) if form.is_valid(): project = get_object_or_404(Project, slug=project_slug) Supporter.add_project_supporter(project, user) if request.is_ajax(): success = {'success': True} return JSONResponse(success) else: url = '/project/%s' % (project_slug) return redirect(url) return redirect(support)
def support_project(request, project_slug): """Allow a user to support a project.""" user = request.user if not user.is_authenticated(): url = "/login/?next=project/%s" % (project_slug) return redirect(url) elif request.method == "POST": form = SupportForm(request.POST) if form.is_valid(): project = get_object_or_404(Project, slug=project_slug) Supporter.add_project_supporter(project, user) if request.is_ajax(): success = {"success": True} return JSONResponse(success) else: url = "/project/%s" % (project_slug) return redirect(url) return redirect(support)