72 |
72 |
cat = Category()
|
73 |
73 |
cat.name = 'Test %d' % i
|
74 |
74 |
cat.description = 'Hello world'
|
|
75 |
cat.position = 10-i # not using alphabetical order
|
75 |
76 |
cat.store()
|
76 |
77 |
cats.append(cat)
|
77 |
78 |
|
... | ... | |
139 |
140 |
code.id = 'CNPHNTFB'
|
140 |
141 |
code.formdata = formdata
|
141 |
142 |
|
142 |
|
# a private formdef
|
|
143 |
# private formdefs
|
143 |
144 |
role = Role(name='Blah')
|
144 |
145 |
role.store()
|
145 |
146 |
|
146 |
|
formdef = FormDef()
|
147 |
|
formdef.name = 'a private form'
|
148 |
|
formdef.category_id = cats[2].id
|
149 |
|
formdef.roles = [role.id]
|
150 |
|
formdef.backoffice_submission_roles = [role.id]
|
151 |
|
formdef.fields = []
|
152 |
|
formdef.store()
|
|
147 |
for i in range(4,0,-1): # not using aphabetical order
|
|
148 |
category_id = 2+i%2 # not ordered by categories
|
|
149 |
formdef = FormDef()
|
|
150 |
formdef.category_id = cats[category_id].id
|
|
151 |
formdef.name = 'private form %d (category %s)' % (i, formdef.category_id)
|
|
152 |
formdef.roles = [role.id]
|
|
153 |
formdef.backoffice_submission_roles = [role.id]
|
|
154 |
formdef.fields = []
|
|
155 |
formdef.store()
|
153 |
156 |
|
154 |
157 |
user2 = get_publisher().user_class() # agent
|
155 |
158 |
user2.name = 'foo2 bar2'
|
... | ... | |
259 |
262 |
form_class = cell.get_default_form_class()
|
260 |
263 |
form = form_class()
|
261 |
264 |
assert form.fields['formdef_reference'].widget.choices == [
|
262 |
|
(u'default:a-private-form', u'test : a private form'),
|
263 |
265 |
(u'default:a-second-form-title', u'test : a second form title'),
|
264 |
266 |
(u'default:form-title', u'test : form title'),
|
|
267 |
(u'default:private-form-1-category-4', u'test : private form 1 (category 4)'),
|
|
268 |
(u'default:private-form-2-category-3', u'test : private form 2 (category 3)'),
|
|
269 |
(u'default:private-form-3-category-4', u'test : private form 3 (category 4)'),
|
|
270 |
(u'default:private-form-4-category-3', u'test : private form 4 (category 3)'),
|
265 |
271 |
(u'default:third-form-title', u'test : third form title'),
|
266 |
|
(u'other:a-private-form', u'test2 : a private form'),
|
267 |
272 |
(u'other:a-second-form-title', u'test2 : a second form title'),
|
268 |
273 |
(u'other:form-title', u'test2 : form title'),
|
|
274 |
(u'other:private-form-1-category-4', u'test2 : private form 1 (category 4)'),
|
|
275 |
(u'other:private-form-2-category-3', u'test2 : private form 2 (category 3)'),
|
|
276 |
(u'other:private-form-3-category-4', u'test2 : private form 3 (category 4)'),
|
|
277 |
(u'other:private-form-4-category-3', u'test2 : private form 4 (category 3)'),
|
269 |
278 |
(u'other:third-form-title', u'test2 : third form title')]
|
270 |
279 |
|
271 |
280 |
|
... | ... | |
471 |
480 |
form = form_class()
|
472 |
481 |
assert form.fields['category_reference'].widget.choices == [
|
473 |
482 |
(u'default:test-3', u'test : Test 3'),
|
|
483 |
(u'default:test-4', u'test : Test 4'),
|
474 |
484 |
(u'default:test-9', u'test : Test 9'),
|
475 |
485 |
(u'other:test-3', u'test2 : Test 3'),
|
|
486 |
(u'other:test-4', u'test2 : Test 4'),
|
476 |
487 |
(u'other:test-9', u'test2 : Test 9')]
|
477 |
488 |
|
478 |
489 |
@wcs_present
|
... | ... | |
589 |
600 |
|
590 |
601 |
resp = app.get('/manage/pages/%s/' % page.id)
|
591 |
602 |
assert ('data-cell-reference="%s"' % cells[0].get_reference()) in resp.text
|
592 |
|
assert len(resp.form['c%s-categories' % cells[0].get_reference()].options) == 4
|
593 |
|
resp.form['c%s-categories' % cells[0].get_reference()].value = ['default:test-3', 'default:test-9']
|
|
603 |
assert len(resp.form['c%s-categories' % cells[0].get_reference()].options) == 6
|
|
604 |
resp.form['c%s-categories' % cells[0].get_reference()].value = [
|
|
605 |
'default:test-3', 'default:test-9']
|
594 |
606 |
resp = resp.form.submit().follow()
|
595 |
607 |
assert resp.form['c%s-categories' % cells[0].get_reference()].value == ['default:test-3', 'default:test-9']
|
596 |
608 |
|
... | ... | |
781 |
793 |
context['request'].user = MockUser2()
|
782 |
794 |
|
783 |
795 |
result = cell.render(context)
|
784 |
|
assert '/backoffice/submission/a-private-form/' in result
|
|
796 |
# wcs already return a flat ordered structure
|
|
797 |
site_formdefs = context['all_formdefs'].values()[0]
|
|
798 |
assert [x['title'] for x in site_formdefs['data']] == [
|
|
799 |
'private form 1 (category 4)', # category.order = 6
|
|
800 |
'private form 3 (category 4)',
|
|
801 |
'private form 2 (category 3)', # category.order = 7
|
|
802 |
'private form 4 (category 3)']
|
|
803 |
# cell grouped by categories using the same order policy
|
|
804 |
assert [c['grouper'] for c in
|
|
805 |
[c for c in site_formdefs['formdefs_by_category']]] == [
|
|
806 |
'Test 4', 'Test 3']
|
|
807 |
assert [x['title'] for x in
|
|
808 |
[f for f in
|
|
809 |
site_formdefs['formdefs_by_category'][0]['list']]] == [
|
|
810 |
'private form 1 (category 4)',
|
|
811 |
'private form 3 (category 4)']
|
|
812 |
assert [x['title'] for x in
|
|
813 |
[f for f in
|
|
814 |
site_formdefs['formdefs_by_category'][1]['list']]] == [
|
|
815 |
'private form 2 (category 3)',
|
|
816 |
'private form 4 (category 3)']
|
|
817 |
assert result.count('/backoffice/submission/private-form-') == 4
|
|
818 |
index = {}
|
|
819 |
for i in range(1, 5):
|
|
820 |
index['form%d' % i] = result.find('/private-form-%d' % i)
|
|
821 |
assert index['form1'] < index['form3'] < index['form2'] < index['form4']
|
785 |
|
-
|