From bd720d6a5476de1af000e26f104fe28b919197c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Mon, 29 May 2023 17:21:54 +0300 Subject: [PATCH 1/1] Added option to enable/disable subspace creation by users --- 50_bubble.py | 1 + subspace.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/50_bubble.py b/50_bubble.py index e6552e8..bf4263a 100644 --- a/50_bubble.py +++ b/50_bubble.py @@ -35,6 +35,7 @@ class Bubble: self.likes_enabled = cfg.getboolean('user.likes', True) self.thanks_enabled = cfg.getboolean('user.thanks', True) self.user_register = cfg.getboolean('user.register', True) + self.user_subspaces = cfg.getboolean('user.subspaces', True) self.admin_certpass = cfg.get('admin.certpass', '') self.antenna_url = cfg.get('antenna.url', 'gemini://warmedal.se/~antenna/submit') self.version = __version__ diff --git a/subspace.py b/subspace.py index fe93811..5c2e90a 100644 --- a/subspace.py +++ b/subspace.py @@ -10,6 +10,9 @@ def make_subspace(session): if not session.user: return 60, "Login required" + if not session.bubble.user_subspaces and session.user.role == User.BASIC: + return 61, "Not authorized" + db = session.db req = session.req if is_empty_query(req): @@ -35,8 +38,8 @@ def make_subspaces_page(session): if len(subs): for sub in subs: page += f'=> /{sub.title()} {sub.title()}\n' - page += '\n' - page += f'=> /new-subspace {session.bubble.site_icon} New subspace\n' + if session.bubble.user_subspaces or session.user.role == User.ADMIN: + page += f'\n=> /new-subspace {session.bubble.site_icon} New subspace\n' page += '\n## Index\n' page += 'Inactive and unused subspaces will be purged.\n' -- 2.34.1