コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
3277 ビュー

I have created a "assign" button in Helpdesk Module which on click opens a Maintenance Request form with some data from helpdesk. And the problem is that I've to save the request manually every time. What should I do to save the maintenance request automatically and not affecting the current method on button click.

Here's my python method for button. 

@api.multi
def on_assigned(self):
return {
'res_model': 'maintenance.request',
'type': 'ir.actions.act_window',
'context': {
'default_helpdesk_id': self.id,
'default_name': self.name,
},
'domain': [('customer_id', '=', self.customer_id)],
'view_mode': 'form',
'view_type': 'form',
'res_id': self.env['maintenance.request'].search([('helpdesk_id', '=', self.id)]).id,
'view_id': self.env.ref("maintenance.hr_equipment_request_view_form").id,
}

I just want to add the "Save" functionality on this button click. Any luck? 

アバター
破棄
最善の回答

Hi,

Here in the button click you are returning maintenance.request model with some default values inside the context, so for the record to be created you have to click the Save Button. As you need to create the record without clicking the save button, what you can do is that, create record in the maintenance.request model from code and return the created record id in the return.

@api.multi
def on_assigned(self):
vals = {
'helpdesk_id': self.id,
'name': self.name
}
# you can update above dictionary with other values and required fields
new_rec = self.env['maintenance.request'].create(vals)

return {
'name': _('Maintenance Request'),
'view_type': 'form',
'view_mode': 'form',
'view_id': self.env.ref("maintenance.hr_equipment_request_view_form").id,
'res_model': 'maintenance.request',
'domain': [('customer_id', '=', self.customer_id)],
'context': {
'default_helpdesk_id': self.id,
'default_name': self.name,
}, 'type': 'ir.actions.act_window',
'res_id': new_rec.id,
}

Thanks

アバター
破棄
著作者 最善の回答

Edited:

@niyas Raphy thanks for the help its working but it is showing the maintenance form. Can I redirect it back to previous form. How?

アバター
破棄

'target': 'new' remove it and try

関連投稿 返信 ビュー 活動
2
8月 20
5309
3
2月 24
4627
2
3月 22
5168
2
7月 24
2316
1
6月 24
4841