1
1
import json
2
2
3
+ from django .core .urlresolvers import reverse
3
4
from django .conf import settings
4
5
from django .contrib .auth .models import User
5
6
from django .http import HttpResponse , HttpResponseRedirect , Http404
@@ -50,18 +51,35 @@ def project_detail(request, project_slug):
50
51
queryset = Project .objects .protected (request .user )
51
52
project = get_object_or_404 (queryset , slug = project_slug )
52
53
versions = project .versions .public (request .user , project )
53
- filter = VersionSlugFilter (request .GET , queryset = versions )
54
+ # filter = VersionSlugFilter(request.GET, queryset=versions)
55
+ if request .is_secure ():
56
+ protocol = 'https'
57
+ else :
58
+ protocol = 'http'
59
+ badge_url = "%s://%s%s?version=%s" % (
60
+ protocol ,
61
+ settings .PRODUCTION_DOMAIN ,
62
+ reverse ('project_badge' , args = [project .slug ]),
63
+ project .get_default_version ()
64
+ )
65
+ site_url = "%s://%s%s" % (
66
+ protocol ,
67
+ settings .PRODUCTION_DOMAIN ,
68
+ reverse ('projects_detail' , args = [project .slug ]),
69
+ )
54
70
return render_to_response (
55
71
'projects/project_detail.html' ,
56
72
{
57
73
'project' : project ,
58
74
'versions' : versions ,
59
75
'filter' : filter ,
76
+ 'badge_url' : badge_url ,
77
+ 'site_url' : site_url ,
60
78
},
61
79
context_instance = RequestContext (request ),
62
80
)
63
81
64
- def project_badge (request , project_slug ):
82
+ def project_badge (request , project_slug , redirect = False ):
65
83
"""
66
84
Return a sweet badge for the project
67
85
"""
@@ -71,16 +89,18 @@ def project_badge(request, project_slug):
71
89
version_builds = version .builds .filter (type = 'html' , state = 'finished' ).order_by ('-date' )
72
90
if not version_builds .exists ():
73
91
url = 'http://img.shields.io/badge/Docs-No%20Builds-yellow.svg'
74
- response = requests .get (url )
75
- return HttpResponse (response .content , mimetype = "image/svg+xml" )
76
92
else :
77
93
last_build = version_builds [0 ]
78
- color = 'green'
79
- if not last_build .success :
80
- color = 'red'
81
- url = 'http://img.shields.io/badge/Docs-%s-%s.svg' % (version .slug .replace ('-' , '--' ), color )
82
- response = requests .get (url )
83
- return HttpResponse (response .content , mimetype = "image/svg+xml" )
94
+ if last_build .success :
95
+ color = 'green'
96
+ else :
97
+ color = 'red'
98
+ url = 'http://img.shields.io/badge/Docs-%s-%s.svg' % (version .slug .replace ('-' , '--' ), color )
99
+ if redirect :
100
+ return HttpResponseRedirect (url )
101
+ else :
102
+ response = requests .get (url )
103
+ return HttpResponse (response .content , mimetype = "image/svg+xml" )
84
104
85
105
def project_downloads (request , project_slug ):
86
106
"""
0 commit comments