From f66e4386ffe1b5f48a8f7986d6cc4371d7862b85 Mon Sep 17 00:00:00 2001 From: Magnus Granberg Date: Wed, 22 Jul 2015 23:24:44 +0200 Subject: add keywords to version view --- python/tbc_www/models.py | 18 ++++++++++++++++++ python/tbc_www/views.py | 8 ++++---- python/templates/pages/packages/ebuilds/index.html | 20 ++++++++++++++++---- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/python/tbc_www/models.py b/python/tbc_www/models.py index 3d284c2..9827583 100644 --- a/python/tbc_www/models.py +++ b/python/tbc_www/models.py @@ -150,3 +150,21 @@ class BuildJobsUse(models.Model): db_table = 'build_jobs_use' def __str__(self): return '%s %s %s %s' % (self.Id, self.BuildJobId, self.UseId, self.Status) + +class Keywords(models.Model): + KeywordId = models.IntegerField(primary_key=True, db_column='keyword_id') + Keyword = models.CharField(max_length=45, db_column='keyword') + class Meta: + db_table = 'keywords' + def __str__(self): + return '%s %s' % (self.KeywordId, self.Keyword) + +class EbuildsKeywords(models.Model): + Id = models.IntegerField(primary_key=True, db_column='id') + EbuildId = models.ForeignKey(Ebuilds, db_column='ebuild_id') + KeywordId = models.ForeignKey(Keywords, db_column='keyword_id') + Status = models.CharField(max_length=24, db_column='status') + class Meta: + db_table = 'ebuilds_keywords' + def __str__(self): + return '%s %s %s' % (self.EbuildId, self.KeywordId, self.Status) diff --git a/python/tbc_www/views.py b/python/tbc_www/views.py index a025cbf..84ff9e6 100644 --- a/python/tbc_www/views.py +++ b/python/tbc_www/views.py @@ -7,7 +7,7 @@ from django.conf import settings from gentoo_www.models import SiteSettings, Layout, Pages, SubPages, Sponsors, Posts from tbc_www.models import EbuildsMetadata, BuildLogs, BuildJobs, BuildLogsRepomanQa, \ BuildJobsUse, Categories, CategoriesMetadata, Packages, PackagesMetadata, Ebuilds, \ - Repos + Repos, EbuildsKeywords import re def default_TmpDict(pagerequest): @@ -106,10 +106,10 @@ def packages(request, category_id): def ebuilds(request, package_id): pagerequest = 'packages' TmpDict = default_TmpDict(pagerequest) - P = get_object_or_404(Packages, PackageId = package_id) + P = get_object_or_404(PackagesMetadata, PackageId__PackageId = package_id) TmpDict['P'] = P - TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.Package) - print(TmpDict) + TmpDict['EM_tmp'] = EbuildsMetadata.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) + TmpDict['EK_tmp'] = EbuildsKeywords.objects.filter(EbuildId__Active = True).filter(EbuildId__PackageId__Package = P.PackageId.Package) return render(request, 'pages/' + pagerequest + '/ebuilds/index.html', TmpDict) def new(request): diff --git a/python/templates/pages/packages/ebuilds/index.html b/python/templates/pages/packages/ebuilds/index.html index 73f45f2..1e034d4 100644 --- a/python/templates/pages/packages/ebuilds/index.html +++ b/python/templates/pages/packages/ebuilds/index.html @@ -1,14 +1,26 @@ {% extends "layout/base.html" %} {% block content %}
-
-

{{ P.CategoryId.Category }}/{{ P.Package }}

+
+

{{ P.PackageId.CategoryId.Category }}/{{ P.PackageId.Package }}

+

Changlog

+

{{ P.Changlog|linebreaksbr }}

{% for E in EM_tmp %} - + {{ P.PackageId.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }} + + {% endfor %}
- {{ P.Package }}-{{ E.EbuildId.Version }}::{{ E.EbuildId.PackageId.RepoId.Repo }}

+ + {% for K in EK_tmp %} + {% if K.EbuildId.EbuildId == E.EbuildId.EbuildId and K.KeywordId.Keyword != '*' %} + {% if K.Status == 'Stable' %}{{ K.KeywordId.Keyword }}{% endif %} + {% if K.Status == 'Unstable' %}{{ K.KeywordId.Keyword }}{% endif %} + {% if K.Status == 'Negative' %}{{ K.KeywordId.Keyword }}{% endif %} + {% endif %} + {% endfor %} +
-- cgit v1.2.3-65-gdbad