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/templates/
Date: Fri, 06 Jul 2012 23:10:17
Message-Id: 1341606863.7d160ccc4ee1a435e7c1db984b25f72d479a24aa.bacher09@gentoo
1 commit: 7d160ccc4ee1a435e7c1db984b25f72d479a24aa
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Fri Jul 6 20:34:23 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Fri Jul 6 20:34:23 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=7d160ccc
7
8 Add license detail view
9
10 ---
11 gpackages/apps/packages/models.py | 4 ++++
12 gpackages/apps/packages/urls.py | 4 +++-
13 gpackages/apps/packages/views.py | 10 +++++++++-
14 gpackages/templates/license.html | 9 +++++++++
15 4 files changed, 25 insertions(+), 2 deletions(-)
16
17 diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
18 index c89db88..c6d8823 100644
19 --- a/gpackages/apps/packages/models.py
20 +++ b/gpackages/apps/packages/models.py
21 @@ -499,6 +499,10 @@ class LicenseModel(StatsModel):
22
23 # Autogenerated fields for fast stats
24 #ebuilds_count = models.PositiveIntegerField(default = 0)
25 +
26 + @models.permalink
27 + def get_absolute_url(self):
28 + return ('license', (), {'slug': self.name})
29
30 def __unicode__(self):
31 return self.name
32
33 diff --git a/gpackages/apps/packages/urls.py b/gpackages/apps/packages/urls.py
34 index c7e6ac5..75d7b5a 100644
35 --- a/gpackages/apps/packages/urls.py
36 +++ b/gpackages/apps/packages/urls.py
37 @@ -2,7 +2,8 @@ from django.conf.urls import patterns, include, url
38 from views import CategoriesListView, HerdsListView, MaintainersListView, \
39 RepositoriesListView, LicenseGroupsView , EbuildsListView, \
40 PackagesListsView, PackageDetailView, EbuildDetailView, \
41 - GlobalUseListView, NewsListView, NewsDetailView
42 + GlobalUseListView, NewsListView, NewsDetailView, \
43 + LicenseDetailView
44
45 urlpatterns = patterns('',
46 url(r'^categories/$', CategoriesListView.as_view(), name = 'categories'),
47 @@ -22,4 +23,5 @@ urlpatterns = patterns('',
48 url(r'^news/$', NewsListView.as_view(), name = 'news'),
49 url(r'^news/(?P<pk>\d+)/$', NewsDetailView.as_view(), name = 'news_item'),
50 url(r'^news/(?P<slug>[^/]+)/$', NewsDetailView.as_view(), name = 'news_item'),
51 + url(r'^license/(?P<slug>[^/]+)/$', LicenseDetailView.as_view(), name = 'license'),
52 )
53
54 diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
55 index 32a2aee..7d6322d 100644
56 --- a/gpackages/apps/packages/views.py
57 +++ b/gpackages/apps/packages/views.py
58 @@ -3,7 +3,7 @@ from generic.views import ContextListView, ContextTemplateView, ContextView, \
59 MultipleFilterListViewMixin
60 from models import CategoryModel, HerdsModel, MaintainerModel, \
61 RepositoryModel, LicenseGroupModel, EbuildModel, \
62 - PackageModel, UseFlagModel, PortageNewsModel
63 + PackageModel, UseFlagModel, PortageNewsModel, LicenseModel
64
65 from django.shortcuts import get_object_or_404
66 from package_info.parse_cp import EbuildParseCPVR, PackageParseCPR
67 @@ -163,3 +163,11 @@ class NewsDetailView(ContextView, DetailView):
68 slug_field = 'name'
69 queryset = PortageNewsModel.objects.filter(lang = 'en'). \
70 prefetch_related('authors', 'translators')
71 +
72 +class LicenseDetailView(ContextView, DetailView):
73 + extra_context = {'page_name': 'Licens'}
74 + template_name = 'license.html'
75 + context_object_name = 'license'
76 + slug_field = 'name'
77 + queryset = LicenseModel.objects.all()
78 +
79
80 diff --git a/gpackages/templates/license.html b/gpackages/templates/license.html
81 new file mode 100644
82 index 0000000..40bcf6e
83 --- /dev/null
84 +++ b/gpackages/templates/license.html
85 @@ -0,0 +1,9 @@
86 +{% extends "base.html" %}
87 +{% block content %}
88 +<div class="license">
89 + <h2>{{ license.name }}</h2>
90 + <div class="license_content">
91 + {{ license.text|linebreaks|urlize }}
92 + </div>
93 +</div>
94 +{% endblock content %}