summaryrefslogtreecommitdiff
path: root/pgweb/util/helpers.py
diff options
context:
space:
mode:
authorMagnus Hagander2018-12-20 14:31:25 +0000
committerMagnus Hagander2018-12-20 16:18:11 +0000
commitc622ecd02aeef2c02f9ab441b18114ea1d9f2837 (patch)
tree2a755ae5714f3c1aafdfb242c31fc08b0a9e873e /pgweb/util/helpers.py
parenta33bc4630ba3b686ec1b9171caf541d52e1e2d74 (diff)
Move javascript for forms into separate JS file
In passing also clean up a few things that can be passed directly in the template instead, and simplify things now that we have jquery all the time.
Diffstat (limited to 'pgweb/util/helpers.py')
-rw-r--r--pgweb/util/helpers.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/pgweb/util/helpers.py b/pgweb/util/helpers.py
index 5377a113..6b3f08de 100644
--- a/pgweb/util/helpers.py
+++ b/pgweb/util/helpers.py
@@ -52,24 +52,22 @@ def simple_form(instancetype, itemid, request, formclass, formtemplate='base/for
if hasattr(form, 'filter_by_user'):
form.filter_by_user(request.user)
- if hasattr(instancetype, 'markdown_fields'):
- markdownfields = instancetype.markdown_fields
- else:
- markdownfields = None
+ for fn in form.fields:
+ if fn in getattr(instancetype, 'markdown_fields', []):
+ form.fields[fn].widget.attrs.update({'class': 'markdown-content'})
- if hasattr(form, 'described_checkboxes'):
- described_checkboxes = form.described_checkboxes
- else:
- described_checkboxes = None
+ for togg in getattr(form, 'toggle_fields', []):
+ form.fields[togg['name']].widget.attrs.update({
+ 'data-toggles': ','.join(togg['fields']),
+ 'data-toggle-invert': togg['invert'] and 'true' or 'false',
+ 'class': 'toggle-checkbox',
+ })
return render_pgweb(request, navsection, formtemplate, {
'form': form,
'formitemtype': instance._meta.verbose_name,
- 'markdownfields': markdownfields,
- 'described_checkboxes': described_checkboxes,
'form_intro': hasattr(form, 'form_intro') and form.form_intro or None,
- 'toggle_fields': hasattr(form, 'toggle_fields') and form.toggle_fields or None,
- 'jquery': hasattr(form, 'jquery') and form.jquery or None,
+ 'described_checkboxes': getattr(form, 'described_checkboxes', {}),
'savebutton': (itemid == "new") and "Submit New" or "Save",
'operation': (itemid == "new") and "New" or "Edit",
})