567 |
567 |
assert carddef.data_class().select()[0].user is None
|
568 |
568 |
|
569 |
569 |
|
|
570 |
def test_create_carddata_map_fields_by_varname(two_pubs):
|
|
571 |
CardDef.wipe()
|
|
572 |
FormDef.wipe()
|
|
573 |
two_pubs.user_class.wipe()
|
|
574 |
|
|
575 |
carddef = CardDef()
|
|
576 |
carddef.name = 'My card'
|
|
577 |
carddef.fields = [
|
|
578 |
StringField(id='3', label='string', varname='foo'),
|
|
579 |
StringField(id='4', label='string', varname='bar'),
|
|
580 |
]
|
|
581 |
carddef.store()
|
|
582 |
carddef.data_class().wipe()
|
|
583 |
|
|
584 |
wf = Workflow(name='create-carddata')
|
|
585 |
wf.possible_status = Workflow.get_default_workflow().possible_status[:]
|
|
586 |
create = CreateCarddataWorkflowStatusItem()
|
|
587 |
create.label = 'Create CardDef'
|
|
588 |
create.varname = 'mycard'
|
|
589 |
create.id = '_create'
|
|
590 |
create.formdef_slug = carddef.url_name
|
|
591 |
create.map_fields_by_varname = True
|
|
592 |
create.parent = wf.possible_status[1]
|
|
593 |
wf.possible_status[1].items.insert(0, create)
|
|
594 |
wf.store()
|
|
595 |
|
|
596 |
formdef = FormDef()
|
|
597 |
formdef.name = 'source form'
|
|
598 |
formdef.fields = [
|
|
599 |
StringField(id='1', label='string', varname='foo'),
|
|
600 |
StringField(id='2', label='string', varname='xxx'),
|
|
601 |
]
|
|
602 |
formdef.workflow_id = wf.id
|
|
603 |
formdef.store()
|
|
604 |
|
|
605 |
formdata = formdef.data_class()()
|
|
606 |
formdata.data = {
|
|
607 |
'1': 'test1',
|
|
608 |
'2': 'test2',
|
|
609 |
}
|
|
610 |
formdata.just_created()
|
|
611 |
formdata.perform_workflow()
|
|
612 |
|
|
613 |
assert carddef.data_class().count() == 1
|
|
614 |
carddata = carddef.data_class().select()[0]
|
|
615 |
assert carddata.data.get('3') == 'test1'
|
|
616 |
assert not carddata.data.get('4')
|
|
617 |
|
|
618 |
|
570 |
619 |
def test_edit_carddata_with_data_sourced_object(pub):
|
571 |
620 |
FormDef.wipe()
|
572 |
621 |
CardDef.wipe()
|