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'