1 |
commit: 920d1c111d7331be349cde41798c715e520799a5 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Fri Jun 29 23:22:29 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Fri Jun 29 23:22:29 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=920d1c11 |
7 |
|
8 |
Add simple ebuild view |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/urls.py | 3 ++- |
12 |
gpackages/apps/packages/views.py | 10 ++++++++++ |
13 |
gpackages/templates/ebuild.html | 5 +++++ |
14 |
gpackages/templates/ebuild_object.html | 9 +++++++++ |
15 |
gpackages/templates/ebuilds.html | 9 +-------- |
16 |
gpackages/templates/keywords_table.html | 3 ++- |
17 |
6 files changed, 29 insertions(+), 10 deletions(-) |
18 |
|
19 |
diff --git a/gpackages/apps/packages/urls.py b/gpackages/apps/packages/urls.py |
20 |
index 045a5ea..0dccc06 100644 |
21 |
--- a/gpackages/apps/packages/urls.py |
22 |
+++ b/gpackages/apps/packages/urls.py |
23 |
@@ -1,7 +1,7 @@ |
24 |
from django.conf.urls import patterns, include, url |
25 |
from views import CategoriesListView, HerdsListView, MaintainersListView, \ |
26 |
RepositoriesListView, LicenseGroupsView , EbuildsListView, \ |
27 |
- PackagesListsView, PackageDetailView |
28 |
+ PackagesListsView, PackageDetailView, EbuildDetailView |
29 |
|
30 |
urlpatterns = patterns('', |
31 |
url(r'^categories/$', CategoriesListView.as_view(), name = 'categories'), |
32 |
@@ -10,6 +10,7 @@ urlpatterns = patterns('', |
33 |
url(r'^repositories/$', RepositoriesListView.as_view(), name = 'repositories'), |
34 |
url(r'^license-groups/$', LicenseGroupsView.as_view(), name = 'license_groups'), |
35 |
url(r'^$', EbuildsListView.as_view(), name = 'ebuilds'), |
36 |
+ url(r'^ebuild/(?P<pk>\d+)/$', EbuildDetailView.as_view(), name = 'ebuild'), |
37 |
url(r'^packages/{0}$'.format(PackagesListsView.get_url_part()), PackagesListsView.as_view(), name = 'packages'), |
38 |
|
39 |
# In Future I will write my onw URL Resolver !!! |
40 |
|
41 |
diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py |
42 |
index d04acd3..45e1e55 100644 |
43 |
--- a/gpackages/apps/packages/views.py |
44 |
+++ b/gpackages/apps/packages/views.py |
45 |
@@ -51,6 +51,16 @@ class EbuildsListView(ContextListView): |
46 |
'package__virtual_package__category'). \ |
47 |
prefetch_keywords(arches) |
48 |
|
49 |
+class EbuildDetailView(ContextView, DetailView): |
50 |
+ template_name = 'ebuild.html' |
51 |
+ extra_context = {'page_name': 'Ebuild', 'arches': arches} |
52 |
+ context_object_name = 'ebuild' |
53 |
+ queryset = EbuildModel.objects.all(). \ |
54 |
+ select_related('package', |
55 |
+ 'package__virtual_package', |
56 |
+ 'package__virtual_package__category'). \ |
57 |
+ prefetch_keywords(arches) |
58 |
+ |
59 |
class PackagesListsView(MultipleFilterListViewMixin, ContextListView): |
60 |
allowed_filter = { 'category':'virtual_package__category__category', |
61 |
'repo':'repository__name', |
62 |
|
63 |
diff --git a/gpackages/templates/ebuild.html b/gpackages/templates/ebuild.html |
64 |
new file mode 100644 |
65 |
index 0000000..2b7198a |
66 |
--- /dev/null |
67 |
+++ b/gpackages/templates/ebuild.html |
68 |
@@ -0,0 +1,5 @@ |
69 |
+{% extends "base.html" %} |
70 |
+ |
71 |
+{% block content %} |
72 |
+{% include 'ebuild_object.html' %} |
73 |
+{% endblock content %} |
74 |
|
75 |
diff --git a/gpackages/templates/ebuild_object.html b/gpackages/templates/ebuild_object.html |
76 |
new file mode 100644 |
77 |
index 0000000..f75b427 |
78 |
--- /dev/null |
79 |
+++ b/gpackages/templates/ebuild_object.html |
80 |
@@ -0,0 +1,9 @@ |
81 |
+{% load packages %} |
82 |
+<div class="well package-well"> |
83 |
+ <div class="package-name"> |
84 |
+ <span>{{ ebuild.cpv }}</span> |
85 |
+ <span class="package_update_datetime">{{ ebuild.updated_datetime }}</span> |
86 |
+ </div> |
87 |
+ <div style="padding-bottom: 10px; margin 10px;">{{ ebuild.description }}</div> |
88 |
+ {% render_keywords_table ebuild arches %} |
89 |
+</div> |
90 |
|
91 |
diff --git a/gpackages/templates/ebuilds.html b/gpackages/templates/ebuilds.html |
92 |
index 94e1ecd..aa28c09 100644 |
93 |
--- a/gpackages/templates/ebuilds.html |
94 |
+++ b/gpackages/templates/ebuilds.html |
95 |
@@ -3,14 +3,7 @@ |
96 |
|
97 |
{% block content %} |
98 |
{% for ebuild in ebuilds %} |
99 |
- <div class="well package-well"> |
100 |
- <div class="package-name"> |
101 |
- <span>{{ ebuild.cpv }}</span> |
102 |
- <span class="package_update_datetime">{{ ebuild.updated_datetime }}</span> |
103 |
- </div> |
104 |
- <div style="padding-bottom: 10px; margin 10px;">{{ ebuild.description }}</div> |
105 |
- {% render_keywords_table ebuild arches %} |
106 |
- </div> |
107 |
+ {% include 'ebuild_object.html' %} |
108 |
{% endfor %} |
109 |
{% include 'paginator.html' %} |
110 |
{% endblock content %} |
111 |
|
112 |
diff --git a/gpackages/templates/keywords_table.html b/gpackages/templates/keywords_table.html |
113 |
index 38cba68..dcef1a2 100644 |
114 |
--- a/gpackages/templates/keywords_table.html |
115 |
+++ b/gpackages/templates/keywords_table.html |
116 |
@@ -1,3 +1,4 @@ |
117 |
+{% load url from future %} |
118 |
<table class="keywords table table-bordered table-condensed"> |
119 |
<colgroup> |
120 |
<col class="span2"> |
121 |
@@ -17,7 +18,7 @@ |
122 |
<tbody> |
123 |
{% for ebuild in ebuilds %} |
124 |
<tr> |
125 |
- <td class="ebuild">{{ ebuild.fullversion }}</td> |
126 |
+ <td class="ebuild"><a href="{% url 'ebuild' pk=ebuild.pk %}">{{ ebuild.fullversion }}</a></td> |
127 |
{% for keyword in ebuild.keywords %} |
128 |
<td class="{{ keyword.status_class }}">{{ keyword.status_repr }}</td> |
129 |
{% endfor %} |