From: Michael Tremer Date: Thu, 6 Oct 2022 10:00:35 +0000 (+0000) Subject: keys: Introduce permissions model X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a3a1a92d4634b6e798ecd75fdcd70c10f82fd3e;p=pbs.git keys: Introduce permissions model Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/keys.py b/src/buildservice/keys.py index f438eca5..bde0a842 100644 --- a/src/buildservice/keys.py +++ b/src/buildservice/keys.py @@ -126,6 +126,14 @@ class Key(base.DataObject): self.db.execute("DELETE FROM keys_subkeys WHERE key_id = %s", self.id) self.db.execute("DELETE FROM keys WHERE id = %s", self.id) + def has_perm(self, user): + # Anonymous users have no permission + if not user: + return False + + # Admins have all permissions + return user.is_admin() + @property def fingerprint(self): return self.data.fingerprint[-16:] diff --git a/src/templates/keys-list.html b/src/templates/keys-list.html index 2c695f8f..29dd25b1 100644 --- a/src/templates/keys-list.html +++ b/src/templates/keys-list.html @@ -56,7 +56,7 @@ - {% if current_user and current_user.has_perm("manage_keys") and key.can_be_deleted() %} + {% if key.has_perm(current_user) and key.can_be_deleted() %}