wagtailstreamforms 4.0.4__tar.gz → 4.1.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 (66) hide show
  1. {wagtailstreamforms-4.0.4/wagtailstreamforms.egg-info → wagtailstreamforms-4.1.0}/PKG-INFO +1 -1
  2. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/setup.cfg +1 -1
  3. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/setup.py +4 -2
  4. wagtailstreamforms-4.1.0/wagtailstreamforms/__init__.py +1 -0
  5. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/migrations/0001_initial.py +73 -72
  6. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/wagtailstreamforms_fields.py +20 -2
  7. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0/wagtailstreamforms.egg-info}/PKG-INFO +1 -1
  8. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms.egg-info/requires.txt +4 -2
  9. wagtailstreamforms-4.0.4/wagtailstreamforms/__init__.py +0 -1
  10. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/LICENSE +0 -0
  11. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/MANIFEST.in +0 -0
  12. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/README.rst +0 -0
  13. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/pyproject.toml +0 -0
  14. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/blocks.py +0 -0
  15. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/conf.py +0 -0
  16. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/fields.py +0 -0
  17. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/forms.py +0 -0
  18. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/hooks.py +0 -0
  19. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/es/LC_MESSAGES/django.mo +0 -0
  20. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/es/LC_MESSAGES/django.po +0 -0
  21. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/nl/LC_MESSAGES/django.mo +0 -0
  22. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/nl/LC_MESSAGES/django.po +0 -0
  23. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/tr/LC_MESSAGES/django.mo +0 -0
  24. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/locale/tr/LC_MESSAGES/django.po +0 -0
  25. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/management/__init__.py +0 -0
  26. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/management/commands/__init__.py +0 -0
  27. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/management/commands/prunesubmissions.py +0 -0
  28. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/migrations/0002_form_site.py +0 -0
  29. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/migrations/0003_alter_form_fields.py +0 -0
  30. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/migrations/__init__.py +0 -0
  31. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/models/__init__.py +0 -0
  32. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/models/abstract.py +0 -0
  33. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/models/file.py +0 -0
  34. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/models/form.py +0 -0
  35. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/models/submission.py +0 -0
  36. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/serializers.py +0 -0
  37. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/streamfield.py +0 -0
  38. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/advanced_settings.html +0 -0
  39. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/confirm_copy.html +0 -0
  40. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/confirm_delete.html +0 -0
  41. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/form_block.html +0 -0
  42. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/index_submissions.html +0 -0
  43. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/list_submissions.html +0 -0
  44. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/non_existent_form.html +0 -0
  45. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/partials/form_field.html +0 -0
  46. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/partials/pagination_nav.html +0 -0
  47. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templates/streamforms/wagtailadmin/shared/datetimepicker_translations.html +0 -0
  48. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templatetags/__init__.py +0 -0
  49. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/templatetags/streamforms_tags.py +0 -0
  50. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/urls.py +0 -0
  51. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/__init__.py +0 -0
  52. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/apps.py +0 -0
  53. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/general.py +0 -0
  54. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/loading.py +0 -0
  55. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/requests.py +0 -0
  56. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/utils/version.py +0 -0
  57. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/views/__init__.py +0 -0
  58. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/views/advanced_settings.py +0 -0
  59. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/views/copy.py +0 -0
  60. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/views/submission_delete.py +0 -0
  61. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/views/submission_list.py +0 -0
  62. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/wagtail_hooks.py +0 -0
  63. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms/wagtailstreamforms_hooks.py +0 -0
  64. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms.egg-info/SOURCES.txt +0 -0
  65. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms.egg-info/dependency_links.txt +0 -0
  66. {wagtailstreamforms-4.0.4 → wagtailstreamforms-4.1.0}/wagtailstreamforms.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wagtailstreamforms
3
- Version: 4.0.4
3
+ Version: 4.1.0
4
4
  Summary: Wagtail forms in a streamfield
5
5
  Home-page: https://github.com/AccentDesign/wagtailstreamforms/
6
6
  Author: Stuart George
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.0.4
2
+ current_version = 4.1.0
3
3
  commit = true
4
4
  tag = true
5
5
  tag_name = {new_version}
@@ -9,6 +9,8 @@ from wagtailstreamforms import __version__
9
9
 
10
10
  tests_require = [
11
11
  "mock==4.0.2",
12
+ "pytest-django==4.7.0",
13
+ "pytest==7.3.2",
12
14
  # Linting
13
15
  "isort[pyproject]==4.3.21",
14
16
  "flake8==3.7.9",
@@ -18,9 +20,9 @@ tests_require = [
18
20
 
19
21
 
20
22
  install_requires = [
21
- "wagtail>=4.1,<4.3",
23
+ "wagtail>=4.1,<5.3",
22
24
  "Unidecode>=0.04.14,<2.0",
23
- "wagtail-generic-chooser>=0.5.0,<0.6",
25
+ "wagtail-generic-chooser>=0.5.0,<0.7",
24
26
  ]
25
27
 
26
28
  documentation_extras = [
@@ -0,0 +1 @@
1
+ __version__ = "4.1.0"
@@ -1,7 +1,8 @@
1
1
  # Generated by Django 2.0.5 on 2018-05-30 23:03
2
2
 
3
3
  import django.db.models.deletion
4
- import wagtail.core.blocks
4
+ from wagtail import blocks
5
+
5
6
  from django.db import migrations, models
6
7
 
7
8
  import wagtailstreamforms.conf
@@ -52,24 +53,24 @@ class Migration(migrations.Migration):
52
53
  [
53
54
  (
54
55
  "singleline",
55
- wagtail.core.blocks.StructBlock(
56
+ blocks.StructBlock(
56
57
  [
57
- ("label", wagtail.core.blocks.CharBlock()),
58
+ ("label", blocks.CharBlock()),
58
59
  (
59
60
  "help_text",
60
- wagtail.core.blocks.CharBlock(
61
+ blocks.CharBlock(
61
62
  required=False
62
63
  ),
63
64
  ),
64
65
  (
65
66
  "required",
66
- wagtail.core.blocks.BooleanBlock(
67
+ blocks.BooleanBlock(
67
68
  required=False
68
69
  ),
69
70
  ),
70
71
  (
71
72
  "default_value",
72
- wagtail.core.blocks.CharBlock(
73
+ blocks.CharBlock(
73
74
  required=False
74
75
  ),
75
76
  ),
@@ -80,24 +81,24 @@ class Migration(migrations.Migration):
80
81
  ),
81
82
  (
82
83
  "multiline",
83
- wagtail.core.blocks.StructBlock(
84
+ blocks.StructBlock(
84
85
  [
85
- ("label", wagtail.core.blocks.CharBlock()),
86
+ ("label", blocks.CharBlock()),
86
87
  (
87
88
  "help_text",
88
- wagtail.core.blocks.CharBlock(
89
+ blocks.CharBlock(
89
90
  required=False
90
91
  ),
91
92
  ),
92
93
  (
93
94
  "required",
94
- wagtail.core.blocks.BooleanBlock(
95
+ blocks.BooleanBlock(
95
96
  required=False
96
97
  ),
97
98
  ),
98
99
  (
99
100
  "default_value",
100
- wagtail.core.blocks.CharBlock(
101
+ blocks.CharBlock(
101
102
  required=False
102
103
  ),
103
104
  ),
@@ -108,24 +109,24 @@ class Migration(migrations.Migration):
108
109
  ),
109
110
  (
110
111
  "date",
111
- wagtail.core.blocks.StructBlock(
112
+ blocks.StructBlock(
112
113
  [
113
- ("label", wagtail.core.blocks.CharBlock()),
114
+ ("label", blocks.CharBlock()),
114
115
  (
115
116
  "help_text",
116
- wagtail.core.blocks.CharBlock(
117
+ blocks.CharBlock(
117
118
  required=False
118
119
  ),
119
120
  ),
120
121
  (
121
122
  "required",
122
- wagtail.core.blocks.BooleanBlock(
123
+ blocks.BooleanBlock(
123
124
  required=False
124
125
  ),
125
126
  ),
126
127
  (
127
128
  "default_value",
128
- wagtail.core.blocks.CharBlock(
129
+ blocks.CharBlock(
129
130
  required=False
130
131
  ),
131
132
  ),
@@ -136,24 +137,24 @@ class Migration(migrations.Migration):
136
137
  ),
137
138
  (
138
139
  "datetime",
139
- wagtail.core.blocks.StructBlock(
140
+ blocks.StructBlock(
140
141
  [
141
- ("label", wagtail.core.blocks.CharBlock()),
142
+ ("label", blocks.CharBlock()),
142
143
  (
143
144
  "help_text",
144
- wagtail.core.blocks.CharBlock(
145
+ blocks.CharBlock(
145
146
  required=False
146
147
  ),
147
148
  ),
148
149
  (
149
150
  "required",
150
- wagtail.core.blocks.BooleanBlock(
151
+ blocks.BooleanBlock(
151
152
  required=False
152
153
  ),
153
154
  ),
154
155
  (
155
156
  "default_value",
156
- wagtail.core.blocks.CharBlock(
157
+ blocks.CharBlock(
157
158
  required=False
158
159
  ),
159
160
  ),
@@ -164,24 +165,24 @@ class Migration(migrations.Migration):
164
165
  ),
165
166
  (
166
167
  "email",
167
- wagtail.core.blocks.StructBlock(
168
+ blocks.StructBlock(
168
169
  [
169
- ("label", wagtail.core.blocks.CharBlock()),
170
+ ("label", blocks.CharBlock()),
170
171
  (
171
172
  "help_text",
172
- wagtail.core.blocks.CharBlock(
173
+ blocks.CharBlock(
173
174
  required=False
174
175
  ),
175
176
  ),
176
177
  (
177
178
  "required",
178
- wagtail.core.blocks.BooleanBlock(
179
+ blocks.BooleanBlock(
179
180
  required=False
180
181
  ),
181
182
  ),
182
183
  (
183
184
  "default_value",
184
- wagtail.core.blocks.CharBlock(
185
+ blocks.CharBlock(
185
186
  required=False
186
187
  ),
187
188
  ),
@@ -192,24 +193,24 @@ class Migration(migrations.Migration):
192
193
  ),
193
194
  (
194
195
  "url",
195
- wagtail.core.blocks.StructBlock(
196
+ blocks.StructBlock(
196
197
  [
197
- ("label", wagtail.core.blocks.CharBlock()),
198
+ ("label", blocks.CharBlock()),
198
199
  (
199
200
  "help_text",
200
- wagtail.core.blocks.CharBlock(
201
+ blocks.CharBlock(
201
202
  required=False
202
203
  ),
203
204
  ),
204
205
  (
205
206
  "required",
206
- wagtail.core.blocks.BooleanBlock(
207
+ blocks.BooleanBlock(
207
208
  required=False
208
209
  ),
209
210
  ),
210
211
  (
211
212
  "default_value",
212
- wagtail.core.blocks.CharBlock(
213
+ blocks.CharBlock(
213
214
  required=False
214
215
  ),
215
216
  ),
@@ -220,24 +221,24 @@ class Migration(migrations.Migration):
220
221
  ),
221
222
  (
222
223
  "number",
223
- wagtail.core.blocks.StructBlock(
224
+ blocks.StructBlock(
224
225
  [
225
- ("label", wagtail.core.blocks.CharBlock()),
226
+ ("label", blocks.CharBlock()),
226
227
  (
227
228
  "help_text",
228
- wagtail.core.blocks.CharBlock(
229
+ blocks.CharBlock(
229
230
  required=False
230
231
  ),
231
232
  ),
232
233
  (
233
234
  "required",
234
- wagtail.core.blocks.BooleanBlock(
235
+ blocks.BooleanBlock(
235
236
  required=False
236
237
  ),
237
238
  ),
238
239
  (
239
240
  "default_value",
240
- wagtail.core.blocks.CharBlock(
241
+ blocks.CharBlock(
241
242
  required=False
242
243
  ),
243
244
  ),
@@ -248,31 +249,31 @@ class Migration(migrations.Migration):
248
249
  ),
249
250
  (
250
251
  "dropdown",
251
- wagtail.core.blocks.StructBlock(
252
+ blocks.StructBlock(
252
253
  [
253
- ("label", wagtail.core.blocks.CharBlock()),
254
+ ("label", blocks.CharBlock()),
254
255
  (
255
256
  "help_text",
256
- wagtail.core.blocks.CharBlock(
257
+ blocks.CharBlock(
257
258
  required=False
258
259
  ),
259
260
  ),
260
261
  (
261
262
  "required",
262
- wagtail.core.blocks.BooleanBlock(
263
+ blocks.BooleanBlock(
263
264
  required=False
264
265
  ),
265
266
  ),
266
267
  (
267
268
  "empty_label",
268
- wagtail.core.blocks.CharBlock(
269
+ blocks.CharBlock(
269
270
  required=False
270
271
  ),
271
272
  ),
272
273
  (
273
274
  "choices",
274
- wagtail.core.blocks.ListBlock(
275
- wagtail.core.blocks.CharBlock(
275
+ blocks.ListBlock(
276
+ blocks.CharBlock(
276
277
  label="Option"
277
278
  )
278
279
  ),
@@ -284,25 +285,25 @@ class Migration(migrations.Migration):
284
285
  ),
285
286
  (
286
287
  "radio",
287
- wagtail.core.blocks.StructBlock(
288
+ blocks.StructBlock(
288
289
  [
289
- ("label", wagtail.core.blocks.CharBlock()),
290
+ ("label", blocks.CharBlock()),
290
291
  (
291
292
  "help_text",
292
- wagtail.core.blocks.CharBlock(
293
+ blocks.CharBlock(
293
294
  required=False
294
295
  ),
295
296
  ),
296
297
  (
297
298
  "required",
298
- wagtail.core.blocks.BooleanBlock(
299
+ blocks.BooleanBlock(
299
300
  required=False
300
301
  ),
301
302
  ),
302
303
  (
303
304
  "choices",
304
- wagtail.core.blocks.ListBlock(
305
- wagtail.core.blocks.CharBlock(
305
+ blocks.ListBlock(
306
+ blocks.CharBlock(
306
307
  label="Option"
307
308
  )
308
309
  ),
@@ -314,25 +315,25 @@ class Migration(migrations.Migration):
314
315
  ),
315
316
  (
316
317
  "checkboxes",
317
- wagtail.core.blocks.StructBlock(
318
+ blocks.StructBlock(
318
319
  [
319
- ("label", wagtail.core.blocks.CharBlock()),
320
+ ("label", blocks.CharBlock()),
320
321
  (
321
322
  "help_text",
322
- wagtail.core.blocks.CharBlock(
323
+ blocks.CharBlock(
323
324
  required=False
324
325
  ),
325
326
  ),
326
327
  (
327
328
  "required",
328
- wagtail.core.blocks.BooleanBlock(
329
+ blocks.BooleanBlock(
329
330
  required=False
330
331
  ),
331
332
  ),
332
333
  (
333
334
  "choices",
334
- wagtail.core.blocks.ListBlock(
335
- wagtail.core.blocks.CharBlock(
335
+ blocks.ListBlock(
336
+ blocks.CharBlock(
336
337
  label="Option"
337
338
  )
338
339
  ),
@@ -344,18 +345,18 @@ class Migration(migrations.Migration):
344
345
  ),
345
346
  (
346
347
  "checkbox",
347
- wagtail.core.blocks.StructBlock(
348
+ blocks.StructBlock(
348
349
  [
349
- ("label", wagtail.core.blocks.CharBlock()),
350
+ ("label", blocks.CharBlock()),
350
351
  (
351
352
  "help_text",
352
- wagtail.core.blocks.CharBlock(
353
+ blocks.CharBlock(
353
354
  required=False
354
355
  ),
355
356
  ),
356
357
  (
357
358
  "required",
358
- wagtail.core.blocks.BooleanBlock(
359
+ blocks.BooleanBlock(
359
360
  required=False
360
361
  ),
361
362
  ),
@@ -366,24 +367,24 @@ class Migration(migrations.Migration):
366
367
  ),
367
368
  (
368
369
  "hidden",
369
- wagtail.core.blocks.StructBlock(
370
+ blocks.StructBlock(
370
371
  [
371
- ("label", wagtail.core.blocks.CharBlock()),
372
+ ("label", blocks.CharBlock()),
372
373
  (
373
374
  "help_text",
374
- wagtail.core.blocks.CharBlock(
375
+ blocks.CharBlock(
375
376
  required=False
376
377
  ),
377
378
  ),
378
379
  (
379
380
  "required",
380
- wagtail.core.blocks.BooleanBlock(
381
+ blocks.BooleanBlock(
381
382
  required=False
382
383
  ),
383
384
  ),
384
385
  (
385
386
  "default_value",
386
- wagtail.core.blocks.CharBlock(
387
+ blocks.CharBlock(
387
388
  required=False
388
389
  ),
389
390
  ),
@@ -394,18 +395,18 @@ class Migration(migrations.Migration):
394
395
  ),
395
396
  (
396
397
  "singlefile",
397
- wagtail.core.blocks.StructBlock(
398
+ blocks.StructBlock(
398
399
  [
399
- ("label", wagtail.core.blocks.CharBlock()),
400
+ ("label", blocks.CharBlock()),
400
401
  (
401
402
  "help_text",
402
- wagtail.core.blocks.CharBlock(
403
+ blocks.CharBlock(
403
404
  required=False
404
405
  ),
405
406
  ),
406
407
  (
407
408
  "required",
408
- wagtail.core.blocks.BooleanBlock(
409
+ blocks.BooleanBlock(
409
410
  required=False
410
411
  ),
411
412
  ),
@@ -416,18 +417,18 @@ class Migration(migrations.Migration):
416
417
  ),
417
418
  (
418
419
  "multifile",
419
- wagtail.core.blocks.StructBlock(
420
+ blocks.StructBlock(
420
421
  [
421
- ("label", wagtail.core.blocks.CharBlock()),
422
+ ("label", blocks.CharBlock()),
422
423
  (
423
424
  "help_text",
424
- wagtail.core.blocks.CharBlock(
425
+ blocks.CharBlock(
425
426
  required=False
426
427
  ),
427
428
  ),
428
429
  (
429
430
  "required",
430
- wagtail.core.blocks.BooleanBlock(
431
+ blocks.BooleanBlock(
431
432
  required=False
432
433
  ),
433
434
  ),
@@ -212,9 +212,27 @@ class SingleFileField(BaseField):
212
212
  )
213
213
 
214
214
 
215
+ class MultipleFileInput(forms.ClearableFileInput):
216
+ allow_multiple_selected = True
217
+
218
+
219
+ class MultipleFileField(forms.FileField):
220
+ def __init__(self, *args, **kwargs):
221
+ kwargs.setdefault("widget", MultipleFileInput())
222
+ super().__init__(*args, **kwargs)
223
+
224
+ def clean(self, data, initial=None):
225
+ single_file_clean = super().clean
226
+ if data and isinstance(data, (list, tuple)):
227
+ result = [single_file_clean(d, initial) for d in data]
228
+ else:
229
+ result = single_file_clean(data, initial)
230
+ return result
231
+
232
+
215
233
  class MultiFileField(BaseField):
216
- field_class = forms.FileField
217
- widget = forms.widgets.FileInput(attrs={"multiple": True})
234
+ field_class = MultipleFileField
235
+ widget = MultipleFileInput(attrs={"multiple": True})
218
236
  icon = "doc-full-inverse"
219
237
  label = _("Files field")
220
238
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wagtailstreamforms
3
- Version: 4.0.4
3
+ Version: 4.1.0
4
4
  Summary: Wagtail forms in a streamfield
5
5
  Home-page: https://github.com/AccentDesign/wagtailstreamforms/
6
6
  Author: Stuart George
@@ -1,6 +1,6 @@
1
- wagtail<4.3,>=4.1
1
+ wagtail<5.3,>=4.1
2
2
  Unidecode<2.0,>=0.04.14
3
- wagtail-generic-chooser<0.6,>=0.5.0
3
+ wagtail-generic-chooser<0.7,>=0.5.0
4
4
 
5
5
  [docs]
6
6
  sphinxcontrib-spelling>=2.3.0
@@ -10,6 +10,8 @@ karma_sphinx_theme>=0.0.6
10
10
 
11
11
  [test]
12
12
  mock==4.0.2
13
+ pytest-django==4.7.0
14
+ pytest==7.3.2
13
15
  isort[pyproject]==4.3.21
14
16
  flake8==3.7.9
15
17
  flake8-blind-except==0.1.1
@@ -1 +0,0 @@
1
- __version__ = "4.0.4"