0001-admin-don-t-lose-drafts-when-assigning-a-new-workflo.patch
tests/test_admin_pages.py | ||
---|---|---|
415 | 415 | |
416 | 416 |
data_class = formdef.data_class() |
417 | 417 |
data_class.wipe() |
418 |
formdata = data_class() |
|
419 |
formdata.status = 'wf-new' |
|
420 |
formdata.store() |
|
418 |
formdata1 = data_class() |
|
419 |
formdata1.status = 'wf-new' |
|
420 |
formdata1.store() |
|
421 | ||
422 |
formdata2 = data_class() |
|
423 |
formdata2.status = 'draft' |
|
424 |
formdata2.store() |
|
421 | 425 | |
422 | 426 |
Workflow.wipe() |
423 | 427 |
workflow = Workflow(name='Workflow One') |
... | ... | |
438 | 442 |
assert resp.forms[0]['mapping-%s' % status.id] |
439 | 443 |
# there's only one possible new status |
440 | 444 |
assert len(resp.forms[0]['mapping-just_submitted'].options) == 1 |
441 |
assert data_class.get(1).status == 'wf-new' |
|
445 |
assert data_class.get(formdata1.id).status == 'wf-new' |
|
446 |
assert data_class.get(formdata2.id).status == 'draft' |
|
442 | 447 |
resp = resp.forms[0].submit() |
443 |
assert data_class.get(1).status == 'wf-finished' |
|
448 |
assert data_class.get(formdata1.id).status == 'wf-finished' |
|
449 |
assert data_class.get(formdata2.id).status == 'draft' |
|
444 | 450 | |
445 | 451 |
def test_form_workflow_role(pub): |
446 | 452 |
create_superuser(pub) |
wcs/admin/forms.py | ||
---|---|---|
728 | 728 |
return redirect('.') |
729 | 729 | |
730 | 730 |
def workflow_status_remapping_submit(self, form): |
731 |
status_mapping = {'wf-draft': 'wf-draft'}
|
|
731 |
status_mapping = {'wf-draft': 'draft', 'draft': 'draft'}
|
|
732 | 732 |
for status in self.formdef.workflow.possible_status: |
733 | 733 |
status_mapping['wf-%s' % status.id] = 'wf-%s' % \ |
734 | 734 |
form.get_widget('mapping-%s' % status.id).parse() |
735 |
- |