1 |
commit: e2729e6cbb3e938bc676d844a7be27ee16970966 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Mon Jul 30 23:30:11 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Mon Jul 30 23:30:11 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=e2729e6c |
7 |
|
8 |
Add extra data to package view |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/models.py | 3 +++ |
12 |
gpackages/apps/packages/templatetags/packages.py | 9 ++++++++- |
13 |
gpackages/templates/package.html | 20 +++++++++++++++++--- |
14 |
gpackages/templates/packages_use_flag.html | 21 +++++++++++++++++++++ |
15 |
4 files changed, 49 insertions(+), 4 deletions(-) |
16 |
|
17 |
diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py |
18 |
index 238e864..7207ad9 100644 |
19 |
--- a/gpackages/apps/packages/models.py |
20 |
+++ b/gpackages/apps/packages/models.py |
21 |
@@ -687,6 +687,9 @@ class EbuildModel(AbstractDateTimeModel): |
22 |
l.append(ko) |
23 |
self.keyword_set.add(*l) |
24 |
|
25 |
+ def use_flags_with_descr(self): |
26 |
+ return self.use_flags.all().prefetch_package_descr(self.package) |
27 |
+ |
28 |
@property |
29 |
def cp(self): |
30 |
return self.package.cp |
31 |
|
32 |
diff --git a/gpackages/apps/packages/templatetags/packages.py b/gpackages/apps/packages/templatetags/packages.py |
33 |
index 764f5ab..5f0f3f0 100644 |
34 |
--- a/gpackages/apps/packages/templatetags/packages.py |
35 |
+++ b/gpackages/apps/packages/templatetags/packages.py |
36 |
@@ -5,7 +5,7 @@ from package_info.generic_metadata.changelog_highlight import changelog_highligh |
37 |
|
38 |
register = template.Library() |
39 |
|
40 |
-from ..models import RepositoryModel, EbuildModel |
41 |
+from ..models import RepositoryModel, EbuildModel, UseFlagDescriptionModel |
42 |
from ..views import arches |
43 |
from ..forms import ArchChoiceForm, FilteringForm |
44 |
from generic.utils import inclusion_cached_tag |
45 |
@@ -81,3 +81,10 @@ def filtering_modal(context): |
46 |
|
47 |
form = FilteringForm(initial = initial) |
48 |
return {'form': form } |
49 |
+ |
50 |
+@××××××××.inclusion_tag('packages_use_flag.html') |
51 |
+def use_flag_table(package): |
52 |
+ if package.latest_ebuild: |
53 |
+ use_flags = package.latest_ebuild.use_flags_with_descr() |
54 |
+ |
55 |
+ return {'use_flags': use_flags} |
56 |
|
57 |
diff --git a/gpackages/templates/package.html b/gpackages/templates/package.html |
58 |
index fcc03e3..2b6760c 100644 |
59 |
--- a/gpackages/templates/package.html |
60 |
+++ b/gpackages/templates/package.html |
61 |
@@ -3,8 +3,22 @@ |
62 |
|
63 |
{% block content %} |
64 |
{% include 'package_object.html' %} |
65 |
- <div class="changelog"> |
66 |
- <h4>Changelog</h4> |
67 |
- {{ package.changelog|changelog_highlight }} |
68 |
+ <div class="tabbable"> |
69 |
+ <ul class="nav nav-tabs"> |
70 |
+ <li class="active"><a href="#tab1" data-toggle="tab">Changelog</a></li> |
71 |
+ <li><a href="#tab2" data-toggle="tab">Use flags</a></li> |
72 |
+ <li><a href="#tab3" data-toggle="tab">Licenses</a></li> |
73 |
+ </ul> |
74 |
+ <div class="tab-content"> |
75 |
+ <div class="tab-pane active" id="tab1"> |
76 |
+ {{ package.changelog|changelog_highlight }} |
77 |
+ </div> |
78 |
+ <div class="tab-pane" id="tab2"> |
79 |
+ {% use_flag_table package %} |
80 |
+ </div> |
81 |
+ <div class="tab-pane" id="tab3"> |
82 |
+ {{ package.latest_ebuild.license }} |
83 |
+ </div> |
84 |
+ </div> |
85 |
</div> |
86 |
{% endblock content %} |
87 |
|
88 |
diff --git a/gpackages/templates/packages_use_flag.html b/gpackages/templates/packages_use_flag.html |
89 |
new file mode 100644 |
90 |
index 0000000..103e51a |
91 |
--- /dev/null |
92 |
+++ b/gpackages/templates/packages_use_flag.html |
93 |
@@ -0,0 +1,21 @@ |
94 |
+{% load url from future %} |
95 |
+<table class='table table-striped table-hover'> |
96 |
+ <colgroup> |
97 |
+ <col class="span1" > |
98 |
+ <col class="span8" > |
99 |
+ </colgroup> |
100 |
+ <thead> |
101 |
+ <tr> |
102 |
+ <th>Use flag</th> |
103 |
+ <th>Description</th> |
104 |
+ </tr> |
105 |
+ </thead> |
106 |
+ <tbody> |
107 |
+ {% for use_flag in use_flags %} |
108 |
+ <tr> |
109 |
+ <td><a href="{% url 'packages' use=use_flag.name %}">{{ use_flag.name }}</a></td> |
110 |
+ <td>{{ use_flag.descr|urlize }}</td> |
111 |
+ </tr> |
112 |
+ {% endfor %} |
113 |
+ </tbody> |
114 |
+</table> |