Hello. We have created a wizard to create some new records from sale order. I am trying to load default values on the wizard, but it's not working. I have tried the following:
- setting default values in the python fields declaration
- adding force_save to the fields when they are readonly
- passing the default values to the context of the wizard with default_field_name
- overriding the 'default_get' method of the wizard to check the dict it returns. The values are inside the res dict but they still don't appear when I load the wizard.
Can anyone help me figure this out?
#in parent model record
def action_create(self):
return {
'name':'Create Task',
'res_model': 'sh.task.wizard',
'view_mode':'form',
'context': {
'default_type': 'study',
'default_scheduling_mode': 'FixedEffort',
'default_effort_driven': True,
'default_auto_scheduling': True,
'default_proj_user_id': self._uid,
'default_so_id': self.id
},
'view_id':self.env.ref('sh_so_task.sh_task_wizard').id,
'target':'new',
'type':'ir.actions.act_window'
}
#in the transient model record
class ShMessageWizard(models.TransientModel):
_name = "sh.task.wizard"
_description = "Wizard To Ask Create Or Edit"
task_selection = fields.Selection([('create_new','Create New Task'),('create_edit','Create Or Update Task')],string="Task Type")
project_selection = fields.Selection([('create','Create New Project'),('edit','Update Existing Project')], default='create', string="Project Type")
so_id = fields.Many2one('sale.order', string="Parent SO")
so_partner = fields.Many2one('res.partner', related="so_id.partner_id", string="SO Customer")
new_project = fields.Boolean("Create New Project", compute='compute_new_project')
project_id = fields.Many2one('project.project', string="Project to edit")
project_name = fields.Char(string="Project Name")
task_ids = fields.Many2many('sale.order.line.task', string="Tasks")
type = fields.Selection([('study', 'Study'),('construction', 'Construction')], default='study', string='Project type')
scheduling_mode = fields.Selection([
('Normal', 'Normal'),
('FixedDuration', 'Fixed Duration'),
('FixedEffort', 'Fixed Effort'),
('FixedUnits', 'Fixed Units')
], string='Scheduling Mode', default='FixedEffort')
effort_driven = fields.Boolean(string="Effort driven", default=True, help="New tasks will be effort driven by default")
auto_scheduling = fields.Boolean('Auto scheduling', default=True)
proj_user_id = fields.Many2one('res.users', string='Project Manager', ondelete='cascade', default=lambda self: self.env.user, help="User to be put in charge of the project")
task_user_id = fields.Many2one('res.users', string='Task user', ondelete='cascade', default=lambda self: self.env.user, help="User to assign all new tasks to")
....
XML view for wizard:
sh.task.wizard
sh.task.wizard
Create New Project - It will create new project everytime
Update Existing Project - It will add tasks to existing project
Does anyone have any ideas? Thanks a lot.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
You can use default_get method
@api.model
def default_get(self, fields):
result = super(YOUMODULE, self).default_get(fields)
#SET THE DEFAULT VALUES TO FIELDS.
result.update({'Field_name': Set Value from Context , 'field_name2': self.env.context.get('Field_name2')})
return result
Im having the same problem, did you find any solution?
not working unfortunately I have tried it.
- overriding the 'default_get' method of the wizard to check the dict it returns. The values are inside the res dict but they still don't appear when I load the wizard.
Could you please post your default_get method code?
@api.model
def default_get(self, fields):
result = super(ShMessageWizard, self).default_get(fields
result.update({'type': 'study', 'scheduling_mode': self.env.context.get('scheduling_mode'), effort_driven': True})
return result
I tried it with some of the values to see if it works and it still doesn't. If you print the result dict, all the values are there.
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
3月 24
|
2758 | ||
|
1
12月 22
|
3251 | ||
What is wizard ?
已解决
|
|
3
11月 23
|
32103 | |
|
4
7月 25
|
4819 | ||
|
2
12月 23
|
17577 |