summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-03-03 14:59:04 -0600
committerDan McGee <dan@archlinux.org>2011-03-03 14:59:04 -0600
commit8b77efbfabfb3d65b0400e123025c02346454214 (patch)
treebd9457f27b57b9434d16ac284e4df86013469cb7
parent710ec0a9de9a2185621cd7f51cdd2a056e12f999 (diff)
downloadarchweb-8b77efbfabfb3d65b0400e123025c02346454214.tar.gz
archweb-8b77efbfabfb3d65b0400e123025c02346454214.zip
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.html4
-rw-r--r--templates/packages/search.html6
-rw-r--r--templates/todolists/view.html4
3 files changed, 9 insertions, 5 deletions
diff --git a/templates/packages/details.html b/templates/packages/details.html
index ea5e528c..f73e9d7c 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 4a779aa0..dad05ffa 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>&nbsp;</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 ec8c997a..36ecb9bf 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 %}