Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
6109 Zobrazení

I have created a button in the module, i want users to be registered using the button. I have used self.ensure_one (), but it does not seem to be working (Users are able to register multiple times using the button, the same record is being generated multiple times). Here is the code for that, Please let me know the correction.

@ api.multi 
def action_generate_event_registration (self, event): 
"" "Generate an event registration." "" 
self.ensure_one () 
partner_id = event.pop ('partner_id', self.env.user.partner_id) 
er = self. env ["event.registration"] 
for s in self: 
s.event_registration_id = er.create ({
"event_id": s.id,
"partner_id": partner_id.id, 
"name": event.get ('name', partner_id.name), 
"email": event.get ('email', partner_id.email), 
"phone": event.get ('phone', partner_id.phone)
})        ​
Avatar
Zrušit
Nejlepší odpověď


self.ensure_one ()  ensures that theres only one record in recordset
Avatar
Zrušit

in self u have only one record set from that buttons model of current record

use different logic

please check the documentation for ensure one

https://www.odoo.com/documentation/8.0/reference/orm.html

Really helpful !!!

Thanks

Related Posts Odpovědi Zobrazení Aktivita
0
zář 21
5648
0
lis 19
3319
0
srp 19
3578
7
srp 20
35759
0
pro 19
2657