WuttaWeb 0.16.0__tar.gz → 0.16.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/CHANGELOG.md +6 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/PKG-INFO +2 -2
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/pyproject.toml +2 -2
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/schema.py +10 -1
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/base.mako +1 -1
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_widgets.py +4 -4
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_auth.py +2 -1
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_common.py +1 -1
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/.gitignore +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/COPYING.txt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/README.md +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/Makefile +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/_static/.keepme +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.app.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.auth.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.conf.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.continuum.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.sess.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.base.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.schema.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.widgets.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.base.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.filters.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.handler.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.helpers.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.menus.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.progress.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.static.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.subscribers.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.util.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.auth.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.base.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.common.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.essential.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.master.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.people.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.progress.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.roles.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.settings.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.upgrades.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.users.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/conf.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/glossary.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/index.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/make.bat +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/base.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/index.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/lookup.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/overview.rst +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/_version.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/app.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/auth.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/conf.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/continuum.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/sess.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/email/templates/feedback.html.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/email/templates/feedback.txt.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/widgets.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/filters.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/handler.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/helpers.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/menus.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/progress.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/favicon.ico +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/logo.png +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/testing.png +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/subscribers.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/appinfo/configure.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/appinfo/index.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/auth/change_password.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/auth/login.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/base_meta.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/configure.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checkbox.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checkbox_choice.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checked_password.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/moneyinput.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/password.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/permissions.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/checkbox.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/filedownload.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/notes.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/objectref.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/permissions.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/rolerefs.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/select.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/textarea.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/textinput.pt +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/forbidden.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/form.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/forms/vue_template.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/grids/table_element.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/grids/vue_template.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/home.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/configure.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/create.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/delete.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/edit.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/form.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/index.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/view.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/notfound.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/page.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/people/view_profile.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/progress.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/setup.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrade.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrades/configure.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrades/view.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/wutta-components.mako +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/util.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/auth.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/common.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/essential.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/master.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/people.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/progress.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/roles.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/settings.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/upgrades.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/users.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tasks.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/db/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/db/test_continuum.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_schema.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/test_base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/test_filters.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_fontawesome_svg_core.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_free_solid_svg_icons.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga_bulma.css +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga_bulma.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_vue.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_vue_fontawesome.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/buefy.css +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/buefy.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/fontawesome.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/vue.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/vue_resource.js +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_app.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_handler.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_helpers.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_menus.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_progress.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_static.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_subscribers.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_util.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/util.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/__init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test___init__.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_auth.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_base.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_master.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_people.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_progress.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_roles.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_settings.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_upgrades.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_users.py +0 -0
- {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tox.ini +0 -0
|
@@ -5,6 +5,12 @@ All notable changes to wuttaweb will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## v0.16.1 (2024-12-08)
|
|
9
|
+
|
|
10
|
+
### Fix
|
|
11
|
+
|
|
12
|
+
- refactor to reflect usage of proper UUID values
|
|
13
|
+
|
|
8
14
|
## v0.16.0 (2024-12-05)
|
|
9
15
|
|
|
10
16
|
### Feat
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: WuttaWeb
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.1
|
|
4
4
|
Summary: Web App for Wutta Framework
|
|
5
5
|
Project-URL: Homepage, https://wuttaproject.org/
|
|
6
6
|
Project-URL: Repository, https://forgejo.wuttaproject.org/wutta/wuttaweb
|
|
@@ -36,7 +36,7 @@ Requires-Dist: pyramid-tm
|
|
|
36
36
|
Requires-Dist: pyramid>=2
|
|
37
37
|
Requires-Dist: waitress
|
|
38
38
|
Requires-Dist: webhelpers2
|
|
39
|
-
Requires-Dist: wuttjamaican[db]>=0.
|
|
39
|
+
Requires-Dist: wuttjamaican[db]>=0.17.1
|
|
40
40
|
Requires-Dist: zope-sqlalchemy>=1.5
|
|
41
41
|
Provides-Extra: continuum
|
|
42
42
|
Requires-Dist: wutta-continuum; extra == 'continuum'
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "WuttaWeb"
|
|
9
|
-
version = "0.16.
|
|
9
|
+
version = "0.16.1"
|
|
10
10
|
description = "Web App for Wutta Framework"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [{name = "Lance Edgar", email = "lance@wuttaproject.org"}]
|
|
@@ -42,7 +42,7 @@ dependencies = [
|
|
|
42
42
|
"pyramid_tm",
|
|
43
43
|
"waitress",
|
|
44
44
|
"WebHelpers2",
|
|
45
|
-
"WuttJamaican[db]>=0.
|
|
45
|
+
"WuttJamaican[db]>=0.17.1",
|
|
46
46
|
"zope.sqlalchemy>=1.5",
|
|
47
47
|
]
|
|
48
48
|
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
Form schema types
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
|
+
import uuid as _uuid
|
|
28
|
+
|
|
27
29
|
import colander
|
|
28
30
|
|
|
29
31
|
from wuttaweb.db import Session
|
|
@@ -246,7 +248,14 @@ class ObjectRef(colander.SchemaType):
|
|
|
246
248
|
|
|
247
249
|
# fetch object from DB
|
|
248
250
|
model = self.app.model
|
|
249
|
-
obj =
|
|
251
|
+
obj = None
|
|
252
|
+
if isinstance(value, _uuid.UUID):
|
|
253
|
+
obj = self.session.get(self.model_class, value)
|
|
254
|
+
else:
|
|
255
|
+
try:
|
|
256
|
+
obj = self.session.get(self.model_class, _uuid.UUID(value))
|
|
257
|
+
except ValueError:
|
|
258
|
+
pass
|
|
250
259
|
|
|
251
260
|
# raise error if not found
|
|
252
261
|
if not obj:
|
|
@@ -563,7 +563,7 @@
|
|
|
563
563
|
|
|
564
564
|
const WuttaFeedbackFormData = {
|
|
565
565
|
referrer: null,
|
|
566
|
-
userUUID: ${json.dumps(request.user.uuid if request.user else None)|n},
|
|
566
|
+
userUUID: ${json.dumps(request.user.uuid.hex if request.user else None)|n},
|
|
567
567
|
userName: ${json.dumps(str(request.user) if request.user else None)|n},
|
|
568
568
|
showDialog: false,
|
|
569
569
|
sendingFeedback: false,
|
|
@@ -146,14 +146,14 @@ class TestRoleRefsWidget(WebTestCase):
|
|
|
146
146
|
|
|
147
147
|
# editable values list *excludes* admin (by default)
|
|
148
148
|
html = widget.serialize(field, {admin.uuid, blokes.uuid})
|
|
149
|
-
self.assertNotIn(admin.uuid, html)
|
|
150
|
-
self.assertIn(blokes.uuid, html)
|
|
149
|
+
self.assertNotIn(str(admin.uuid), html)
|
|
150
|
+
self.assertIn(str(blokes.uuid), html)
|
|
151
151
|
|
|
152
152
|
# but admin is included for root user
|
|
153
153
|
self.request.is_root = True
|
|
154
154
|
html = widget.serialize(field, {admin.uuid, blokes.uuid})
|
|
155
|
-
self.assertIn(admin.uuid, html)
|
|
156
|
-
self.assertIn(blokes.uuid, html)
|
|
155
|
+
self.assertIn(str(admin.uuid), html)
|
|
156
|
+
self.assertIn(str(blokes.uuid), html)
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
class TestUserRefsWidget(WebTestCase):
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8; -*-
|
|
2
2
|
|
|
3
|
+
import uuid as _uuid
|
|
3
4
|
from unittest import TestCase
|
|
4
5
|
from unittest.mock import MagicMock
|
|
5
6
|
|
|
@@ -90,7 +91,7 @@ class TestWuttaSecurityPolicy(TestCase):
|
|
|
90
91
|
|
|
91
92
|
# invalid identity yields no user
|
|
92
93
|
self.policy = self.make_policy()
|
|
93
|
-
self.policy.remember(self.request,
|
|
94
|
+
self.policy.remember(self.request, _uuid.uuid4()) # random uuid
|
|
94
95
|
user = self.policy.identity(self.request)
|
|
95
96
|
self.assertIsNone(user)
|
|
96
97
|
|
|
@@ -88,7 +88,7 @@ class TestCommonView(WebTestCase):
|
|
|
88
88
|
|
|
89
89
|
# basic send, with user
|
|
90
90
|
self.request.user = user
|
|
91
|
-
self.request.POST['user_uuid'] = user.uuid
|
|
91
|
+
self.request.POST['user_uuid'] = str(user.uuid)
|
|
92
92
|
with patch.object(mod, 'Session', return_value=self.session):
|
|
93
93
|
context = view.feedback()
|
|
94
94
|
self.assertEqual(context, {'ok': True})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|