formdata: publish category variables in lazy mode (#30442)
This commit is contained in:
parent
c3c0d5745c
commit
1bdb38ad5f
|
@ -11,6 +11,7 @@ from qommon.template import Template
|
|||
from qommon.form import PicklableUpload
|
||||
from wcs.qommon.http_request import HTTPRequest
|
||||
from wcs import fields, formdef
|
||||
from wcs.categories import Category
|
||||
from wcs.conditions import Condition
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.formdata import Evolution
|
||||
|
@ -42,12 +43,17 @@ def pub(request):
|
|||
pub.write_cfg()
|
||||
|
||||
FormDef.wipe()
|
||||
Category.wipe()
|
||||
|
||||
cat = Category(name='test category')
|
||||
cat.store()
|
||||
|
||||
global formdef
|
||||
formdef = FormDef()
|
||||
formdef.name = 'foobar'
|
||||
formdef.url_name = 'foobar'
|
||||
formdef.fields = []
|
||||
formdef.category_id = cat.id
|
||||
formdef.store()
|
||||
|
||||
return pub
|
||||
|
@ -63,6 +69,7 @@ def test_basic(pub):
|
|||
assert substvars.get('form_status') == 'Unknown'
|
||||
assert substvars.get('form_name') == 'foobar'
|
||||
assert substvars.get('form_slug') == 'foobar'
|
||||
assert substvars.get('category_name') == 'test category'
|
||||
|
||||
def test_saved(pub):
|
||||
formdef.data_class().wipe()
|
||||
|
|
|
@ -783,6 +783,8 @@ class FormData(StorableObject):
|
|||
'form': LazyFormData(self),
|
||||
'attachments': AttachmentsSubstitutionProxy(self),
|
||||
})
|
||||
if self.formdef.category:
|
||||
variables.update(self.formdef.category.get_substitution_variables(minimal=minimal))
|
||||
if minimal:
|
||||
return variables
|
||||
|
||||
|
|
Loading…
Reference in New Issue