WuttaWeb 0.5.0__tar.gz → 0.6.0__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 (145) hide show
  1. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/CHANGELOG.md +21 -0
  2. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/PKG-INFO +3 -2
  3. wuttaweb-0.6.0/docs/api/wuttaweb/forms.schema.rst +6 -0
  4. wuttaweb-0.6.0/docs/api/wuttaweb/forms.widgets.rst +6 -0
  5. wuttaweb-0.6.0/docs/api/wuttaweb/grids.base.rst +6 -0
  6. wuttaweb-0.6.0/docs/api/wuttaweb/grids.rst +6 -0
  7. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/index.rst +7 -0
  8. wuttaweb-0.6.0/docs/api/wuttaweb/views.people.rst +6 -0
  9. wuttaweb-0.6.0/docs/api/wuttaweb/views.roles.rst +6 -0
  10. wuttaweb-0.6.0/docs/api/wuttaweb/views.users.rst +6 -0
  11. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/pyproject.toml +3 -2
  12. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/forms/__init__.py +2 -1
  13. wuttaweb-0.6.0/src/wuttaweb/forms/base.py +972 -0
  14. wuttaweb-0.6.0/src/wuttaweb/forms/schema.py +259 -0
  15. wuttaweb-0.6.0/src/wuttaweb/forms/widgets.py +82 -0
  16. wuttaweb-0.6.0/src/wuttaweb/grids/__init__.py +31 -0
  17. wuttaweb-0.6.0/src/wuttaweb/grids/base.py +514 -0
  18. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/menus.py +47 -1
  19. wuttaweb-0.6.0/src/wuttaweb/static/img/favicon.ico +0 -0
  20. wuttaweb-0.6.0/src/wuttaweb/static/img/logo.png +0 -0
  21. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/subscribers.py +1 -1
  22. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/appinfo/index.mako +5 -2
  23. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/base.mako +46 -9
  24. wuttaweb-0.6.0/src/wuttaweb/templates/deform/checkbox.pt +11 -0
  25. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/deform/checked_password.pt +2 -1
  26. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/deform/password.pt +2 -1
  27. wuttaweb-0.6.0/src/wuttaweb/templates/deform/select.pt +50 -0
  28. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/deform/textinput.pt +2 -1
  29. wuttaweb-0.6.0/src/wuttaweb/templates/forms/vue_template.mako +68 -0
  30. wuttaweb-0.6.0/src/wuttaweb/templates/grids/vue_template.mako +53 -0
  31. wuttaweb-0.6.0/src/wuttaweb/templates/master/create.mako +7 -0
  32. wuttaweb-0.6.0/src/wuttaweb/templates/master/delete.mako +18 -0
  33. wuttaweb-0.6.0/src/wuttaweb/templates/master/edit.mako +9 -0
  34. wuttaweb-0.6.0/src/wuttaweb/templates/master/form.mako +5 -0
  35. wuttaweb-0.6.0/src/wuttaweb/templates/master/index.mako +32 -0
  36. wuttaweb-0.6.0/src/wuttaweb/templates/master/view.mako +9 -0
  37. wuttaweb-0.6.0/src/wuttaweb/templates/wutta-components.mako +71 -0
  38. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/util.py +115 -0
  39. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/auth.py +2 -3
  40. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/base.py +23 -3
  41. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/essential.py +7 -0
  42. wuttaweb-0.6.0/src/wuttaweb/views/master.py +1599 -0
  43. wuttaweb-0.6.0/src/wuttaweb/views/people.py +95 -0
  44. wuttaweb-0.6.0/src/wuttaweb/views/roles.py +100 -0
  45. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/settings.py +50 -14
  46. wuttaweb-0.6.0/src/wuttaweb/views/users.py +117 -0
  47. wuttaweb-0.6.0/tests/forms/test_base.py +478 -0
  48. wuttaweb-0.6.0/tests/forms/test_schema.py +199 -0
  49. wuttaweb-0.6.0/tests/forms/test_widgets.py +32 -0
  50. wuttaweb-0.6.0/tests/grids/test_base.py +203 -0
  51. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_subscribers.py +1 -1
  52. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_util.py +82 -0
  53. wuttaweb-0.5.0/tests/views/utils.py → wuttaweb-0.6.0/tests/util.py +39 -12
  54. wuttaweb-0.6.0/tests/views/__init__.py +0 -0
  55. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/views/test_base.py +5 -0
  56. wuttaweb-0.6.0/tests/views/test_master.py +765 -0
  57. wuttaweb-0.6.0/tests/views/test_people.py +39 -0
  58. wuttaweb-0.6.0/tests/views/test_roles.py +57 -0
  59. wuttaweb-0.6.0/tests/views/test_settings.py +56 -0
  60. wuttaweb-0.6.0/tests/views/test_users.py +57 -0
  61. wuttaweb-0.5.0/src/wuttaweb/forms/base.py +0 -477
  62. wuttaweb-0.5.0/src/wuttaweb/static/img/favicon.ico +0 -0
  63. wuttaweb-0.5.0/src/wuttaweb/static/img/logo.png +0 -0
  64. wuttaweb-0.5.0/src/wuttaweb/templates/forms/vue_template.mako +0 -59
  65. wuttaweb-0.5.0/src/wuttaweb/templates/master/index.mako +0 -13
  66. wuttaweb-0.5.0/src/wuttaweb/views/master.py +0 -802
  67. wuttaweb-0.5.0/tests/forms/test_base.py +0 -273
  68. wuttaweb-0.5.0/tests/utils.py +0 -11
  69. wuttaweb-0.5.0/tests/views/test_master.py +0 -370
  70. wuttaweb-0.5.0/tests/views/test_settings.py +0 -23
  71. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/.gitignore +0 -0
  72. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/COPYING.txt +0 -0
  73. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/README.md +0 -0
  74. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/Makefile +0 -0
  75. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/_static/.keepme +0 -0
  76. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/index.rst +0 -0
  77. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/app.rst +0 -0
  78. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/auth.rst +0 -0
  79. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/db.rst +0 -0
  80. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/forms.base.rst +0 -0
  81. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/forms.rst +0 -0
  82. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/handler.rst +0 -0
  83. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/helpers.rst +0 -0
  84. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/menus.rst +0 -0
  85. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/static.rst +0 -0
  86. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/subscribers.rst +0 -0
  87. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/util.rst +0 -0
  88. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.auth.rst +0 -0
  89. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.base.rst +0 -0
  90. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.common.rst +0 -0
  91. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.essential.rst +0 -0
  92. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.master.rst +0 -0
  93. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.rst +0 -0
  94. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/api/wuttaweb/views.settings.rst +0 -0
  95. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/conf.py +0 -0
  96. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/glossary.rst +0 -0
  97. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/index.rst +0 -0
  98. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/make.bat +0 -0
  99. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/docs/narr/index.rst +0 -0
  100. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/__init__.py +0 -0
  101. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/_version.py +0 -0
  102. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/app.py +0 -0
  103. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/auth.py +0 -0
  104. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/db.py +0 -0
  105. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/handler.py +0 -0
  106. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/helpers.py +0 -0
  107. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/static/__init__.py +0 -0
  108. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/static/img/testing.png +0 -0
  109. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/appinfo/configure.mako +0 -0
  110. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/auth/change_password.mako +0 -0
  111. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/auth/login.mako +0 -0
  112. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/base_meta.mako +0 -0
  113. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/configure.mako +0 -0
  114. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/form.mako +0 -0
  115. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/home.mako +0 -0
  116. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/master/configure.mako +0 -0
  117. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/templates/page.mako +0 -0
  118. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/__init__.py +0 -0
  119. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/src/wuttaweb/views/common.py +0 -0
  120. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tasks.py +0 -0
  121. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/__init__.py +0 -0
  122. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/forms/__init__.py +0 -0
  123. {wuttaweb-0.5.0/tests/views → wuttaweb-0.6.0/tests/grids}/__init__.py +0 -0
  124. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_fontawesome_svg_core.js +0 -0
  125. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_free_solid_svg_icons.js +0 -0
  126. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_oruga.js +0 -0
  127. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_oruga_bulma.css +0 -0
  128. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_oruga_bulma.js +0 -0
  129. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_vue.js +0 -0
  130. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/bb_vue_fontawesome.js +0 -0
  131. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/buefy.css +0 -0
  132. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/buefy.js +0 -0
  133. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/fontawesome.js +0 -0
  134. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/vue.js +0 -0
  135. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/libcache/vue_resource.js +0 -0
  136. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_app.py +0 -0
  137. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_auth.py +0 -0
  138. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_handler.py +0 -0
  139. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_helpers.py +0 -0
  140. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_menus.py +0 -0
  141. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/test_static.py +0 -0
  142. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/views/test___init__.py +0 -0
  143. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/views/test_auth.py +0 -0
  144. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tests/views/test_common.py +0 -0
  145. {wuttaweb-0.5.0 → wuttaweb-0.6.0}/tox.ini +0 -0
@@ -5,6 +5,27 @@ 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.6.0 (2024-08-13)
9
+
10
+ ### Feat
11
+
12
+ - add basic Roles view
13
+ - add Users view; improve CRUD master for SQLAlchemy models
14
+ - add People view; improve CRUD master for SQLAlchemy models
15
+ - add basic support for SQLAlchemy model in master view
16
+ - add basic Create support for CRUD master view
17
+ - add basic Delete support for CRUD master view
18
+ - add basic Edit support for CRUD master view
19
+ - add auto-link (to "View") behavior for grid columns
20
+ - add basic support for "view" part of CRUD
21
+ - add basic `Grid` class, and /settings master view
22
+
23
+ ### Fix
24
+
25
+ - rename MasterView method to `configure_grid()`
26
+ - replace default logo, favicon images
27
+ - tweak labels for Web Libraries config
28
+
8
29
  ## v0.5.0 (2024-08-06)
9
30
 
10
31
  ### Feat
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: WuttaWeb
3
- Version: 0.5.0
3
+ Version: 0.6.0
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
@@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Topic :: Internet :: WWW/HTTP
25
25
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Requires-Python: >=3.8
27
+ Requires-Dist: colanderalchemy
27
28
  Requires-Dist: pyramid-beaker
28
29
  Requires-Dist: pyramid-deform
29
30
  Requires-Dist: pyramid-fanstatic
@@ -32,7 +33,7 @@ Requires-Dist: pyramid-tm
32
33
  Requires-Dist: pyramid>=2
33
34
  Requires-Dist: waitress
34
35
  Requires-Dist: webhelpers2
35
- Requires-Dist: wuttjamaican[db]>=0.10.0
36
+ Requires-Dist: wuttjamaican[db]>=0.11.0
36
37
  Requires-Dist: zope-sqlalchemy>=1.5
37
38
  Provides-Extra: docs
38
39
  Requires-Dist: furo; extra == 'docs'
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.forms.schema``
3
+ =========================
4
+
5
+ .. automodule:: wuttaweb.forms.schema
6
+ :members:
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.forms.widgets``
3
+ ==========================
4
+
5
+ .. automodule:: wuttaweb.forms.widgets
6
+ :members:
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.grids.base``
3
+ =======================
4
+
5
+ .. automodule:: wuttaweb.grids.base
6
+ :members:
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.grids``
3
+ ==================
4
+
5
+ .. automodule:: wuttaweb.grids
6
+ :members:
@@ -12,6 +12,10 @@
12
12
  db
13
13
  forms
14
14
  forms.base
15
+ forms.schema
16
+ forms.widgets
17
+ grids
18
+ grids.base
15
19
  handler
16
20
  helpers
17
21
  menus
@@ -24,4 +28,7 @@
24
28
  views.common
25
29
  views.essential
26
30
  views.master
31
+ views.people
32
+ views.roles
27
33
  views.settings
34
+ views.users
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.views.people``
3
+ ===========================
4
+
5
+ .. automodule:: wuttaweb.views.people
6
+ :members:
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.views.roles``
3
+ ========================
4
+
5
+ .. automodule:: wuttaweb.views.roles
6
+ :members:
@@ -0,0 +1,6 @@
1
+
2
+ ``wuttaweb.views.users``
3
+ ========================
4
+
5
+ .. automodule:: wuttaweb.views.users
6
+ :members:
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "WuttaWeb"
9
- version = "0.5.0"
9
+ version = "0.6.0"
10
10
  description = "Web App for Wutta Framework"
11
11
  readme = "README.md"
12
12
  authors = [{name = "Lance Edgar", email = "lance@edbob.org"}]
@@ -30,6 +30,7 @@ classifiers = [
30
30
  ]
31
31
  requires-python = ">= 3.8"
32
32
  dependencies = [
33
+ "ColanderAlchemy",
33
34
  "pyramid>=2",
34
35
  "pyramid_beaker",
35
36
  "pyramid_deform",
@@ -38,7 +39,7 @@ dependencies = [
38
39
  "pyramid_tm",
39
40
  "waitress",
40
41
  "WebHelpers2",
41
- "WuttJamaican[db]>=0.10.0",
42
+ "WuttJamaican[db]>=0.11.0",
42
43
  "zope.sqlalchemy>=1.5",
43
44
  ]
44
45
 
@@ -26,6 +26,7 @@ Forms Library
26
26
  The ``wuttaweb.forms`` namespace contains the following:
27
27
 
28
28
  * :class:`~wuttaweb.forms.base.Form`
29
+ * :class:`~wuttaweb.forms.base.FieldList`
29
30
  """
30
31
 
31
- from .base import Form
32
+ from .base import Form, FieldList