1 |
commit: f66e4386ffe1b5f48a8f7986d6cc4371d7862b85 |
2 |
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 22 21:24:44 2015 +0000 |
4 |
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 22 21:24:44 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster-www.git/commit/?id=f66e4386 |
7 |
|
8 |
add keywords to version view |
9 |
|
10 |
python/tbc_www/models.py | 18 ++++++++++++++++++ |
11 |
python/tbc_www/views.py | 8 ++++---- |
12 |
python/templates/pages/packages/ebuilds/index.html | 20 ++++++++++++++++---- |
13 |
3 files changed, 38 insertions(+), 8 deletions(-) |
14 |
|
15 |
diff --git a/python/tbc_www/models.py b/python/tbc_www/models.py |
16 |
index 3d284c2..9827583 100644 |
17 |
--- a/python/tbc_www/models.py |
18 |
+++ b/python/tbc_www/models.py |
19 |
@@ -150,3 +150,21 @@ class BuildJobsUse(models.Model): |
20 |
db_table = 'build_jobs_use' |
21 |
def __str__(self): |
22 |
return '%s %s %s %s' % (self.Id, self.BuildJobId, self.UseId, self.Status) |
23 |
+ |
24 |
+class Keywords(models.Model): |
25 |
+ KeywordId = models.IntegerField(primary_key=True, db_column='keyword_id') |
26 |
+ Keyword = models.CharField(max_length=45, db_column='keyword') |
27 |
+ class Meta: |
28 |
+ db_table = 'keywords' |
29 |
+ def __str__(self): |
30 |
+ return '%s %s' % (self.KeywordId, self.Keyword) |
31 |
+ |
32 |
+class EbuildsKeywords(models.Model): |
33 |
+ Id = models.IntegerField(primary_key=True, db_column='id') |
34 |
+ EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id') |
35 |
+ KeywordId = models.ForeignKey(Keywords, db_column='keyword_id') |
36 |
+ Status = models.CharField(max_length=24, db_column='status') |
37 |
+ class Meta: |
38 |
+ db_table = 'ebuilds_keywords' |
39 |
+ def __str__(self): |
40 |
+ return '%s %s %s' % (self.EbuildId, self.KeywordId, self.Status) |
41 |
|
42 |
diff --git a/python/tbc_www/views.py b/python/tbc_www/views.py |
43 |
index a025cbf..84ff9e6 100644 |
44 |
--- a/python/tbc_www/views.py |
45 |
+++ b/python/tbc_www/views.py |
46 |
@@ -7,7 +7,7 @@ from django.conf import settings |
47 |
from gentoo_www.models import SiteSettings, Layout, Pages, SubPages, Sponsors, Posts |
48 |
from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs, BuildLogsRepomanQa, \ |
49 |
BuildJobsUse, Categories, CategoriesMetadata, Packages, PackagesMetadata, Ebuilds, \ |
50 |
- Repos |
51 |
+ Repos, EbuildsKeywords |
52 |
import re |
53 |
|
54 |
def default_TmpDict(pagerequest): |
55 |
@@ -106,10 +106,10 @@ def packages(request, category_id): |
56 |
def ebuilds(request, package_id): |
57 |
pagerequest = 'packages' |
58 |
TmpDict = default_TmpDict(pagerequest) |
59 |
- P = get_object_or_404(Packages, PackageId = package_id) |
60 |
+ P = get_object_or_404(PackagesMetadata, PackageId__PackageId = package_id) |
61 |
TmpDict['P'] = P |
62 |
- TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.Package) |
63 |
- print(TmpDict) |
64 |
+ TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) |
65 |
+ TmpDict['EK_tmp'] = EbuildsKeywords.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) |
66 |
return render(request, 'pages/' + pagerequest + '/ebuilds/index.html', TmpDict) |
67 |
|
68 |
def new(request): |
69 |
|
70 |
diff --git a/python/templates/pages/packages/ebuilds/index.html b/python/templates/pages/packages/ebuilds/index.html |
71 |
index 73f45f2..1e034d4 100644 |
72 |
--- a/python/templates/pages/packages/ebuilds/index.html |
73 |
+++ b/python/templates/pages/packages/ebuilds/index.html |
74 |
@@ -1,14 +1,26 @@ |
75 |
{% extends "layout/base.html" %} |
76 |
{% block content %} |
77 |
<div class="row"> |
78 |
- <div class="col-xs-12 col-md-6"> |
79 |
- <h2>{{ P.CategoryId.Category }}/{{ P.Package }}</h2> |
80 |
+ <div class="col-xs-12 col-md-9"> |
81 |
+ <h2>{{ P.PackageId.CategoryId.Category }}/{{ P.PackageId.Package }}</h2> |
82 |
+ <p>Changlog</p> |
83 |
+ <p>{{ P.Changlog|linebreaksbr }}</p> |
84 |
<table class="table table-striped frontpage-table"> |
85 |
{% for E in EM_tmp %} |
86 |
<tr> |
87 |
<td class="frontpage-table-package-atom"> |
88 |
- <a href="/ebuild/{{ E.EbuildId.EbuildId }}/" title="{{ P.CategoryId.Category }}/{{ P.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }}">{{ P.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }}</a></td> |
89 |
- <td><p></p></td> |
90 |
+ <a href="/ebuild/{{ E.EbuildId.EbuildId }}/" title="{{ P.PackageId.CategoryId.Category }}/{{ P.PackageId.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }}">{{ P.PackageId.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }}</a></td> |
91 |
+ <td> |
92 |
+ <td class="text-right"> |
93 |
+ {% for K in EK_tmp %} |
94 |
+ {% if K.EbuildId.EbuildId == E.EbuildId.EbuildId and K.KeywordId.Keyword != '*' %} |
95 |
+ {% if K.Status == 'Stable' %}<span class="label label-success">{{ K.KeywordId.Keyword }}</span>{% endif %} |
96 |
+ {% if K.Status == 'Unstable' %}<span class="label label-warning">{{ K.KeywordId.Keyword }}</span>{% endif %} |
97 |
+ {% if K.Status == 'Negative' %}{{ K.KeywordId.Keyword }}{% endif %} |
98 |
+ {% endif %} |
99 |
+ {% endfor %} |
100 |
+ </td> |
101 |
+ </td> |
102 |
</tr> |
103 |
{% endfor %} |
104 |
</table> |