From 156b91eb5935df4afdb8f0f0311d36537808c2f5 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 9 Aug 2011 23:16:00 -0500 Subject: Use new package details link tag in templates This replaces a lot of boilerplate we had everywhere, and makes sure things like the title are consistent across all links. Signed-off-by: Dan McGee --- templates/devel/index.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'templates/devel/index.html') diff --git a/templates/devel/index.html b/templates/devel/index.html index ad101145..0c818d36 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -1,5 +1,6 @@ {% extends "base.html" %} {% load cache %} +{% load package_extras %} {% block title %}Arch Linux - Developer Dashboard{% endblock %} @@ -24,8 +25,7 @@

My Flagged Packages

{% for pkg in flagged %} - {{ pkg.pkgname }} + {% pkg_details_link pkg %} {{ pkg.repo.name }} {{ pkg.full_version }} {{ pkg.arch.name }} @@ -55,8 +55,7 @@

My Incomplete Todo List Packages

{{ todopkg.list.name }} - {{ todopkg.pkg.pkgname }} + {% pkg_details_link todopkg.pkg %} {{ todopkg.pkg.repo.name }} {{ todopkg.pkg.arch.name }} {{ todopkg.pkg.maintainers|join:', ' }} -- cgit v1.2.3-54-g00ecf From 797185faed0555efb88a1e6a18e447548a9935fd Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 19 Sep 2011 08:44:22 -0500 Subject: Add some dev dashboard info regarding signed package count This adds a column similar to the flagged package count for the number of signed packages in a given architecture or repository. It is up to the user to do some simple math to figure out the number of unsigned packages. Also, add 'signed' as a hidden search field option similar to what we did for packager. Signed-off-by: Dan McGee --- main/models.py | 4 ++++ packages/views.py | 8 ++++++++ templates/devel/index.html | 5 +++++ 3 files changed, 17 insertions(+) (limited to 'templates/devel/index.html') diff --git a/main/models.py b/main/models.py index b5cd8638..ec1f0d2c 100644 --- a/main/models.py +++ b/main/models.py @@ -98,6 +98,10 @@ def flagged(self): """Used by dev dashboard.""" return self.filter(flag_date__isnull=False) + def signed(self): + """Used by dev dashboard.""" + return self.filter(pgp_signature__isnull=False) + def normal(self): return self.select_related('arch', 'repo') diff --git a/packages/views.py b/packages/views.py index 79793355..61e4d290 100644 --- a/packages/views.py +++ b/packages/views.py @@ -199,6 +199,9 @@ class PackageSearchForm(forms.Form): flagged = forms.ChoiceField( choices=[('', 'All')] + make_choice(['Flagged', 'Not Flagged']), required=False) + signed = forms.ChoiceField( + choices=[('', 'All')] + make_choice(['Signed', 'Unsigned']), + required=False) limit = LimitTypedChoiceField( choices=make_choice([50, 100, 250]) + [('all', 'All')], coerce=coerce_limit_value, @@ -254,6 +257,11 @@ def search(request, page=None): elif form.cleaned_data['flagged'] == 'Not Flagged': packages = packages.filter(flag_date__isnull=True) + if form.cleaned_data['signed'] == 'Signed': + packages = packages.filter(pgp_signature__isnull=False) + elif form.cleaned_data['signed'] == 'Unsigned': + packages = packages.filter(pgp_signature__isnull=True) + if form.cleaned_data['q']: query = form.cleaned_data['q'] q = Q(pkgname__icontains=query) | Q(pkgdesc__icontains=query) diff --git a/templates/devel/index.html b/templates/devel/index.html index 0c818d36..b2da70cf 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -135,6 +135,7 @@

Stats by Architecture

Arch # Packages # Flagged + # Signed @@ -147,6 +148,8 @@

Stats by Architecture

{{ arch.packages.flagged.count }} packages + + {{ arch.packages.signed.count }} packages {% endfor %} @@ -165,6 +168,7 @@

Stats by Repository

Repository # Packages # Flagged + # Signed @@ -177,6 +181,7 @@

Stats by Repository

{{ repo.packages.flagged.count }} packages + {{ repo.packages.signed.count }} packages {% endfor %} -- cgit v1.2.3-54-g00ecf From 1cde4d45da91abae2525785c4d93e9ec648ec416 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 12 Oct 2011 09:08:28 -0500 Subject: Fix invalid markup on dev dashboard Signed-off-by: Dan McGee --- templates/devel/index.html | 1 - 1 file changed, 1 deletion(-) (limited to 'templates/devel/index.html') diff --git a/templates/devel/index.html b/templates/devel/index.html index b2da70cf..d3f7ec3b 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -78,7 +78,6 @@

Package Todo Lists

Package Count Incomplete Count - {% for todo in todos %} -- cgit v1.2.3-54-g00ecf From 022692b3f33de8c45741d3cb27fa95f9f6facdea Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 11 Nov 2011 10:43:18 -0600 Subject: Show relevant signoffs on dashboard Signed-off-by: Dan McGee --- devel/views.py | 5 +++++ packages/utils.py | 7 ++++++- templates/devel/index.html | 50 ++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 59 insertions(+), 3 deletions(-) (limited to 'templates/devel/index.html') diff --git a/devel/views.py b/devel/views.py index 694ed6dc..0002df04 100644 --- a/devel/views.py +++ b/devel/views.py @@ -18,6 +18,7 @@ from main.models import Arch, Repo from main.models import UserProfile from packages.models import PackageRelation +from packages.utils import get_signoff_groups from todolists.utils import get_annotated_todolists from .utils import get_annotated_maintainers @@ -48,6 +49,9 @@ def index(request): todolists = get_annotated_todolists() todolists = [todolist for todolist in todolists if todolist.incomplete_count > 0] + signoffs = sorted(get_signoff_groups(user=request.user), + key=operator.attrgetter('pkgbase')) + maintainers = get_annotated_maintainers() maintained = PackageRelation.objects.filter( @@ -70,6 +74,7 @@ def index(request): 'orphan': orphan, 'flagged' : flagged, 'todopkgs' : todopkgs, + 'signoffs': signoffs } return direct_to_template(request, 'devel/index.html', page_dict) diff --git a/packages/utils.py b/packages/utils.py index b21ac557..0df0e382 100644 --- a/packages/utils.py +++ b/packages/utils.py @@ -330,7 +330,7 @@ def get_target_repo_map(repos): cursor.execute(sql, params) return dict(cursor.fetchall()) -def get_signoff_groups(repos=None): +def get_signoff_groups(repos=None, user=None): if repos is None: repos = Repo.objects.filter(testing=True) repo_ids = [r.pk for r in repos] @@ -340,6 +340,11 @@ def get_signoff_groups(repos=None): packages = test_pkgs.order_by('pkgname') packages = attach_maintainers(packages) + # Filter by user if asked to do so + if user is not None: + packages = [p for p in packages if user == p.packager + or user in p.maintainers] + # Collect all pkgbase values in testing repos pkgtorepo = get_target_repo_map(repos) diff --git a/templates/devel/index.html b/templates/devel/index.html index d3f7ec3b..06cf10ab 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -15,8 +15,8 @@

My Flagged Packages

Name - Repo Version + Repo Arch Flagged Last Updated @@ -26,8 +26,8 @@

My Flagged Packages

{% for pkg in flagged %} {% pkg_details_link pkg %} - {{ pkg.repo.name }} {{ pkg.full_version }} + {{ pkg.repo.name }} {{ pkg.arch.name }} {{ pkg.flag_date|date }} {{ pkg.last_update|date }} @@ -96,6 +96,47 @@

Package Todo Lists

+

Signoff Status

+ + + + + + + + + + + + + + + {% for group in signoffs %} + + + + + + + {% if group.specification.known_bad %} + + {% else %} + {% if not group.specification.enabled %} + + {% else %} + + {% endif %} + {% endif %} + + + {% endfor %} + +
NameVersionArchTarget RepoLast UpdatedApprovedSignoffs
{% pkg_details_link group.package %}{{ group.version }}{{ group.arch.name }}{{ group.target_repo }}{{ group.last_update|date }}BadDisabled{{ group.approved|yesno|capfirst }}
    + {% for signoff in group.signoffs %} +
  • {{ signoff.user }}{% if signoff.revoked %} (revoked){% endif %}
  • + {% endfor %} +
+

Developer Reports

  • Big: @@ -255,6 +296,11 @@

    Stats by Developer

    {widgets: ['zebra'], sortList: [[0,0], [1,0]]}); $("#dash-todo:not(:has(tbody tr.empty))").tablesorter( {widgets: ['zebra'], sortList: [[1,1]]}); + $("#dash-signoffs:not(:has(tbody tr.empty))").tablesorter({ + widgets: ['zebra'], + sortList: [[0,0]], + headers: { 6: {sorter: false } } + }); $(".dash-stats").tablesorter({ widgets: ['zebra'], sortList: [[0,0]], -- cgit v1.2.3-54-g00ecf From 64f5799ef7fb76ed0e8759359b4ee8127e8903f5 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 15 Nov 2011 15:15:08 -0600 Subject: Fix up empty table display on dev dashboard Fix the colspan for the existing tables, and add a notice for the new signoffs table which did not have one. Thanks-to: Andrea Scarpino Signed-off-by: Dan McGee --- templates/devel/index.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'templates/devel/index.html') diff --git a/templates/devel/index.html b/templates/devel/index.html index 06cf10ab..0f0ded38 100644 --- a/templates/devel/index.html +++ b/templates/devel/index.html @@ -33,7 +33,7 @@

    My Flagged Packages

    {{ pkg.last_update|date }} {% empty %} - No flagged packages to display + No flagged packages to display {% endfor %} @@ -91,7 +91,7 @@

    Package Todo Lists

    {{ todo.incomplete_count }} {% empty %} - No package todo lists to display + No package todo lists to display {% endfor %} @@ -133,6 +133,8 @@

    Signoff Status

    {% endfor %}
+ {% empty %} + No packages you maintain or have packaged need signoffs {% endfor %} -- cgit v1.2.3-54-g00ecf