manager: add support for a new "text" json cell parameter type (#22129)
This commit is contained in:
parent
77c053945c
commit
a4f6f452b8
|
@ -101,12 +101,17 @@ class ConfigJsonForm(forms.ModelForm):
|
|||
'string': forms.CharField,
|
||||
'bool': forms.BooleanField,
|
||||
}
|
||||
widget_classes = {
|
||||
'text': forms.widgets.Textarea,
|
||||
}
|
||||
for field in self.formdef:
|
||||
field_class = field_classes.get(field.get('type'), forms.CharField)
|
||||
self.fields[field['varname']] = field_class(
|
||||
label=field['label'],
|
||||
required=field.get('required', True),
|
||||
initial=parameters.get(field['varname']))
|
||||
initial=parameters.get(field['varname']),
|
||||
widget=widget_classes.get(field.get('type')),
|
||||
)
|
||||
|
||||
def clean(self):
|
||||
self.cleaned_data['parameters'] = {}
|
||||
|
|
|
@ -37,6 +37,10 @@ div.cell-list > div > div {
|
|||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cell-form textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.cell-list > div.untoggled > div {
|
||||
display: block;
|
||||
max-height: 0;
|
||||
|
|
|
@ -532,6 +532,12 @@ def test_edit_config_json_cell(app, admin_user):
|
|||
'label': 'Test no type is string',
|
||||
'varname': 'test3',
|
||||
},
|
||||
{
|
||||
'label': 'Test text',
|
||||
'type': 'text',
|
||||
'varname': 'test4',
|
||||
'required': False,
|
||||
},
|
||||
]}},
|
||||
TEMPLATES=templates_settings):
|
||||
resp = app.get('/manage/pages/%s/' % page.id)
|
||||
|
@ -552,6 +558,8 @@ def test_edit_config_json_cell(app, admin_user):
|
|||
assert ('data-cell-reference="%s"' % cells[0].get_reference()) in resp.body
|
||||
resp.forms[0]['c%s-test' % cells[0].get_reference()].value = 'World Hello'
|
||||
resp.forms[0]['c%s-test2' % cells[0].get_reference()].checked = True
|
||||
assert resp.form['c%s-test4' % cells[0].get_reference()].tag == 'textarea'
|
||||
resp.forms[0]['c%s-test4' % cells[0].get_reference()].value = 'Text Area'
|
||||
resp = resp.form.submit(xhr=True)
|
||||
assert resp.status_int == 200
|
||||
assert resp.body.startswith('<p><label')
|
||||
|
@ -560,6 +568,7 @@ def test_edit_config_json_cell(app, admin_user):
|
|||
assert resp.form['c%s-test' % cells[0].get_reference()].value == 'World Hello'
|
||||
assert resp.form['c%s-test2' % cells[0].get_reference()].checked is True
|
||||
assert resp.form['c%s-test3' % cells[0].get_reference()].value == 'Hello again'
|
||||
assert resp.form['c%s-test4' % cells[0].get_reference()].value == 'Text Area'
|
||||
|
||||
|
||||
def test_logout(app, admin_user):
|
||||
|
|
Loading…
Reference in New Issue