diff --git a/controllers/booking.py b/controllers/booking.py index 72ba4c0..1ed9850 100644 --- a/controllers/booking.py +++ b/controllers/booking.py @@ -45,6 +45,7 @@ class booking(WebsiteEventController,AuthSignupHome): if data['status']=='not member':data['status']='non adhérent' if data['status']=='member':data['status']='adhérent' if data['status']=='super member':data['status']='adhérent de soutien' + #prix data['price']='' if partner.member_status=='not member':data['price']=event.booking_price @@ -52,14 +53,15 @@ class booking(WebsiteEventController,AuthSignupHome): if partner.member_status=='super member':data['price']=event.booking_super_member_price #membership product - membership_product=request.env['event.membership_product'].sudo().search([]) + #membership_product=request.env['event.membership_product'].sudo().search([]) + membership_product=request.env['product.product'].sudo().search([('membership_product','=',True)],limit=1) if not membership_product: raise Warning('no membership product find') data['membership_product']=membership_product #options data['options']=[] for opt in event.booking_option_ids: - if opt.booking_option_id==membership_product.membership_product_id: + if opt.booking_option_id==membership_product.id: if partner.member_status!='member' and partner.member_status!='super member':data['options'].append(opt) else:data['options'].append(opt) @@ -70,7 +72,7 @@ class booking(WebsiteEventController,AuthSignupHome): data['questions']=event.question_ids - + return http.request.render('kalachakra.booking_registration_options_form',data) @http.route(['/booking/registration/questionnaire'], type='http', auth='user', website=True, sitemap=False,csrf=False) @@ -78,6 +80,13 @@ class booking(WebsiteEventController,AuthSignupHome): vals={} data={} + #gestion du retour page précédente depuis page de paiement : on supprime les éléments générés ( don , adhésion) + if not post.get('nb_o'): + invoice=request.env['account.move'].sudo().search([("id","=",int(request.session['invoice_id']))]) + invoice.state='draft' + invoice.unlink() + return request.redirect('/booking/registration/options?event_id='+str(request.session['event_id'])) + vals['event_id']=post.get('event_id') vals['name']=post.get('name') vals['phone']=post.get('phone') @@ -183,7 +192,7 @@ class booking(WebsiteEventController,AuthSignupHome): i=i+1 invoice=request.env['event.registration'].sudo().action_event_registration_generate_invoice(request.session['res_id']) - + request.session['invoice_id']=invoice.id #redirection sur la page de paiement de la facture : url="/my/invoices/"+str(invoice.id)#+"?access_token="+str(invoice.access_token) diff --git a/controllers/kalachakra.py b/controllers/kalachakra.py index 7b99e89..db9c898 100644 --- a/controllers/kalachakra.py +++ b/controllers/kalachakra.py @@ -9,7 +9,6 @@ from dateutil.relativedelta import relativedelta from odoo.exceptions import UserError from odoo.addons.website_event.controllers.main import WebsiteEventController from odoo.addons.payment.controllers.portal import PaymentProcessing -#from odoo.addons.auth_signup.controllers.main import AuthSignupHome from odoo.addons.sale.controllers.portal import CustomerPortal from odoo.addons.portal.controllers.portal import pager as portal_pager, get_records_pager import json diff --git a/models/booking_event_registration.py b/models/booking_event_registration.py index 352acb0..e991e14 100644 --- a/models/booking_event_registration.py +++ b/models/booking_event_registration.py @@ -81,11 +81,11 @@ class EventRegistration(models.Model): balance_invoice_state=fields.Selection(related='balance_invoice_id.payment_state') - invoice_id=fields.Many2one('account.move', readonly=True) + invoice_id=fields.Many2one('account.move', readonly=True, ondelete="cascade") #invoice_state=fields.Selection(related='invoice_id.state') - down_payment_invoice_id=fields.Many2one('account.move') + down_payment_invoice_id=fields.Many2one('account.move', ondelete="cascade") #down_payment_invoice_state=fields.Selection(related='down_payment_order_id.state') - balance_invoice_id=fields.Many2one('account.move') + balance_invoice_id=fields.Many2one('account.move' ,ondelete="cascade") #balance_invoice_state=fields.Selection(related='balance_order_id.state') @@ -390,7 +390,9 @@ class EventRegistration(models.Model): #Prix à appliquer au produit si paiement de l'adhésion membership_option=False - membership_product=self.env['event.membership_product'].search([]) + #membership_product=self.env['event.membership_product'].search([]) + membership_product=self.env['product.product'].sudo().search([('membership_product','=',True)],limit=1) + if membership_product: if selected_registrant_options: for opt in selected_registrant_options: @@ -471,7 +473,7 @@ class EventRegistration(models.Model): prd=self.env['product.product'].search([('id','=',int(option.booking_option_id.id))]) #prix à appliquer aux options en fonction du statut ou de la présence de l'option d'adhesion - event_option=self.env['booking.option'].search(['&',('event_id','=',int(reg.event_id)),('booking_option_id','=',int(option.booking_option_id.id))]) + event_option=self.env['booking.option'].search(['&',('event_id','=',int(reg.event_id)),('booking_option_id','=',int(option.booking_option_id.id))],limit=1) if event_option: if status=="super member":price_unit=event_option.booking_option_super_member_price diff --git a/static/js/booking.js b/static/js/booking.js index 46b5bbe..03ef346 100644 --- a/static/js/booking.js +++ b/static/js/booking.js @@ -59,20 +59,20 @@ odoo.define('booking.main', function (require) { //recalcul du prix total if ($("#status2").val()=='not member') { - $("#your_status").text('not member') + $("#your_status").text('non adhérent') $("#price_of_the_stay").text($("#booking_price").val()+' €') $("#total_price").val($("#booking_price").val()) } if ($("#status2").val()=='member') { - $("#your_status").text('member') + $("#your_status").text('adhérent') $("#price_of_the_stay").text($("#booking_member_price").val()+' €') $("#total_price").val($("#booking_member_price").val()) } if ($("#status2").val()=='super member') { - $("#your_status").text('super member') + $("#your_status").text('Adhérent de soutien') $("#price_of_the_stay").text($("#booking_super_member_price").val()+' €') $("#total_price").val($("#booking_super_member_price").val()) } @@ -92,7 +92,8 @@ odoo.define('booking.main', function (require) { option_price=$(option_price_str).val() - + if (!option_price) option_price=0 + //console.log(option_price_str+'='+option_price) total_price=$("#total_price").val() if(this.checked) { diff --git a/static/src/css/kalachakra.css b/static/src/css/kalachakra.css new file mode 100644 index 0000000..cba17d1 --- /dev/null +++ b/static/src/css/kalachakra.css @@ -0,0 +1,4 @@ +.header{ + position:sticky; + top: 0 ; +} \ No newline at end of file diff --git a/views/booking_event.xml b/views/booking_event.xml index 50ab0b6..af035c1 100644 --- a/views/booking_event.xml +++ b/views/booking_event.xml @@ -1,7 +1,7 @@ - + - + event.type.view.form.inherit.booking @@ -131,25 +131,25 @@ - + - + - + - + \ No newline at end of file diff --git a/views/booking_event_templates_list.xml b/views/booking_event_templates_list.xml index d9a25c7..4e6c1d2 100644 --- a/views/booking_event_templates_list.xml +++ b/views/booking_event_templates_list.xml @@ -1,6 +1,7 @@ + diff --git a/views/booking_room.xml b/views/booking_room.xml index c25fe0d..57c3f66 100644 --- a/views/booking_room.xml +++ b/views/booking_room.xml @@ -12,12 +12,30 @@ - + + + booking_room form + booking.room + + + + + + + + + + + + + + + Rooms booking.room diff --git a/views/booking_website_registration.xml b/views/booking_website_registration.xml index ff34e1e..290f1ef 100644 --- a/views/booking_website_registration.xml +++ b/views/booking_website_registration.xml @@ -6,6 +6,9 @@ + + + @@ -14,14 +17,32 @@ - Registering to : + Registering to : + From to Your status : - Price of the stay : + + + + + + + Total Price : + + Do you want to pay only the deposit + + + + + + + + Please select your booking options : + @@ -33,16 +54,16 @@ - + - Selection - Option - Standard price - Member price - Super member price + Selection + Option + Standard price + Member price + Super member price @@ -63,23 +84,11 @@ - - - - Total Price : - - Do you want to pay only the deposit - - - - - - - + Participant : - + Name @@ -90,7 +99,7 @@ - + First name @@ -101,7 +110,7 @@ - + Age @@ -127,7 +136,7 @@ - + Phone @@ -138,7 +147,7 @@ - + Mobile @@ -149,7 +158,7 @@ - + email @@ -180,13 +189,13 @@ Health quiz - + Medical concern * - + diff --git a/views/event_templates_list.xml b/views/event_templates_list.xml index 0d15f45..ccff030 100644 --- a/views/event_templates_list.xml +++ b/views/event_templates_list.xml @@ -1,27 +1,47 @@ - + + + +