api: add keywords and description to formdefs API (#8282)

This commit is contained in:
Frédéric Péters 2015-09-18 15:43:22 +02:00
parent 96f7d8c7bd
commit 21cfacc69a
4 changed files with 17 additions and 1 deletions

View File

@ -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>

View File

@ -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()

View File

@ -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):

View File

@ -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