0001-backoffice-always-exclude-drafts-from-exports-and-st.patch
tests/test_backoffice_pages.py | ||
---|---|---|
119 | 119 |
formdata.jump_status('finished') |
120 | 120 |
formdata.store() |
121 | 121 | |
122 |
formdata = formdef.data_class()() |
|
123 |
formdata.data = {'1': 'XXX', '2': 'foo', '2_display': 'foo'} |
|
124 |
formdata.status = 'draft' |
|
125 |
formdata.store() |
|
126 | ||
122 | 127 |
formdef = FormDef() |
123 | 128 |
if set_receiver: |
124 | 129 |
formdef.workflow_roles = {'_receiver': 1} |
... | ... | |
1354 | 1359 |
formdef = FormDef.get_by_urlname('form-title') |
1355 | 1360 |
formdef.enable_tracking_codes = True |
1356 | 1361 |
formdef.store() |
1357 |
formdata, formdata2 = formdef.data_class().select()[:2] |
|
1362 |
formdata, formdata2 = formdef.data_class().select(order_by='id')[:2]
|
|
1358 | 1363 |
code = pub.tracking_code_class() |
1359 | 1364 |
code.formdata = formdata |
1360 | 1365 |
wcs/backoffice/management.py | ||
---|---|---|
1411 | 1411 |
applied_filters = ['wf-%s' % selected_filter] |
1412 | 1412 |
criterias.append(Or([Equal('status', x) for x in applied_filters])) |
1413 | 1413 |
criterias[-1]._label = criteria_label |
1414 |
displayed_criterias = criterias |
|
1415 |
else: |
|
1416 |
displayed_criterias = criterias |
|
1417 |
criterias = [NotEqual('status', 'draft')] + displayed_criterias |
|
1414 | 1418 | |
1415 | 1419 |
values = self.formdef.data_class().select(criterias) |
1416 | 1420 |
if get_publisher().is_using_postgresql(): |
... | ... | |
1419 | 1423 |
self.formdef.data_class().load_all_evolutions(values) |
1420 | 1424 | |
1421 | 1425 |
r += htmltext('<div id="statistics">') |
1422 |
if criterias: |
|
1426 |
if displayed_criterias:
|
|
1423 | 1427 |
r += htmltext('<div class="criterias bo-block">') |
1424 | 1428 |
r += htmltext('<h2>%s</h2>') % _('Filters') |
1425 | 1429 |
r += htmltext('<ul>') |
1426 |
for criteria in criterias: |
|
1430 |
for criteria in displayed_criterias:
|
|
1427 | 1431 |
criteria_label = getattr(criteria, '_label', None) |
1428 | 1432 |
if criteria_label: |
1429 | 1433 |
r += htmltext('<li>%s</li>') % criteria_label |
... | ... | |
1444 | 1448 |
r += htmltext('</div>') |
1445 | 1449 | |
1446 | 1450 |
excluded_fields = [] |
1447 |
for criteria in criterias: |
|
1451 |
for criteria in displayed_criterias:
|
|
1448 | 1452 |
if not isinstance(criteria, Equal): |
1449 | 1453 |
continue |
1450 | 1454 |
excluded_fields.append(criteria.attribute[1:]) |
wcs/forms/backoffice.py | ||
---|---|---|
135 | 135 |
formdata_class = self.formdef.data_class() |
136 | 136 |
if selected_filter == 'all': |
137 | 137 |
item_ids = formdata_class.keys() |
138 |
drafts = formdata_class.get_ids_with_indexed_value('status', 'draft') |
|
139 |
item_ids = [x for x in item_ids if x not in drafts] |
|
138 | 140 |
else: |
139 | 141 |
applied_filters = [] |
140 | 142 |
if selected_filter == 'pending': |
... | ... | |
205 | 207 |
url_action = '' |
206 | 208 |
root_url = get_publisher().get_root_url() |
207 | 209 |
for i, filled in enumerate(items): |
208 |
if filled.is_draft(): # skipping drafts |
|
209 |
continue |
|
210 | 210 |
if i%2: |
211 | 211 |
style = 'even' |
212 | 212 |
else: |
213 |
- |