diff --git a/controllers/booking.py b/controllers/booking.py index 3f8e4c2..72ba4c0 100644 --- a/controllers/booking.py +++ b/controllers/booking.py @@ -40,22 +40,16 @@ class booking(WebsiteEventController,AuthSignupHome): data['event']=event - #status - # category_ids=partner.category_id - # data['status']='standard' - # if category_ids: - # for c in category_ids: - # category=request.env['event.partner_category'].sudo().search([('partner_category_id','=',c.id)]) - - # #category=request.env['res.partner.category'].search([('id','=',c.id)]) - # if category:data['status']=category.status + data['status']=partner.member_status - if data['status']=='not member':data['status']='standard' + 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 data['status']=='standard':data['price']=event.booking_price - if data['status']=='member':data['price']=event.booking_member_price - if data['status']=='super member':data['price']=event.booking_super_member_price + if partner.member_status=='not member':data['price']=event.booking_price + if partner.member_status=='member':data['price']=event.booking_member_price + if partner.member_status=='super member':data['price']=event.booking_super_member_price #membership product membership_product=request.env['event.membership_product'].sudo().search([]) @@ -67,10 +61,9 @@ class booking(WebsiteEventController,AuthSignupHome): if opt.booking_option_id==membership_product.membership_product_id: - if data['status']!='member' and data['status']!='super member':data['options'].append(opt) + if partner.member_status!='member' and partner.member_status!='super member':data['options'].append(opt) else:data['options'].append(opt) - #data['options']=event.booking_option_ids #questions diff --git a/controllers/kalachakra.py b/controllers/kalachakra.py index c6e781f..3fe9356 100644 --- a/controllers/kalachakra.py +++ b/controllers/kalachakra.py @@ -94,12 +94,6 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): domain.append(('balance', '>', 0.0)) payments_widget_vals['title'] = _('Outstanding debits') - # lines=request.env['account.move.line'].search(domain) - # if not lines: - - - # return json.dumps(domain) - result="currency_id="+str(move.currency_id)+'' result=result+"is_invoice="+str(move.is_invoice())+'' @@ -189,45 +183,56 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): data['status']=partner.member_status - if data['status']=='not member':data['status']='standard' - + 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' - request.session['status']=data['status'] + request.session['status']=partner.member_status return http.request.render('kalachakra.registration_step1',data) + @http.route(['/event/registration/step2'], type='http', auth='user', website=True, sitemap=False,csrf=False) def event_registration_step2(self,**post): data={} + partner=request.env['res.partner'].sudo().search([('id','=',int(request.session['partner_id']))]) event=request.env['event.event'].sudo().search([('id','=',request.session['event_id'])]) data['event']=event + data['online']=False - if post.get('online')=='yes':data['online']=True + data['partner']=partner + if event.online_event: + if post.get('online')=='yes':data['online']=True data['status']=request.session['status'] data['price']='' - if data['status']=='standard':data['participation_amount']=int(event.participation_standard_price) - if data['status']=='member':data['participation_amount']=int(event.participation_member_price) - if data['status']=='super member':data['participation_amount']=int(event.participation_super_member_price) - + if partner.member_status=='not member':data['participation_amount']=int(event.participation_standard_price) + if partner.member_status=='member':data['participation_amount']=int(event.participation_member_price) + if partner.member_status=='super member':data['participation_amount']=int(event.participation_super_member_price) + membership_product=request.env['product.product'].sudo().search([('membership_product','=',True)],limit=1) if not membership_product: raise UserError(_('No membership product, please add one')) data['membership_amount']=membership_product.list_price data['membership_and_participation_amount']=data['membership_amount']+data['participation_amount'] - + #enregistrement de l'inscription si pas déjà inscrit : res=request.env['event.registration'].sudo().search([('event_id','=',int(request.session['event_id'])),('partner_id','=',int(request.session['partner_id']))],limit=1) data['already_registered']=True data['payment_status']=res.payment_status + + if not res: data['already_registered']=False vals={} vals['event_id']=request.session['event_id'] vals['partner_id']=request.session['partner_id'] - vals['online']=post.get('online') + if event.online_event: + vals['online']=post.get('online') + else: + vals['online']=False vals['state']='open' res=request.env['event.registration'].sudo().create(vals) @@ -238,7 +243,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): request.session['res_id']=res.id #inscription à la newsletter attachée à l'événement - partner=request.env['res.partner'].sudo().search([('id','=',int(request.session['partner_id']))]) + mailing_contact=request.env['mailing.contact'].sudo().search([('email','=',partner.email)]) if not mailing_contact: vals={} @@ -280,7 +285,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): if type=='participation': res=request.env['event.registration'].sudo().search([('id','=',request.session['res_id'])]) invoice_id=res.invoice_id - invoice=request.env['account.move'].sudo().search([('id','=',int(invoice_id))]).unlink() + invoice=request.env['account.move'].sudo().search([('id','=',int(invoice_id))]) invoice.state='posted' #redirection sur la page de paiement de la facture : url="/my/invoices/"+str(int(res.invoice_id)) diff --git a/models/event.py b/models/event.py index c6a31dc..d95b2fb 100644 --- a/models/event.py +++ b/models/event.py @@ -84,14 +84,15 @@ class KalachakraEvent(models.Model): end_date_event=rec.date_end+timedelta(days=d) while start_date_event<=rec.end_generation_date: - - #avant de dupliquer l'événement on regarde si celui-ci n'a pas déjà été crée ! - evt=self.env['event.event'].search([('date_begin','=',start_date_event),('parent_event_id','=', int(self.id))]) - if evt: raise Warning('action cancelled: event already generated with this date :'+ str(start_date_event)) - - dup=self._create_event(rec,start_date_event,end_date_event) - - dup.add_event_to_google_agenda() + + if not start_date_event.weekday() in (5,6): + #avant de dupliquer l'événement on regarde si celui-ci n'a pas déjà été crée ! + evt=self.env['event.event'].search([('date_begin','=',start_date_event),('parent_event_id','=', int(self.id))]) + if evt: raise Warning('action cancelled: event already generated with this date :'+ str(start_date_event)) + + dup=self._create_event(rec,start_date_event,end_date_event) + + dup.add_event_to_google_agenda() end_date_event=end_date_event+timedelta(days=d) start_date_event=start_date_event+timedelta(days=d) diff --git a/static/js/booking.js b/static/js/booking.js index 39beddc..46b5bbe 100644 --- a/static/js/booking.js +++ b/static/js/booking.js @@ -15,13 +15,14 @@ odoo.define('booking.main', function (require) { if (this.value=='have medical concern') { + $('#medical_info').show() $("medical_info_div").addClass("s_website_form_required"); $("medical_information").prop('required',true); } else { - $('#medical__info').hide() + $('#medical_info').hide() $("medical_info_div").removeClass("s_website_form_required"); $("medical_information").prop('required',false); } @@ -42,13 +43,13 @@ odoo.define('booking.main', function (require) { if(this.value==$("#membership_product").val() && this.checked) { - if ($("#status").val()=='standard') {$("#status2").val('member')} + if ($("#status").val()=='not member') {$("#status2").val('member')} } if(this.value==$("#membership_product").val() && this.checked==false) { - if ($("#status").val()=='standard'){$("#status2").val('standard')} + if ($("#status").val()=='not member'){$("#status2").val('not member')} } @@ -56,9 +57,9 @@ odoo.define('booking.main', function (require) { //recalcul du prix total - if ($("#status2").val()=='standard') + if ($("#status2").val()=='not member') { - $("#your_status").text('standard') + $("#your_status").text('not member') $("#price_of_the_stay").text($("#booking_price").val()+' €') $("#total_price").val($("#booking_price").val()) diff --git a/views/booking_website_registration.xml b/views/booking_website_registration.xml index 6c55154..f2a6b14 100644 --- a/views/booking_website_registration.xml +++ b/views/booking_website_registration.xml @@ -31,7 +31,7 @@ - + diff --git a/views/event_templates_page_registration.xml b/views/event_templates_page_registration.xml index 52989f3..84c7318 100644 --- a/views/event_templates_page_registration.xml +++ b/views/event_templates_page_registration.xml @@ -9,7 +9,12 @@ + Register + + +Register + (only available) diff --git a/views/website_event_registration.xml b/views/website_event_registration.xml index ec5aeb7..a8c1ac0 100644 --- a/views/website_event_registration.xml +++ b/views/website_event_registration.xml @@ -26,9 +26,9 @@ Your status : - Non adhérent - Adhérent - Adhérent de soutien + Non adhérent + Adhérent + Adhérent de soutien @@ -95,9 +95,9 @@ Your status : - Non adhérent - Adhérent - Adhérent de soutien + Non adhérent + Adhérent + Adhérent de soutien @@ -142,20 +142,20 @@ - + If you want to be a member, click here : Become a member - + If you want to be a super member, click here : Become a super member - + - + The amount of the contribution is : € @@ -164,7 +164,7 @@ - + If you want to become a member for one year and pay the participation, the amount is : € @@ -173,18 +173,18 @@ - + If you want to be a super member, click here : Become a super member - I will pay the participation on the spot + If you want pay on the spot, click here : I will pay the participation on the spot - + To stay informed I subscribe to the newsletter of the center @@ -194,7 +194,7 @@ - +