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/packages/details.html | 17 +++++------------ templates/packages/flag.html | 4 +++- templates/packages/flag_confirmed.html | 8 ++++---- templates/packages/flagged.html | 7 +++---- templates/packages/packages_list.html | 5 +++-- templates/packages/search.html | 3 +-- templates/packages/signoffs.html | 5 +++-- 7 files changed, 22 insertions(+), 27 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index 7972b9ab..8e3c0022 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -1,5 +1,6 @@ {% extends "base.html" %} {% load cache %} +{% load package_extras %} {% block title %}Arch Linux - {{ pkg.pkgname }} {{ pkg.full_version }} - Package Details{% endblock %} {% block navbarclass %}anb-packages{% endblock %} @@ -82,20 +83,14 @@

Versions Elsewhere

{% with pkg.split_packages as splits %}{% if splits %} Split Packages: - - {% for s in splits %} - {{ s.pkgname }}
- {% endfor %} - + {% for s in splits %}{% pkg_details_link s %}
{% endfor %} {% endif %}{% endwith %} {% else %} Base Package: {% if pkg.base_package %} - {{ pkg.pkgbase }} + {% pkg_details_link pkg.base_package %} {% else %} {{ pkg.pkgbase }} @@ -165,8 +160,7 @@

{% ifequal depend.pkg None %}
  • {{ depend.dep.depname }} (virtual)
  • {% else %} -
  • {{ depend.dep.depname }}{{ depend.dep.depvcmp|default:"" }} +
  • {% pkg_details_link depend.pkg %}{{ depend.dep.depvcmp|default:"" }} {% if depend.pkg.repo.testing %}(testing){% endif %} {% if depend.dep.optional %}(optional){% endif %} {% if depend.dep.description %}- {{ depend.dep.description }}{% endif %} @@ -188,8 +182,7 @@

    {% if rqdby %}
      {% for req in rqdby %} -
    • {{ req.pkg.pkgname }} +
    • {% pkg_details_link req.pkg %} {% if req.pkg.repo.testing %}(testing){% endif %} {% if req.optional %}(optional){% endif %}
    • diff --git a/templates/packages/flag.html b/templates/packages/flag.html index 4a3c6966..261d6066 100644 --- a/templates/packages/flag.html +++ b/templates/packages/flag.html @@ -1,4 +1,6 @@ {% extends "base.html" %} +{% load package_extras %} + {% block title %}Arch Linux - Flag Package - {{ package.pkgname }}{% endblock %} {% block navbarclass %}anb-packages{% endblock %} @@ -13,7 +15,7 @@

      Flag Package: {{ package.pkgname }}

      Note that all of the following packages will be marked out of date:

        {% for pkg in packages %} -
      • {{ pkg.pkgname }} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})
      • +
      • {% pkg_details_link pkg %} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})
      • {% endfor %}
      diff --git a/templates/packages/flag_confirmed.html b/templates/packages/flag_confirmed.html index 9ef316cb..398212f8 100644 --- a/templates/packages/flag_confirmed.html +++ b/templates/packages/flag_confirmed.html @@ -1,4 +1,6 @@ {% extends "base.html" %} +{% load package_extras %} + {% block title %}Arch Linux - Package Flagged - {{ package.pkgname }}{% endblock %} {% block navbarclass %}anb-packages{% endblock %} @@ -9,12 +11,10 @@

      Package Flagged - {{ package.pkgname }}

      Thank you, the maintainers have been notified the following packages are out-of-date:

        {% for pkg in packages %} -
      • {{ pkg.pkgname }} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})
      • +
      • {% pkg_details_link pkg %} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})
      • {% endfor %}
      -

      You can return to the package details page for - {{package.pkgname}}.

      +

      You can return to the package details page for {% pkg_details_link package %}.

      {% endblock %} diff --git a/templates/packages/flagged.html b/templates/packages/flagged.html index 3a39d178..a99a6924 100644 --- a/templates/packages/flagged.html +++ b/templates/packages/flagged.html @@ -1,16 +1,15 @@ {% extends "base.html" %} +{% load package_extras %} + {% block title %}Arch Linux - Flag Package - {{ pkg.pkgname }}{% endblock %} {% block navbarclass %}anb-packages{% endblock %} {% block content %}
      -

      Error: Package already flagged

      {{pkg.pkgname}} has already been flagged out-of-date.

      -

      You can return to the package details page for - {{pkg.pkgname}}.

      - +

      You can return to the package details page for {% pkg_details_link pkg %}.

      {% endblock %} diff --git a/templates/packages/packages_list.html b/templates/packages/packages_list.html index ccc091d8..942e1073 100644 --- a/templates/packages/packages_list.html +++ b/templates/packages/packages_list.html @@ -1,4 +1,6 @@ {% extends "base.html" %} +{% load package_extras %} + {% block title %}Arch Linux - {{ name }} ({{ arch.name }}) - {{ list_title }}{% endblock %} {% block navbarclass %}anb-packages{% endblock %} @@ -23,8 +25,7 @@

      {{ list_title }} - {{ name }} ({{ arch.name }})

      {{ pkg.arch.name }} {{ pkg.repo.name|capfirst }} - {{ pkg.pkgname }} + {% pkg_details_link pkg %} {% if pkg.flag_date %} {{ pkg.full_version }} {% else %} diff --git a/templates/packages/search.html b/templates/packages/search.html index 381ebb01..eb4aceca 100644 --- a/templates/packages/search.html +++ b/templates/packages/search.html @@ -104,8 +104,7 @@

      Package Search

      {% endif %} {{ pkg.arch.name }} {{ pkg.repo.name|capfirst }} - {{ pkg.pkgname }} + {% pkg_details_link pkg %} {% if pkg.flag_date %} {{ pkg.full_version }} {% else %} diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html index 6014396c..baf85338 100644 --- a/templates/packages/signoffs.html +++ b/templates/packages/signoffs.html @@ -1,4 +1,6 @@ {% extends "base.html" %} +{% load package_extras %} + {% block title %}Arch Linux - Package Signoffs{% endblock %} {% block navbarclass %}anb-packages{% endblock %} @@ -28,8 +30,7 @@

      Package Signoffs

      {% with group.package as pkg %} {{ pkg.arch.name }} - {{ pkg.pkgname }} + {% pkg_details_link pkg %} {{ group.packages|length }} {{ pkg.full_version }} {{ pkg.last_update|date }} -- cgit v1.2.3-54-g00ecf From b158cdedb5510becc39cc4ab9baf6eddb38c8389 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 9 Aug 2011 23:36:04 -0500 Subject: Link package provisions if available Rather than just the blank 'virtual' text we used to have in the dependencies listing on the package page. Signed-off-by: Dan McGee --- templates/packages/details.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index 8e3c0022..a3f2cef4 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -158,7 +158,10 @@

        {% for depend in deps %} {% ifequal depend.pkg None %} -
      • {{ depend.dep.depname }} (virtual)
      • + {% if depend.providers %} +
      • {{ depend.dep.depname }} ({% multi_pkg_details depend.providers %})
      • + {% else %}
      • {{ depend.dep.depname }} (virtual)
      • + {% endif %} {% else %}
      • {% pkg_details_link depend.pkg %}{{ depend.dep.depvcmp|default:"" }} {% if depend.pkg.repo.testing %}(testing){% endif %} -- cgit v1.2.3-54-g00ecf From 0df3567ae25bb2856bc62951844d9dab5ea97990 Mon Sep 17 00:00:00 2001 From: Sergej Pupykin Date: Sat, 13 Aug 2011 00:23:36 +0400 Subject: add "search wiki" link to package details page Dan: fix usage of urlencode() function. Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 8 ++++++++ templates/packages/details.html | 1 + 2 files changed, 9 insertions(+) (limited to 'templates/packages') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 7bc868de..e4c7a010 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -72,6 +72,14 @@ def svn_arch(package): def svn_trunk(package): return svn_link(package, "trunk") +@register.simple_tag +def get_wiki_link(package): + data = { + 'search': package.pkgname, + } + return "https://wiki.archlinux.org/index.php/Special:Search?%s" % \ + urlencode(data) + @register.simple_tag def bugs_list(package): data = { diff --git a/templates/packages/details.html b/templates/packages/details.html index a3f2cef4..bec4bdff 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -18,6 +18,7 @@

        Package Actions

        • SVN Entries ({{pkg.repo|lower}}-{{pkg.arch}})
        • SVN Entries (trunk)
        • +
        • Search Wiki
        • Bug Reports
        • Report a Bug
        • {% if pkg.flag_date %} -- cgit v1.2.3-54-g00ecf From 8e1cae30596e48bfcc958dcd840c09b4cb8987ba Mon Sep 17 00:00:00 2001 From: Thomas Bächler Date: Sun, 14 Aug 2011 16:32:35 +0200 Subject: templates/flag.html: Improve the note about bug reports. There are tons of morons out there who are not able to read. Thus, I keep getting bug reports via the "flag out of date" feature. This patch removes all occurrences of "please" from the note and adds a new sentence that explains our ignorance properly. The hint to file a bug report is now longer, so idiots might see it. Dan: add one more line in the early text. Signed-off-by: Dan McGee --- templates/packages/flag.html | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/flag.html b/templates/packages/flag.html index 261d6066..34dfe34e 100644 --- a/templates/packages/flag.html +++ b/templates/packages/flag.html @@ -10,7 +10,7 @@

          Flag Package: {{ package.pkgname }}

          If you notice a package is out-of-date (i.e., there is a newer stable release available), then please notify us using - the form below.

          + the form below. Do not report bugs via this form!

          Note that all of the following packages will be marked out of date:

            @@ -26,9 +26,10 @@

            Flag Package: {{ package.pkgname }}

            title="Visit the arch-general mailing list">arch-general mailing list with your additional text.

            -

            Note: Please do not use this facility if the - package is broken! Please file a bug instead.

            +

            Note: Do not use this facility if the + package is broken! The package will be unflagged and the report will be ignored! + Use the + bugtracker to file a bug instead.

            Please confirm your flag request for {{package.pkgname}}:

            -- cgit v1.2.3-54-g00ecf From a06ab5c1eb2053d33e15244ea579875aa72c0c1f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 16 Aug 2011 15:35:59 -0500 Subject: Tabs -> spaces in templates Signed-off-by: Dan McGee --- templates/packages/search.html | 12 ++++++------ templates/public/about.html | 2 +- templates/public/index.html | 4 ++-- templates/public/svn.html | 18 +++++++++--------- templates/registration/logout.html | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/search.html b/templates/packages/search.html index eb4aceca..8a357024 100644 --- a/templates/packages/search.html +++ b/templates/packages/search.html @@ -153,12 +153,12 @@

            Package Search

            {% else %}
            -

            We couldn't find any packages matching your query. Try searching again - using different criteria, or try - {% if search_form.q.data %} - searching the AUR - {% else %}searching the AUR{% endif %} - to see if the package can be found there.

            +

            We couldn't find any packages matching your query. Try searching again + using different criteria, or try + {% if search_form.q.data %} + searching the AUR + {% else %}searching the AUR{% endif %} + to see if the package can be found there.

            {% endif %} diff --git a/templates/public/about.html b/templates/public/about.html index 0e0601e8..bf38e8a1 100644 --- a/templates/public/about.html +++ b/templates/public/about.html @@ -3,7 +3,7 @@ {% block content %}

            About Arch Linux

            -

            +

            Arch Linux is an independently developed, i686/x86-64 general purpose GNU/Linux distribution versatile enough to suit any role. Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a diff --git a/templates/public/index.html b/templates/public/index.html index add921d1..e68943c8 100644 --- a/templates/public/index.html +++ b/templates/public/index.html @@ -82,7 +82,7 @@

            Recent Updates ( {{ update.pkgbase }} {{ update.version }} - + {% for pkg in update.package_links %}{{ pkg.arch }}{% if not forloop.last %}/{% endif %}{% endfor %} @@ -161,7 +161,7 @@

            Development

            title="Developer Wiki articles">DeveloperWiki
          • Todo Lists
          • -
          • Releng Testbuild Feedback
          diff --git a/templates/public/svn.html b/templates/public/svn.html index dd175bcc..aedd9a73 100644 --- a/templates/public/svn.html +++ b/templates/public/svn.html @@ -7,25 +7,25 @@

          SVN Repositories

          The PKGBUILD files can be fetched via the ABS utility. To learn more about ABS, see the ABS wiki page.

          -

          The SVN repositories have been cloned into git repositories and can be - viewed via the cgit interface. - All - packages are available here except for - community - and multilib which are available in a different repository.

          +

          The SVN repositories have been cloned into git repositories and can be + viewed via the cgit interface. + All + packages are available here except for + community + and multilib which are available in a different repository.

          You can also get individual PKGBUILDs directly from SVN. This can be especially useful if you need to compile an older version of a package. DO NOT CHECK OUT THE ENTIRE SVN REPO. Your address may be blocked. Use the following commands to check out a specific package: -

          +

          svn checkout --depth=empty svn://svn.archlinux.org/packages
           cd packages
           svn update <your-package-name>
          - For the community and multilib repositories, use the following commands - instead: + For the community and multilib repositories, use the following commands + instead:
          svn checkout --depth=empty svn://svn.archlinux.org/community
           cd community
           svn update <your-package-name>
          diff --git a/templates/registration/logout.html b/templates/registration/logout.html index e890ce99..50b3574b 100644 --- a/templates/registration/logout.html +++ b/templates/registration/logout.html @@ -5,7 +5,7 @@

          Developer Logout

          -

          Logout was successful.

          +

          Logout was successful.

          {% endblock %} -- cgit v1.2.3-54-g00ecf From a52c2744bf3b532f3f02ce45ae9d902706f9f518 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 17 Aug 2011 16:16:32 -0500 Subject: Add capfirst filter to yesno usage in templates Signed-off-by: Dan McGee --- templates/mirrors/mirror_details.html | 10 +++++----- templates/mirrors/mirrors.html | 6 +++--- templates/packages/signoffs.html | 4 ++-- templates/releng/iso_overview.html | 12 +++--------- templates/releng/result_list.html | 2 +- 5 files changed, 14 insertions(+), 20 deletions(-) (limited to 'templates/packages') diff --git a/templates/mirrors/mirror_details.html b/templates/mirrors/mirror_details.html index 1795d0f5..3daf1a2d 100644 --- a/templates/mirrors/mirror_details.html +++ b/templates/mirrors/mirror_details.html @@ -24,16 +24,16 @@

          Mirror Details: {{ mirror.name }}

          Has ISOs: - {{ mirror.isos|yesno }} + {{ mirror.isos|yesno|capfirst }} {% if user.is_authenticated %} Public: - {{ mirror.public|yesno }} + {{ mirror.public|yesno|capfirst }} Active: - {{ mirror.active|yesno }} + {{ mirror.active|yesno|capfirst }} Rsync IPs: @@ -91,8 +91,8 @@

          Available URLs

          {% for m_url in urls %} {% if m_url.protocol.is_download %}{{ m_url.url }}{% else %}{{ m_url.url }}{% endif %} - {{ m_url.has_ipv4|yesno }} - {{ m_url.has_ipv6|yesno }} + {{ m_url.has_ipv4|yesno|capfirst }} + {{ m_url.has_ipv6|yesno|capfirst }} {{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }} {{ m_url.completion_pct|percentage:1 }} {{ m_url.delay|duration|default:'unknown' }} diff --git a/templates/mirrors/mirrors.html b/templates/mirrors/mirrors.html index ee76acbe..bf356080 100644 --- a/templates/mirrors/mirrors.html +++ b/templates/mirrors/mirrors.html @@ -27,11 +27,11 @@

          Mirror Overview

          title="Mirror details for {{ mirror.name }}">{{ mirror.name }} {{mirror.get_tier_display}} {{mirror.country}} - {{mirror.isos|yesno}} + {{mirror.isos|yesno|capfirst}} {{mirror.supported_protocols|join:", "}} {% if user.is_authenticated %} - {{mirror.public|yesno}} - {{mirror.active|yesno}} + {{mirror.public|yesno|capfirst}} + {{mirror.active|yesno|capfirst}} {{mirror.admin_email}} {{mirror.notes|linebreaks}} {% endif %} diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html index baf85338..a8aa4de2 100644 --- a/templates/packages/signoffs.html +++ b/templates/packages/signoffs.html @@ -35,8 +35,8 @@

          Package Signoffs

          {{ pkg.full_version }} {{ pkg.last_update|date }} {{ group.target_repo }} - - {{ group.approved|yesno:"Yes,No" }} + + {{ group.approved|yesno|capfirst }}

      {{ iso.name }} - - {{ iso.active|yesno }} - - - {{ iso.successes }} - - - {{ iso.failures }} - + {{ iso.active|yesno|capfirst }} + {{ iso.successes }} + {{ iso.failures }} {% endfor %} diff --git a/templates/releng/result_list.html b/templates/releng/result_list.html index a343257e..7f9ed452 100644 --- a/templates/releng/result_list.html +++ b/templates/releng/result_list.html @@ -26,7 +26,7 @@

      Results for: {{ test.user_name }} {{ test.created|date }} {{ test.architecture }} - {{ test.success|yesno }} + {{ test.success|yesno|capfirst }} {% endfor %} -- cgit v1.2.3-54-g00ecf From e5d09fb7e9003b7f96685af9c0a722b45746448e Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 17 Aug 2011 16:18:12 -0500 Subject: Add PGP signature package field And add eventual display code for it to the details template, but don't show it yet as no packages will have it. Signed-off-by: Dan McGee --- devel/management/commands/reporead.py | 1 + .../0053_auto__add_field_package_pgp_signature.py | 152 +++++++++++++++++++++ main/models.py | 6 +- templates/packages/details.html | 5 + 4 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 main/migrations/0053_auto__add_field_package_pgp_signature.py (limited to 'templates/packages') diff --git a/devel/management/commands/reporead.py b/devel/management/commands/reporead.py index 97fdbb73..cf597577 100644 --- a/devel/management/commands/reporead.py +++ b/devel/management/commands/reporead.py @@ -203,6 +203,7 @@ def populate_pkg(dbpkg, repopkg, force=False, timestamp=None): dbpkg.packager_str = repopkg.packager # attempt to find the corresponding django user for this string dbpkg.packager = finder.find(repopkg.packager) + dbpkg.pgp_signature = repopkg.pgpsig if timestamp: dbpkg.flag_date = None diff --git a/main/migrations/0053_auto__add_field_package_pgp_signature.py b/main/migrations/0053_auto__add_field_package_pgp_signature.py new file mode 100644 index 00000000..a828d1ef --- /dev/null +++ b/main/migrations/0053_auto__add_field_package_pgp_signature.py @@ -0,0 +1,152 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + db.add_column('packages', 'pgp_signature', self.gf('django.db.models.fields.TextField')(null=True, blank=True), keep_default=False) + + def backwards(self, orm): + db.delete_column('packages', 'pgp_signature') + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'main.arch': { + 'Meta': {'ordering': "['name']", 'object_name': 'Arch', 'db_table': "'arches'"}, + 'agnostic': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'main.donor': { + 'Meta': {'ordering': "['name']", 'object_name': 'Donor', 'db_table': "'donors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'visible': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + }, + 'main.package': { + 'Meta': {'ordering': "('pkgname',)", 'object_name': 'Package', 'db_table': "'packages'"}, + 'arch': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'packages'", 'to': "orm['main.Arch']"}), + 'build_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'compressed_size': ('main.models.PositiveBigIntegerField', [], {}), + 'epoch': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'files_last_update': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'flag_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'installed_size': ('main.models.PositiveBigIntegerField', [], {}), + 'last_update': ('django.db.models.fields.DateTimeField', [], {}), + 'packager': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'packager_str': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'pgp_signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'pkgbase': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'pkgdesc': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'pkgname': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'pkgrel': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'pkgver': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'repo': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'packages'", 'to': "orm['main.Repo']"}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}) + }, + 'main.packagedepend': { + 'Meta': {'object_name': 'PackageDepend', 'db_table': "'package_depends'"}, + 'depname': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'depvcmp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'optional': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'pkg': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['main.Package']"}) + }, + 'main.packagefile': { + 'Meta': {'object_name': 'PackageFile', 'db_table': "'package_files'"}, + 'directory': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'filename': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_directory': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'pkg': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['main.Package']"}) + }, + 'main.repo': { + 'Meta': {'ordering': "['name']", 'object_name': 'Repo', 'db_table': "'repos'"}, + 'bugs_category': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'bugs_project': ('django.db.models.fields.SmallIntegerField', [], {'default': '1'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'staging': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'svn_root': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'testing': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'main.todolist': { + 'Meta': {'object_name': 'Todolist', 'db_table': "'todolists'"}, + 'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'main.todolistpkg': { + 'Meta': {'unique_together': "(('list', 'pkg'),)", 'object_name': 'TodolistPkg', 'db_table': "'todolist_pkgs'"}, + 'complete': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'list': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['main.Todolist']"}), + 'pkg': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['main.Package']"}) + }, + 'main.userprofile': { + 'Meta': {'object_name': 'UserProfile', 'db_table': "'user_profiles'"}, + 'alias': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'allowed_repos': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['main.Repo']", 'symmetrical': 'False', 'blank': 'True'}), + 'favorite_distros': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'interests': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'languages': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'notify': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'other_contact': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'pgp_key': ('main.models.PGPKeyField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), + 'picture': ('django.db.models.fields.files.FileField', [], {'default': "'devs/silhouette.png'", 'max_length': '100'}), + 'public_email': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'roles': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'time_zone': ('django.db.models.fields.CharField', [], {'default': "'UTC'", 'max_length': '100'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'userprofile'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'website': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'yob': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + } + } + + complete_apps = ['main'] diff --git a/main/models.py b/main/models.py index 0125cc0e..e0681abf 100644 --- a/main/models.py +++ b/main/models.py @@ -82,6 +82,7 @@ class UserProfile(models.Model): help_text="Ideally 125px by 125px") user = models.OneToOneField(User, related_name='userprofile') allowed_repos = models.ManyToManyField('Repo', blank=True) + class Meta: db_table = 'user_profiles' verbose_name = 'Additional Profile Data' @@ -173,6 +174,7 @@ class Package(models.Model): packager_str = models.CharField(max_length=255) packager = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) + pgp_signature = models.TextField(null=True, blank=True) flag_date = models.DateTimeField(null=True) objects = PackageManager() @@ -199,6 +201,9 @@ def get_full_url(self, proto='http'): domain = Site.objects.get_current().domain return '%s://%s%s' % (proto, domain, self.get_absolute_url()) + def is_signed(self): + return bool(self.pgp_signature) + @property def maintainers(self): return User.objects.filter( @@ -288,7 +293,6 @@ def get_depends(self): if not pkg: providers = dep.get_providers(arches, testing=self.repo.testing, staging=self.repo.staging) - print providers deps.append({'dep': dep, 'pkg': pkg, 'providers': providers}) return deps diff --git a/templates/packages/details.html b/templates/packages/details.html index bec4bdff..2f1031a6 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -138,6 +138,11 @@

      Versions Elsewhere

      Last Packager: {% with pkg.packager as pkgr %}{% if pkgr %}{% userpkgs pkgr %}{% else %}{{ pkg.packager_str }}{% endif %}{% endwith %} + + {% comment %} + Signed: + {{ pkg.is_signed|yesno|capfirst }} + {% endcomment %} Build Date: {{ pkg.build_date|date:"DATETIME_FORMAT" }} UTC -- cgit v1.2.3-54-g00ecf From 60738969375fc72ff254517107ce53e14b068e24 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 19 Aug 2011 18:36:47 -0500 Subject: Fix template comment guard Signed-off-by: Dan McGee --- templates/packages/details.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index 2f1031a6..d09d8ada 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -142,8 +142,8 @@

      Versions Elsewhere

      {% comment %} Signed: {{ pkg.is_signed|yesno|capfirst }} - {% endcomment %} + {% endcomment %} Build Date: {{ pkg.build_date|date:"DATETIME_FORMAT" }} UTC -- cgit v1.2.3-54-g00ecf From e4b75dc124a53090b429bafbc3621c0e0a0f6247 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 25 Aug 2011 11:10:56 -0500 Subject: Enable display of package signed status Signed-off-by: Dan McGee --- templates/packages/details.html | 2 -- 1 file changed, 2 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index d09d8ada..afbf9103 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -139,11 +139,9 @@

      Versions Elsewhere

      Last Packager: {% with pkg.packager as pkgr %}{% if pkgr %}{% userpkgs pkgr %}{% else %}{{ pkg.packager_str }}{% endif %}{% endwith %} - {% comment %} Signed: {{ pkg.is_signed|yesno|capfirst }} - {% endcomment %} Build Date: {{ pkg.build_date|date:"DATETIME_FORMAT" }} UTC -- cgit v1.2.3-54-g00ecf From 2ed3676f61af821e71a5c070e65419cd60906cb8 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 23 Aug 2011 17:17:30 -0500 Subject: Escape parameter to search AUR link Addresses FS#25732. Signed-off-by: Dan McGee --- templates/packages/search.html | 2 +- templates/public/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/search.html b/templates/packages/search.html index 8a357024..4744aa88 100644 --- a/templates/packages/search.html +++ b/templates/packages/search.html @@ -156,7 +156,7 @@

      Package Search

      We couldn't find any packages matching your query. Try searching again using different criteria, or try {% if search_form.q.data %} - searching the AUR + searching the AUR {% else %}searching the AUR{% endif %} to see if the package can be found there.

      diff --git a/templates/public/index.html b/templates/public/index.html index c8b6def0..bea19e0f 100644 --- a/templates/public/index.html +++ b/templates/public/index.html @@ -20,7 +20,7 @@

      A simple, lightweight distribution

      Currently we have official packages optimized for the i686 and x86-64 architectures. We complement our official package sets with a - + community-operated package repository that grows in size and quality each and every day.

      -- cgit v1.2.3-54-g00ecf From 25a15d4c570823c6e28693d68d57b803dc2673fa Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Thu, 1 Sep 2011 19:56:05 +0300 Subject: Use package branches to display commit history We now have one link pointing to the tree of /trunk, and another pointing to the log of /trunk. Both links specify a package branch. Signed-off-by: Evangelos Foutras Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 19 ++++++------------- templates/packages/details.html | 6 ++++-- 2 files changed, 10 insertions(+), 15 deletions(-) (limited to 'templates/packages') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 42001aa5..01bf7510 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -61,20 +61,13 @@ def userpkgs(user): ) return '' -def svn_link(package, svnpath): - '''Helper function for the two real SVN link methods.''' - parts = (package.repo.svn_root, package.pkgbase, svnpath) - linkbase = "http://projects.archlinux.org/svntogit/%s.git/tree/%s/%s/" - return linkbase % tuple(urlquote(part) for part in parts) - @register.simple_tag -def svn_arch(package): - repo = package.repo.name.lower() - return svn_link(package, "repos/%s-%s" % (repo, package.arch.name)) - -@register.simple_tag -def svn_trunk(package): - return svn_link(package, "trunk") +def scm_link(package, operation): + parts = (package.repo.svn_root, operation, package.pkgbase) + linkbase = ( + "http://projects.archlinux.org/svntogit/%s.git/%s/trunk?" + "h=packages/%s") + return linkbase % tuple(urlquote(part) for part in parts) @register.simple_tag def get_wiki_link(package): diff --git a/templates/packages/details.html b/templates/packages/details.html index afbf9103..fa8283ed 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -16,8 +16,10 @@

      Package Details: {{ pkg.pkgname }} {{ pkg.full_version }}

      Package Actions

        -
      • SVN Entries ({{pkg.repo|lower}}-{{pkg.arch}})
      • -
      • SVN Entries (trunk)
      • +
      • + Source Files / + View Changes +
      • Search Wiki
      • Bug Reports
      • Report a Bug
      • -- cgit v1.2.3-54-g00ecf From 6aaa9119c55503f382cecbef72532db87a87c782 Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Thu, 1 Sep 2011 19:56:06 +0300 Subject: Compact bug report links in "Package Actions" box Using the same style as the SCM links. Signed-off-by: Evangelos Foutras Signed-off-by: Dan McGee --- templates/packages/details.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index fa8283ed..76d3ce86 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -20,9 +20,11 @@

        Package Actions

        Source Files / View Changes +
      • + Bug Reports / + Add New Bug +
      • Search Wiki
      • -
      • Bug Reports
      • -
      • Report a Bug
      • {% if pkg.flag_date %}
      • Flagged out-of-date on {{ pkg.flag_date|date }}
      • {% with pkg.in_testing as tp %}{% if tp %} -- cgit v1.2.3-54-g00ecf From f173a03857e92268412196cd8e7c0f5d27fb6a38 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 8 Sep 2011 14:09:45 -0500 Subject: Show provides in package details view Signed-off-by: Dan McGee --- templates/packages/details.html | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'templates/packages') diff --git a/templates/packages/details.html b/templates/packages/details.html index 76d3ce86..8be408fb 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -123,7 +123,16 @@

        Versions Elsewhere

        {% else %}None{% endif %} {% endwith %} - + + {% with pkg.provides.all as provides %} + {% if provides %} + + Provides: + {% for p in provides %}{{ p.name }}{% if p.version %}={{ p.version }}{% endif %}
        {% endfor %} + + {% endif %} + {% endwith %} + Maintainers: {% with pkg.maintainers as maints %} {% if maints %} -- cgit v1.2.3-54-g00ecf From 293e42fc55ca0ee8f67d5bdcb3d32fd0ec93786e Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 8 Sep 2011 14:10:13 -0500 Subject: List packages in required by list with depend provided by this package Implements FS#25862. Most noticable on package like util-linux (util-linux-ng) and openjdk6 (java-runtime, java-environment). Signed-off-by: Dan McGee --- main/models.py | 4 +++- templates/packages/details.html | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'templates/packages') diff --git a/main/models.py b/main/models.py index e0681abf..1efca78d 100644 --- a/main/models.py +++ b/main/models.py @@ -234,9 +234,11 @@ def get_requiredby(self): list slim by including the corresponding package in the same testing category as this package if that check makes sense. """ + provides = set(self.provides.values_list('name', flat=True)) + provides.add(self.pkgname) requiredby = PackageDepend.objects.select_related('pkg', 'pkg__arch', 'pkg__repo').filter( - depname=self.pkgname).order_by( + depname__in=provides).order_by( 'pkg__pkgname', 'pkg__arch__name', 'pkg__repo__name') if not self.arch.agnostic: # make sure we match architectures if possible diff --git a/templates/packages/details.html b/templates/packages/details.html index 8be408fb..1016b43a 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -203,6 +203,7 @@

          {% for req in rqdby %}
        • {% pkg_details_link req.pkg %} + {% if req.depname != pkg.pkgname %}(requires {{ req.depname }}){% endif %} {% if req.pkg.repo.testing %}(testing){% endif %} {% if req.optional %}(optional){% endif %}
        • -- cgit v1.2.3-54-g00ecf