Se rendre au contenu
Menu
Cette question a été signalée
2 Réponses
3275 Vues

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? 

Avatar
Ignorer
Meilleure réponse

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

Avatar
Ignorer
Auteur Meilleure réponse

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?

Avatar
Ignorer

'target': 'new' remove it and try

Publications associées Réponses Vues Activité
2
août 20
5307
3
févr. 24
4627
2
mars 22
5166
2
juil. 24
2312
1
juin 24
4838