diff options
author | Dan McGee <dan@archlinux.org> | 2011-03-03 21:59:04 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-03-03 21:59:04 +0100 |
commit | 8b77efbfabfb3d65b0400e123025c02346454214 (patch) | |
tree | bd9457f27b57b9434d16ac284e4df86013469cb7 | |
parent | 710ec0a9de9a2185621cd7f51cdd2a056e12f999 (diff) | |
download | archweb-8b77efbfabfb3d65b0400e123025c02346454214.tar.gz archweb-8b77efbfabfb3d65b0400e123025c02346454214.tar.xz |
Template fine-grained permissioning
Rather than use user.is_authenticated, rely on certain permissions being
set for the user. This allows us to open up the developer side and not
assume everyone is a package maintainer.
Allow all logged-in users to still view todo lists, but don't show the
complete/incomplete links (only the text) unless they are allowed to
mess with todo lists.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | templates/packages/details.html | 4 | ||||
-rw-r--r-- | templates/packages/search.html | 6 | ||||
-rw-r--r-- | templates/todolists/view.html | 4 |
3 files changed, 9 insertions, 5 deletions
diff --git a/templates/packages/details.html b/templates/packages/details.html index ea5e528..f73e9d7 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -26,7 +26,7 @@ title="Testing package details for {{ tp.pkgname }}">{{ tp.pkgver }}-{{ tp.pkgrel }}</a> in testing</span></li> {% endif %}{% endwith %} - {% if user.is_authenticated %} + {% if perms.main.change_package %} <li><a href="unflag/" title="Unflag this package">Click here to unflag</a></li> <li><a href="unflag/all/" title="Unflag all matching pkgbase">Click here to unflag all split packages</a></li> {% endif %} @@ -40,7 +40,7 @@ <li><a href="download/" title="Download {{ pkg.pkgname }} from mirror">Download From Mirror</a></li> </ul> - {% if user.is_authenticated %} + {% if perms.main.change_package %} <form id="pkg-action" method="post" action="/packages/update/">{% csrf_token %} <div><input type="hidden" name="pkgid" value="{{ pkg.id }}" /></div> <p>{% if user in pkg.maintainers %} diff --git a/templates/packages/search.html b/templates/packages/search.html index 4a779aa..dad05ff 100644 --- a/templates/packages/search.html +++ b/templates/packages/search.html @@ -71,7 +71,7 @@ <table class="results"> <thead> <tr> - {% if user.is_authenticated %} + {% if perms.main.change_package %} <th> </th> {% endif %} <th><a href="/packages/{% buildsortqs "arch" %}" @@ -91,7 +91,7 @@ <tbody> {% for pkg in package_list %} <tr class="{% cycle 'odd' 'even' %}"> - {% if user.is_authenticated %} + {% if perms.main.change_package %} <td><input type="checkbox" name="pkgid" value="{{ pkg.id }}" /></td> {% endif %} <td>{{ pkg.arch.name }}</td> @@ -134,7 +134,7 @@ </div> {% endif %} - {% if user.is_authenticated %} + {% if perms.main.change_package %} <p><input title="Adopt selected packages" type="submit" id="adopt-btn" name="adopt" value="Adopt Packages" /> <input title="Orphan selected packages" type="submit" id="disown-btn" diff --git a/templates/todolists/view.html b/templates/todolists/view.html index ec8c997..36ecb9b 100644 --- a/templates/todolists/view.html +++ b/templates/todolists/view.html @@ -38,6 +38,7 @@ <td>{{ pkg.pkg.repo.name|capfirst }}</td> <td>{{ pkg.pkg.maintainers|join:', ' }}</td> <td> + {% if perms.main.change_todolistpkg %} {% if pkg.complete %} <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/" class="status-link complete" title="Toggle completion status">Complete</a> @@ -45,6 +46,9 @@ <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/" class="status-link incomplete" title="Toggle completion status">Incomplete</a> {% endif %} + {% else %} + {% if pkg.complete %}<span class="complete">Complete</span>{% else %}<span class="incomplete">Incomplete</span>{% endif %} + {% endif %} </td> </tr> {% endfor %} |