gestion des demandes d'évolution pour le centre kalachakra non géré dans les module booking et opendons
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

39 lines
1.9 KiB

from odoo import models, fields, api
class SaleOrder(models.Model):
_inherit = 'sale.order'
def write(self,vals):
res = super(SaleOrder, self).write(vals)
if self.state=='sale':
#on recherche si le devis est lié à une booking inscription
event_registration=self.env['event.registration'].search(['|','|',('order_id','=',int(self.id)),('down_payment_order_id','=',int(self.id)),('balance_order_id','=',int(self.id))])
#event_registration=self.env['event.registration'].search([('order_id','=',int(self.id))])
if event_registration:
if event_registration.payment_status=='paid':
amount=0
for option in event_registration.option_ids:
prd=self.env['product.product'].search([('id','=',int(option.booking_option_id)),('donation','=',True)])
if prd:
#au niveau de l'événement,on recherche le montant du don en fonction du statut:
booking_option=self.env['booking.option'].search([('event_id','=',int(event_registration.event_id)),('booking_option_id','=',int(option.booking_option_id))])
if booking_option:
if event_registration.partner_id.member_status=='not member' : amount=booking_option.booking_option_price
if event_registration.partner_id.member_status=='member': amount=booking_option.booking_option_member_price
if event_registration.partner_id.member_status=='super member': amount=booking_option.booking_option_super_member_price
self.env['event.registration'].create_donation(event_registration.id,event_registration.partner_id,option.booking_option_id,amount)