api: add keywords and description to formdefs API (#8282)
This commit is contained in:
parent
96f7d8c7bd
commit
21cfacc69a
|
@ -43,6 +43,8 @@ l'URL <code>/api/formdefs/</code>.
|
|||
"count": 17,
|
||||
"authentication_required": false,
|
||||
"redirection": false,
|
||||
"description": "",
|
||||
"keywords": [],
|
||||
"category": "Inscriptions"},
|
||||
{"url": "https://www.example.net/inscriptions/piscine",
|
||||
"title": "Piscine",
|
||||
|
@ -50,6 +52,8 @@ l'URL <code>/api/formdefs/</code>.
|
|||
"count": 6,
|
||||
"authentication_required": true,
|
||||
"redirection": false,
|
||||
"description": "La piscine est ouverte du lundi au samedi.",
|
||||
"keywords": ["sport"],
|
||||
"category": "Inscriptions"}
|
||||
]
|
||||
</output>
|
||||
|
|
|
@ -204,6 +204,8 @@ def test_formdef_list():
|
|||
FormDef.wipe()
|
||||
formdef = FormDef()
|
||||
formdef.name = 'test'
|
||||
formdef.description = 'plop'
|
||||
formdef.keywords = 'mobile, test'
|
||||
formdef.fields = []
|
||||
formdef.store()
|
||||
|
||||
|
@ -215,6 +217,8 @@ def test_formdef_list():
|
|||
assert resp1.json[0]['url'] == 'http://example.net/test/'
|
||||
assert resp1.json[0]['count'] == 0
|
||||
assert resp1.json[0]['redirection'] == False
|
||||
assert resp1.json[0]['description'] == 'plop'
|
||||
assert resp1.json[0]['keywords'] == ['mobile', 'test']
|
||||
|
||||
def test_formdef_list_redirection():
|
||||
FormDef.wipe()
|
||||
|
|
|
@ -208,7 +208,8 @@ class OptionsDirectory(Directory):
|
|||
def keywords(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.add(StringWidget, 'keywords', title=_('Keywords'),
|
||||
value=self.formdef.keywords, size=50)
|
||||
value=self.formdef.keywords, size=50,
|
||||
hint=_('Keywords need to be separated with commas.'))
|
||||
return self.handle(form, _('Keywords'))
|
||||
|
||||
def category(self):
|
||||
|
|
|
@ -219,9 +219,16 @@ class ApiFormdefsDirectory(Directory):
|
|||
continue
|
||||
authentication_required = True
|
||||
|
||||
if formdef.keywords:
|
||||
keywords = [x.strip() for x in formdef.keywords.split(',')]
|
||||
else:
|
||||
keywords = []
|
||||
|
||||
formdict = {'title': unicode(formdef.name, charset),
|
||||
'slug': formdef.url_name,
|
||||
'url': formdef.get_url(),
|
||||
'description': formdef.description or '',
|
||||
'keywords': keywords,
|
||||
'authentication_required': authentication_required}
|
||||
|
||||
formdict['redirection'] = bool(formdef.is_disabled() and
|
||||
|
|
Loading…
Reference in New Issue