diff --git a/CHANGELOG.md b/CHANGELOG.md index bd1df83..a10f311 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,19 +5,6 @@ All notable changes to wuttaweb will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## v0.16.0 (2024-12-05) - -### Feat - -- add `get_template_context()` method for master view - -### Fix - -- add option for People entry in the Admin menu -- fix handling of `Upgrade.uuid` -- improve support for random objects with grid, master view -- hide CRUD header buttons if master view does not allow - ## v0.15.0 (2024-11-24) ### Feat diff --git a/pyproject.toml b/pyproject.toml index acf9851..37ccf1c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,10 +6,10 @@ build-backend = "hatchling.build" [project] name = "WuttaWeb" -version = "0.16.0" +version = "0.15.0" description = "Web App for Wutta Framework" readme = "README.md" -authors = [{name = "Lance Edgar", email = "lance@wuttaproject.org"}] +authors = [{name = "Lance Edgar", email = "lance@edbob.org"}] license = {text = "GNU GPL v3+"} classifiers = [ "Development Status :: 4 - Beta", @@ -42,7 +42,7 @@ dependencies = [ "pyramid_tm", "waitress", "WebHelpers2", - "WuttJamaican[db]>=0.16.1", + "WuttJamaican[db]>=0.15.0", "zope.sqlalchemy>=1.5", ] @@ -68,7 +68,6 @@ wuttaweb = "wuttaweb.conf:WuttaWebConfigExtension" [project.urls] Homepage = "https://wuttaproject.org/" Repository = "https://forgejo.wuttaproject.org/wutta/wuttaweb" -Issues = "https://forgejo.wuttaproject.org/wutta/wuttaweb/issues" Changelog = "https://forgejo.wuttaproject.org/wutta/wuttaweb/src/branch/master/CHANGELOG.md" diff --git a/src/wuttaweb/menus.py b/src/wuttaweb/menus.py index 8e824be..c1c47dc 100644 --- a/src/wuttaweb/menus.py +++ b/src/wuttaweb/menus.py @@ -142,54 +142,38 @@ class MenuHandler(GenericHandler): The return value for this method should be a *single* dict, which will ultimately be one element of the final list of dicts as described in :class:`MenuHandler`. - - :param include_people: You can pass this flag to indicate the - admin menu should contain an entry for the "People" view. """ - items = [] - - if kwargs.get('include_people'): - items.extend([ - { - 'title': "All People", - 'route': 'people', - 'perm': 'people.list', - }, - ]) - - items.extend([ - { - 'title': "Users", - 'route': 'users', - 'perm': 'users.list', - }, - { - 'title': "Roles", - 'route': 'roles', - 'perm': 'roles.list', - }, - {'type': 'sep'}, - { - 'title': "App Info", - 'route': 'appinfo', - 'perm': 'appinfo.list', - }, - { - 'title': "Raw Settings", - 'route': 'settings', - 'perm': 'settings.list', - }, - { - 'title': "Upgrades", - 'route': 'upgrades', - 'perm': 'upgrades.list', - }, - ]) - return { 'title': "Admin", 'type': 'menu', - 'items': items, + 'items': [ + { + 'title': "Users", + 'route': 'users', + 'perm': 'users.list', + }, + { + 'title': "Roles", + 'route': 'roles', + 'perm': 'roles.list', + }, + {'type': 'sep'}, + { + 'title': "App Info", + 'route': 'appinfo', + 'perm': 'appinfo.list', + }, + { + 'title': "Raw Settings", + 'route': 'settings', + 'perm': 'settings.list', + }, + { + 'title': "Upgrades", + 'route': 'upgrades', + 'perm': 'upgrades.list', + }, + ], } ############################## diff --git a/src/wuttaweb/views/upgrades.py b/src/wuttaweb/views/upgrades.py index 3a913d0..03570f3 100644 --- a/src/wuttaweb/views/upgrades.py +++ b/src/wuttaweb/views/upgrades.py @@ -217,7 +217,7 @@ class UpgradeView(MasterView): def get_upgrade_filepath(self, upgrade, filename=None, create=True): """ """ - uuid = str(upgrade.uuid) + uuid = upgrade.uuid path = self.app.get_appdir('data', 'upgrades', uuid[:2], uuid[2:], create=create) if filename: diff --git a/tests/test_menus.py b/tests/test_menus.py index 84c4ee5..c3244bc 100644 --- a/tests/test_menus.py +++ b/tests/test_menus.py @@ -14,17 +14,8 @@ class TestMenuHandler(WebTestCase): self.handler = mod.MenuHandler(self.config) def test_make_admin_menu(self): - - # no people entry by default - menu = self.handler.make_admin_menu(self.request) - self.assertIsInstance(menu, dict) - routes = [item.get('route') for item in menu['items']] - self.assertNotIn('people', routes) - - # but we can request it - menu = self.handler.make_admin_menu(self.request, include_people=True) - routes = [item.get('route') for item in menu['items']] - self.assertIn('people', routes) + menus = self.handler.make_admin_menu(self.request) + self.assertIsInstance(menus, dict) def test_make_menus(self): menus = self.handler.make_menus(self.request) diff --git a/tests/views/test_upgrades.py b/tests/views/test_upgrades.py index 1a1d626..6c89d5b 100644 --- a/tests/views/test_upgrades.py +++ b/tests/views/test_upgrades.py @@ -127,7 +127,7 @@ class TestUpgradeView(WebTestCase): self.session.commit() view = self.make_view() - uuid = str(upgrade.uuid) + uuid = upgrade.uuid # no filename path = view.download_path(upgrade, None) @@ -153,7 +153,7 @@ class TestUpgradeView(WebTestCase): self.session.commit() view = self.make_view() - uuid = str(upgrade.uuid) + uuid = upgrade.uuid # no filename path = view.get_upgrade_filepath(upgrade)