I have a class as below:
lass ProjectPeriod(ModelSQL, ModelView):
"Project Period"
__name__ = "afx.project.period"
_rec_name = 'ref_doc'
And I have a wizard class as below:
class ProjectMemberWizardForm(ModelView):
'Project Member Form'
__name__ = 'afx.project.member.wizard.form'
proj_id = fields.Integer('Project ID')
proj_phase = fields.Char('Project Phase')
period = fields.Many2One('afx.project.period', "Period", required=True,
domain=[
('project', '=', Eval('proj_id', None)),
('proj_phase', '=', Eval('proj_phase', None)),
],
)
mode = fields.Selection([
('NEW_MEMBER', 'Add New Member'),
('REPLACEMENT', 'Add Replacement'),
], 'Mode', required=True)
@fields.depends('period')
def on_change_period(self):
logger.info('='*50)
if self.period:
logger.info(f'>>>>>>>>>>>>>>>>> PERIOD: {self.period.id}')
logger.info('='*50)
class ProjectMemberWizard(Wizard):
'Project Member Wizard'
__name__ = 'afx.project.member.wizard'
start_state = 'start'
start = StateView(
'afx.project.member.wizard.form',
'afx_project.project_member_wizard_view_form',
[
Button('Cancel', 'end', 'tryton-cancel'),
Button('Add', 'generate', 'tryton-ok', default=True),
]
)
generate = StateTransition()
def default_start(self, fields):
logger.info('='*50)
logger.info(f'>>>>>>>>>>>> FIELDS {fields}')
projects = self.records
if projects:
project = projects[0]
logger.info('='*50)
return {
'proj_phase': project.proj_phase,
'proj_id': project.id,
}
else:
logger.info('='*50)
raise UserError('Project not found!')
def transition_generate(self):
logger.info('')
return 'end'
My xml form for the wizard as below:
<form>
<label name="period"/>
<field name="period"/>
<newline/>
<label name="mode"/>
<field name="mode"/>
</form>
After selecting a Period, the period field shows a blank like below:
What did I do wrong at my code?.. why the selected Period _rec_name not appears?
I do logging on on_change_period method, and I can see the ID of selected Period.
This is not happening in a normal form.. only at Wizard form
This empty or blank makes the form cannot be process further, the error is like below:
I really need help. Thank you
Bromo

