-
Notifications
You must be signed in to change notification settings - Fork 6
/
CHANGELOG
429 lines (300 loc) · 12.8 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
==========
Changlelog
==========
0.9.0-alpha
-----------
* Updated documentation
* Added better defaults for schema types
* Updated JQuery in testish
* RadioChoice no longer emits a none_option by default
* Overhauled the missing/empty strategies
In order to allow a user to represent both an empty string and a None value
at the same time, a few updates had to be made to how the widgets worked.
Hopefully most of these will be backward comptaible but we can't assure this
without a lot of checking. We now have a none_value attribute which
represents the value that is shown to a user to represent None. We also have
the old empty attribute which is used if the widget produces data which
matches the none_value. Have a look in testish for InputNoneValue for an
example and also InputDateNoneValue. Another example is
SelectChoiceWithEmptyString which shows how to allow both '' and None to be
selected.
0.8.8
-----
BUGFIX: error introduced in _get_error function
0.8.7
-----
* Added support for schemaish's default property. Forms use the defaults from
the schema if no explcit ones are passed
0.8.6
-----
BUGFIX: too many error classes in the form tag if multiple validation errors
0.8.5
-----
* required marker to templates
* 'allow_remove' flag on fileupload tempalte
BUGFIX: contains_errors should not fire if the container has an error
BUGFIX: problem with text area sequences not showing errors
BUGFIX: name error in classes_from_vars
0.8.4c
------
* Added an example in the testish block for the restish embedded example
0.8.4b
------
BUGFIX: contains_error was reporting errors at the self level. Should only
report if child fields had errors
0.8.4
------
BUGFIX: Sequences represented as textareas were not showing contained errors
(although they were failing validation). Fields and Collections
now have 'contains_error' and 'contained_errors' properties.
0.8.3b
------
* Added the ability to pass vars into templates.
The only templates that currently use this are the Input and Textarea
widgets. f.widget(classes='myclass yourclass') will add this class
attribute to the input/textarea element
0.8.3
-----
BUGFIX: Many javascript changes to simplify sequence handling and to ensure
sequences work when using custom templates and also when multiple
forms are on a page.
0.8.2b
------
BUGFIX: When using custom templates, the generated 'blob' of data that
represents the 'new item' template was not working correctly. This
should not have affected normal uses of formish
0.8.2
-----
* Rewritten formish javascript for sequences to use class name hooks instead
of relative paths. Add SequenceOfSequence support
BUGFIX: Sequence of Sequence javascript manipulation did not work correctly at all.
0.8.1c
------
BUGFIX: Enctype wasn't being encoded correctly hence file uploads didn't work
0.8.1b
------
* changed behaviour of enctype so that multi-part is only used if there is a
file upload on the form
0.8.1a
------
BUGFIX: Sequences were using base64 encoding to store new items. This wasn't
handling unicode correctly. Changed to use urlencode
decodeURIComponent. The JQuery base64 library is now not needed.
BUGFIX: Structures were emitting metadata when they are only needed for
sequences
0.8.1
-----
* Add the ability to emit form fields using field names which will alow
emission of 'slices' of form fields.
0.8f
----
* added 'crop' flag to the fileresource handler that instead of resizing to
bounds, resizes to fill bounds and crops excess.
0.8e
----
BUGFIX: CheckboxMultiChoiceTree wasn't handling empty data
BUGFIX: Form method names should be lower case in templates
0.8d
----
* Remove remains of restish element code
0.8c
----
* Added an empty attribute to the form to allow global backup setting for
widget empty value
0.8a
----
BUGFIX: The request_data was not being set on the form as a dotted_dict post
0.8, hence deep sequences were not working correctly
0.8
---
* Added 'readonly' attribute to widget that does not put data on the form.
This allows the creation of forms based on parts of a schema (i.e. mark the
rest of the schema widgets as 'readonly')
* Allow sparse request data (missing request data is now interpreted as the
default value for that widget (see default_value class attribute)
* Refactored the CachedTempFilestores api to only specify the cache tag and
headers.
* CachedTempFilestore now has a FileSystemHeaderedFilestore backend (by
default).
* Improved FileResource store initialisation and handling
- FileResource is now configured using a single filestore or dict of
filestores where the dict keys are the filestore's name. Filestores now
need no name attribute. The filestore with a None key is considered
unnamed, and is the default application filestore.
- The name of the filestore is now encoded in the URL and is used to select
the exact filestore to use.
- FileUpload widget now specifies the exact filestore (unnamed or 'tmp') to
use to display a preview.
- formish.util has some functions to help encode/decode FileResource paths
* Added formish.js and formish.css to the module
* Add min_start_fields, min_empty_start_fields to SequenceDefault widget. This
allows a sequence to always show a spare or only show a spare when no data
entered or to show many spares.
* Added batch_add_count which specifies how many empty fields to add when
'add' is clicked
* Added empty_checker to SequenceDefault so that it can throw away excess
fields left because of min_start_fields (for instance).
* Changed the FileResource initialiser to assume nothing about where the
contents of the cache are stored (defaults could cause a security problem if
file cache and other caches collided). It now needs explicit filestores.
However a quickstart class method has been added that should provide handy
testing fileresources.
* Changed widget from and to request data methods to actively call child
fields methods. Widgets are now soleley in charge of managing the return of
request data/data from themselves and their children.
* Changed to use the new, vastly simplified, dottedish module. The old
dottedish module should no longer be used.
* Charset field can now be disabled. Names on action fields are optional. Form
name is optional (If you omit the name, it won't appear on the form element
or as a prefix for the other html elements).
* A check_form_name keyword argument can be passed to the validate function to
disable form name checking
API CHANGES:
- FileResource and FileUpload filestores now handled differently
- to_request_data, form_request_data and pre_process_incoming_request now take
field instead of attr and explicitly call their child field's methods and
also return data (i.e. Widgets are now soleley in charge of managing the
return of request data/data from themselves and their children).
BUG FIXES:
- bug in CheckBox repr
- added missing error_list block to the form (form level errors were not
shown)
- added styling to ensure all blocks with error class are #900 (dk red)
- generated files now use 0660 as base permissions
- problem with convertor_options.delimiter not being correctly handled
- replaced 'for each' instances with 'for' in formish.js
- SelectChoice selected method failed for complex sub-schemas
0.7.1
-----
API CHANGES:
* Action init argument changes and add_action argument changes. Also, a
default form now has an action in form.actions
A form now has a 'add_default_action' keyword argument that defaults to True.
Action init now takes (name, value=None, callback=None).
The default action on a form has a value of 'Submit' and a name of 'submit'.
You can manage the list of actions explicitly. A value of None removes the
value html attribute.
0.7e
----
Relase didn't include any template files (caused by missing gitlsfiles when
building)
0.7d
----
BUG FIX: Fixed problem with checkbox multi choice tree widget not applying
css_class correctly and not nesting html ul/li's correctly
0.7c
-----
BUG FIX: Nested structures were using the sequence template
0.7b
-----
BUG FIX: Fixed one last remaining use of widget.convert in CheckboxMultiChoiceTree
0.7a
-----
BUG FIX: Missed replacing a reference to _template in formish.validation
0.7
------
* Input widgets can be used for sequence data (csv input field)
* Added support for GET forms
* Included css template in main formish module
* Made success/failure form callback more flexible and intuitive
* Reviewed use of css class and id names and added prefixes to field, widget
and type to prevent clashes
* Added ability to apply a default value to a single form element
* Updated testish example/test app to use new restish templating
* Better reprs for widgets and form definitions
* Documentation improvements
- Started adding doctests to documentation
- Reduced the weight of the documentation (simplify styling/templates)
* Lots of changes to the way file uploads are handled - will document before a
tagged release
- Using a 'headered' filestore that allows meta information to be stored
with the file
- this means cached files are not browseable on the filesystem anymore
- fixed bugs in thumbnail preview
- lots more tests around cacheing and file store
BUG FIX: There were some errors in the previous file upload system but the
replacement of the file upload system has improved the whole file
upload system
0.6.6 (2009-01-29)
------------------
* Added the errors property to allow a user to get hold of the full list of
errors (including the original validator settings)
0.6.5 (2009-01-23)
----------------
BUG FIX: convert error if a choice type is given bad request data.
0.6.4a (2009-01-22)
----------------
* Added object base class to enable 2.4 comptibility
BUG FIX: made sure the 'empty' attribute worked symettrically (goes with
removing empty string checking from convertish)
BUG FIX: none_option default was empty string which broke when using datetype.
BUG FIX: sequences could not be used as values in select choice
0.6.3 (2009-01-19)
----------------
BUG FIX: Success and Failure callbacks didn't work
0.6.2 (2009-01-19)
----------------
* Added testish tests for default values using radio choice and check box as
booleans
BUG FIX: Radio choice type conversion was broken
0.6.1 (2009-01-17)
----------------
* Added the 'empty' attribute to allow empty values to come back as anything
you like (normally they return None)
* Reviewed the way conversion works and added extra tests.. picked up on a
couple of edge cases
BUG FIX: bugs in the conversion of none_option values
0.6 (2009-01-16)
----------------
Hopefully we're over the backward incompatible api changes.
* added ``sortable`` option to sequence widget
* renamed the default form id back to 'form' (it temporarily got set as
'formish'). js and css might need changing in your projects..
* Added ReCAPTCHA widget and enhanced the testish self documenting site
* big introduction page to docs
0.5.9 (2009-01-13)
------------------
* added a TextArea csv example and cleaned up fileresource handlers
BUG FIX: resizing when only with or height given was not working
0.5.8 (2009-01-12)
------------------
* added a SelectWithOther choice and enhanced unit and func test capabilities
in testish
0.5.7 (2009-01-11)
------------------
BUG FIX: Fixed various problems with File uploads.
* added a default file acccessor that uses python tempfile with a 'store-' file
prefix.
0.5.6 (2009-01-09)
------------------
BUG FIX: Fixed bug when using multi part widgets (e.g. Date Parts) inside a
sequence. Added example test case.
* changes to handle new schemaish Invalid exception format
* added a contains-error class to container classes that do.
0.5.5 (2009-01-08)
------------------
* Add a granular template rendering system (have a look at
http://ish.io:8891/CustomisedFormLayout)
0.5.4 (2009-01-06)
------------------
* Removed all * imports apart from those at the module level. Checked against
pyflakes.
0.5.3 (2009-01-06)
------------------
!! API CHANGES !!
* dateFirst becomes date_first (on dateParts widget)
* allowClear becomes allow_clear (on fileUpload widget)
* fileHandler becomes filehandler (on fileUpload widget)
* showImagePreview becomes show_image_preview (on fileUpload widget)
* noneOption becomes none_option (on select widgets)
Cleaned up repo and fixed bad style in some method attributes and method names
* Added files recommended by pypi including license
0.5.2 (2009-01-05)
------------------
BUG FIX: Added an import except wrapper around the default mako import
0.5.1 (2009-01-05)
------------------
BUG FIX: Problem with redisplayed empty checkboxes after validation
0.5 (2009-01-05)
----------------
NOTE: First External Release