def view(request, project_id): try: project = Project.objects.get(pk=project_id) except: return HttpResponse(status=404, content='Project not found') if project.redirectto_project: do_redirect = 'false' != request.GET.get('redirect') if do_redirect: return redirect(project.redirectto_project.get_view_link()) stats = stats_services.project_stats(project) issues_sponsoring = issue_services.search_issues(project_id=project_id, is_sponsored=True)[0:3] issues_kickstarting = issue_services.search_issues(project_id=project_id, is_sponsored=False)[0:3] issues_sponsoring = json.dumps(issue_services.to_card_dict(issues_sponsoring)) issues_kickstarting = json.dumps(issue_services.to_card_dict(issues_kickstarting)) top_sponsors = stats_services.project_top_sponsors(project_id)[0:5] top_programmers = stats_services.project_top_programmers(project_id)[0:5] is_watching = request.user.is_authenticated() and watch_services.is_watching_project(request.user, project.id) return render_to_response('core2/project.html', {'project': project, 'stats': stats, 'tags': json.dumps([t.name for t in project.get_tags()]), 'issues_sponsoring': issues_sponsoring, 'issues_kickstarting': issues_kickstarting, 'top_sponsors': top_sponsors, 'top_programmers': top_programmers, 'is_watching': is_watching, }, context_instance=RequestContext(request))
def test_deactivated_user_should_not_be_sponsoring_working_or_watching(self): offer = test_data.create_dummy_offer_btc() user = offer.sponsor solution = test_data.create_dummy_solution(programmer=user) issue = test_data.create_dummy_issue() watch_services.toggle_watch(user, 'ISSUE', issue.id, Watch.WATCHED) user = User.objects.get(pk=user.id) offer = Offer.objects.get(pk=offer.id) solution = Solution.objects.get(pk=solution.id) self.assertTrue(user.is_active) self.assertEqual(Offer.OPEN, offer.status) self.assertEqual(Solution.IN_PROGRESS, solution.status) self.assertTrue(watch_services.is_watching_issue(user, issue.id)) user_services.deactivate_user(user) user = User.objects.get(pk=user.id) offer = Offer.objects.get(pk=offer.id) solution = Solution.objects.get(pk=solution.id) self.assertFalse(user.is_active) self.assertEqual(Offer.REVOKED, offer.status) self.assertEqual(Solution.ABORTED, solution.status) self.assertFalse(watch_services.is_watching_issue(user, issue.id)) self.assertFalse(watch_services.is_watching_project(user, issue.project.id)) self.assertFalse(watch_services.is_watching_issue(user, offer.issue.id)) self.assertFalse(watch_services.is_watching_issue(user, solution.issue.id))
def view(request, project_id): try: project = Project.objects.get(pk=project_id) except: return HttpResponse(status=404, content='Project not found') if project.redirectto_project: do_redirect = 'false' != request.GET.get('redirect') if do_redirect: return redirect(project.redirectto_project.get_view_link()) stats = stats_services.project_stats(project) issues_sponsoring = issue_services.search_issues(project_id=project_id, is_sponsored=True)[0:3] issues_kickstarting = issue_services.search_issues(project_id=project_id, is_sponsored=False)[0:3] issues_sponsoring = json.dumps( issue_services.to_card_dict(issues_sponsoring)) issues_kickstarting = json.dumps( issue_services.to_card_dict(issues_kickstarting)) top_sponsors = stats_services.project_top_sponsors(project_id)[0:5] top_programmers = stats_services.project_top_programmers(project_id)[0:5] is_watching = request.user.is_authenticated( ) and watch_services.is_watching_project(request.user, project.id) return render_to_response( 'core2/project.html', { 'project': project, 'stats': stats, 'tags': json.dumps([t.name for t in project.get_tags()]), 'issues_sponsoring': issues_sponsoring, 'issues_kickstarting': issues_kickstarting, 'top_sponsors': top_sponsors, 'top_programmers': top_programmers, 'is_watching': is_watching, }, context_instance=RequestContext(request))
def view(request, project_id): project = Project.objects.get(pk=project_id) stats = stats_services.project_stats(project) issues_sponsoring = issue_services.search_issues(project_id=project_id, is_public_suggestion=False)[0:3] issues_kickstarting = issue_services.search_issues(project_id=project_id, is_public_suggestion=True)[0:3] issues_sponsoring = json.dumps(issue_services.to_card_dict(issues_sponsoring)) issues_kickstarting = json.dumps(issue_services.to_card_dict(issues_kickstarting)) top_sponsors = stats_services.project_top_sponsors(project_id)[0:5] top_programmers = stats_services.project_top_programmers(project_id)[0:5] is_watching = request.user.is_authenticated() and watch_services.is_watching_project(request.user, project.id) return render_to_response('core2/project.html', {'project': project, 'stats': stats, 'tags': json.dumps([t.name for t in project.get_tags()]), 'issues_sponsoring': issues_sponsoring, 'issues_kickstarting': issues_kickstarting, 'top_sponsors': top_sponsors, 'top_programmers': top_programmers, 'is_watching': is_watching, }, context_instance=RequestContext(request))