Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/packages/templatetags/, ...
Date: Mon, 30 Jul 2012 23:30:31
Message-Id: 1343691011.e2729e6cbb3e938bc676d844a7be27ee16970966.bacher09@gentoo
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>