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.
Files changed (178) hide show
  1. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/CHANGELOG.md +6 -0
  2. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/PKG-INFO +2 -2
  3. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/pyproject.toml +2 -2
  4. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/schema.py +10 -1
  5. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/base.mako +1 -1
  6. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_widgets.py +4 -4
  7. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_auth.py +2 -1
  8. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_common.py +1 -1
  9. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/.gitignore +0 -0
  10. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/COPYING.txt +0 -0
  11. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/README.md +0 -0
  12. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/Makefile +0 -0
  13. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/_static/.keepme +0 -0
  14. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.app.rst +0 -0
  15. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.auth.rst +0 -0
  16. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.conf.rst +0 -0
  17. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.continuum.rst +0 -0
  18. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.rst +0 -0
  19. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.db.sess.rst +0 -0
  20. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.base.rst +0 -0
  21. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.rst +0 -0
  22. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.schema.rst +0 -0
  23. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.forms.widgets.rst +0 -0
  24. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.base.rst +0 -0
  25. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.filters.rst +0 -0
  26. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.grids.rst +0 -0
  27. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.handler.rst +0 -0
  28. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.helpers.rst +0 -0
  29. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.menus.rst +0 -0
  30. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.progress.rst +0 -0
  31. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.rst +0 -0
  32. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.static.rst +0 -0
  33. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.subscribers.rst +0 -0
  34. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.util.rst +0 -0
  35. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.auth.rst +0 -0
  36. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.base.rst +0 -0
  37. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.common.rst +0 -0
  38. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.essential.rst +0 -0
  39. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.master.rst +0 -0
  40. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.people.rst +0 -0
  41. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.progress.rst +0 -0
  42. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.roles.rst +0 -0
  43. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.rst +0 -0
  44. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.settings.rst +0 -0
  45. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.upgrades.rst +0 -0
  46. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/api/wuttaweb.views.users.rst +0 -0
  47. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/conf.py +0 -0
  48. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/glossary.rst +0 -0
  49. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/index.rst +0 -0
  50. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/make.bat +0 -0
  51. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/base.rst +0 -0
  52. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/index.rst +0 -0
  53. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/lookup.rst +0 -0
  54. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/docs/narr/templates/overview.rst +0 -0
  55. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/__init__.py +0 -0
  56. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/_version.py +0 -0
  57. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/app.py +0 -0
  58. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/auth.py +0 -0
  59. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/conf.py +0 -0
  60. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/__init__.py +0 -0
  61. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/continuum.py +0 -0
  62. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/db/sess.py +0 -0
  63. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/email/templates/feedback.html.mako +0 -0
  64. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/email/templates/feedback.txt.mako +0 -0
  65. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/__init__.py +0 -0
  66. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/base.py +0 -0
  67. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/forms/widgets.py +0 -0
  68. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/__init__.py +0 -0
  69. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/base.py +0 -0
  70. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/grids/filters.py +0 -0
  71. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/handler.py +0 -0
  72. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/helpers.py +0 -0
  73. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/menus.py +0 -0
  74. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/progress.py +0 -0
  75. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/__init__.py +0 -0
  76. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/favicon.ico +0 -0
  77. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/logo.png +0 -0
  78. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/static/img/testing.png +0 -0
  79. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/subscribers.py +0 -0
  80. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/appinfo/configure.mako +0 -0
  81. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/appinfo/index.mako +0 -0
  82. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/auth/change_password.mako +0 -0
  83. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/auth/login.mako +0 -0
  84. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/base_meta.mako +0 -0
  85. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/configure.mako +0 -0
  86. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checkbox.pt +0 -0
  87. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checkbox_choice.pt +0 -0
  88. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/checked_password.pt +0 -0
  89. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/moneyinput.pt +0 -0
  90. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/password.pt +0 -0
  91. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/permissions.pt +0 -0
  92. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/checkbox.pt +0 -0
  93. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/filedownload.pt +0 -0
  94. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/notes.pt +0 -0
  95. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/objectref.pt +0 -0
  96. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/permissions.pt +0 -0
  97. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/readonly/rolerefs.pt +0 -0
  98. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/select.pt +0 -0
  99. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/textarea.pt +0 -0
  100. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/deform/textinput.pt +0 -0
  101. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/forbidden.mako +0 -0
  102. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/form.mako +0 -0
  103. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/forms/vue_template.mako +0 -0
  104. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/grids/table_element.mako +0 -0
  105. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/grids/vue_template.mako +0 -0
  106. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/home.mako +0 -0
  107. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/configure.mako +0 -0
  108. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/create.mako +0 -0
  109. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/delete.mako +0 -0
  110. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/edit.mako +0 -0
  111. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/form.mako +0 -0
  112. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/index.mako +0 -0
  113. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/master/view.mako +0 -0
  114. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/notfound.mako +0 -0
  115. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/page.mako +0 -0
  116. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/people/view_profile.mako +0 -0
  117. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/progress.mako +0 -0
  118. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/setup.mako +0 -0
  119. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrade.mako +0 -0
  120. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrades/configure.mako +0 -0
  121. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/upgrades/view.mako +0 -0
  122. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/templates/wutta-components.mako +0 -0
  123. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/util.py +0 -0
  124. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/__init__.py +0 -0
  125. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/auth.py +0 -0
  126. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/base.py +0 -0
  127. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/common.py +0 -0
  128. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/essential.py +0 -0
  129. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/master.py +0 -0
  130. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/people.py +0 -0
  131. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/progress.py +0 -0
  132. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/roles.py +0 -0
  133. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/settings.py +0 -0
  134. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/upgrades.py +0 -0
  135. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/src/wuttaweb/views/users.py +0 -0
  136. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tasks.py +0 -0
  137. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/__init__.py +0 -0
  138. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/db/__init__.py +0 -0
  139. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/db/test_continuum.py +0 -0
  140. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/__init__.py +0 -0
  141. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_base.py +0 -0
  142. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/forms/test_schema.py +0 -0
  143. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/__init__.py +0 -0
  144. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/test_base.py +0 -0
  145. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/grids/test_filters.py +0 -0
  146. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_fontawesome_svg_core.js +0 -0
  147. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_free_solid_svg_icons.js +0 -0
  148. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga.js +0 -0
  149. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga_bulma.css +0 -0
  150. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_oruga_bulma.js +0 -0
  151. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_vue.js +0 -0
  152. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/bb_vue_fontawesome.js +0 -0
  153. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/buefy.css +0 -0
  154. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/buefy.js +0 -0
  155. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/fontawesome.js +0 -0
  156. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/vue.js +0 -0
  157. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/libcache/vue_resource.js +0 -0
  158. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_app.py +0 -0
  159. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_handler.py +0 -0
  160. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_helpers.py +0 -0
  161. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_menus.py +0 -0
  162. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_progress.py +0 -0
  163. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_static.py +0 -0
  164. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_subscribers.py +0 -0
  165. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/test_util.py +0 -0
  166. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/util.py +0 -0
  167. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/__init__.py +0 -0
  168. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test___init__.py +0 -0
  169. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_auth.py +0 -0
  170. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_base.py +0 -0
  171. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_master.py +0 -0
  172. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_people.py +0 -0
  173. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_progress.py +0 -0
  174. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_roles.py +0 -0
  175. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_settings.py +0 -0
  176. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_upgrades.py +0 -0
  177. {wuttaweb-0.16.0 → wuttaweb-0.16.1}/tests/views/test_users.py +0 -0
  178. {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.0
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.16.1
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.0"
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.16.1",
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 = self.session.get(self.model_class, value)
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, 'bogus-user-uuid')
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