diff --git a/__manifest__.py b/__manifest__.py
index e9cbcde..cfe54cc 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -66,6 +66,7 @@
'views/website_templates.xml',
'views/media.xml',
'views/asset.xml',
+ 'views/payment_transaction.xml'
#'views/payment_views.xml'
diff --git a/controllers/booking.py b/controllers/booking.py
index 42c3786..b989d13 100644
--- a/controllers/booking.py
+++ b/controllers/booking.py
@@ -196,6 +196,7 @@ class booking(WebsiteEventController,AuthSignupHome):
i=i+1
#options
+ membership=False
#suppression des options de la personne inscrite
request.env['event.registration_option'].sudo().search([('event_registration_id','=',int(res.id))]).unlink()
if request.session['nb_o']!=0 :
@@ -208,6 +209,11 @@ class booking(WebsiteEventController,AuthSignupHome):
vals3['booking_option_id']=int(request.session['options'][i])
vals3['event_registration_id']=res.id
#ajout des options
+
+ #Si option d'adhesion on prepare la creation de l'adhesion
+ membership_product=request.env['product.product'].sudo().search([('membership_product','=',True)],limit=1)
+ if membership_product.id==int(vals3['booking_option_id']):membership=True
+
res3=request.env['event.registration_option'].sudo().create(vals3)
@@ -218,53 +224,22 @@ class booking(WebsiteEventController,AuthSignupHome):
request.session['invoice_id']=invoice.id
#ajout de l'adhésion
- 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'))
- vals={}
- vals['invoice_id']=int(invoice.id)
- vals['partner_id']=int(res.partner_id)
- vals['product_id']=int(membership_product.id)
- vals['start_date']=datetime.now()
- vals['end_date']=datetime.now()+relativedelta(years=1)
- vals['amount']=membership_product.list_price
- membership=request.env['kalachakra.membership'].sudo().create(vals)
+ if membership:
+ 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'))
+ vals={}
+ vals['invoice_id']=int(invoice.id)
+ vals['partner_id']=int(res.partner_id)
+ vals['product_id']=int(membership_product.id)
+ vals['start_date']=datetime.now()
+ vals['end_date']=datetime.now()+relativedelta(years=1)
+ vals['amount']=membership_product.list_price
+ membership=request.env['kalachakra.membership'].sudo().create(vals)
#redirection sur la page de paiement de la facture :
url="/my/invoices/"+str(invoice.id)#+"?access_token="+str(invoice.access_token)
return request.redirect(url)
- # #création du devis pour la transaction
- # order_id=request.env['event.registration'].sudo().action_event_registration_generate_order(res.id)
-
- # order=request.env['sale.order'].sudo().search([("id","=",int(order_id))])
-
- # data={}
- # data['submit_txt']='Pay now'
-
- # data['success_url']='/booking/payment/success'
- # data['error_url']='/booking/payment/error'
- # data['acquirers'] = list(request.env['payment.acquirer'].search([
- # ('state', 'in', ['enabled', 'test']),
- # ('company_id', '=', request.env.company.id)
- # ]))
-
-
-
- # userid=request.env.context.get('uid')
- # user=request.env['res.users'].search([('id','=',int(userid))])
- # partner=request.env['res.partner'].sudo().search([('id','=',int(user.partner_id))])
- # request.session['partner_id']=int(partner.id)
-
- # payment_tokens = partner.payment_token_ids
- # payment_tokens |= partner.commercial_partner_id.sudo().payment_token_ids
-
- # data['payment_tokens']=payment_tokens
- # data['order_id']=order_id
-
-
- # return http.request.render('kalachakra.booking_payment_choice_form',data)
-
-
@http.route(['/booking/payment/transaction/',
diff --git a/models/membership.py b/models/membership.py
index c1dcc66..9c5738f 100644
--- a/models/membership.py
+++ b/models/membership.py
@@ -16,7 +16,7 @@ class kalachakra_membership(models.Model):
ondelete='restrict'
)
email=fields.Char(related='partner_id.email')
- firstname=fields.Char(related='partner_id.firstname')
+ firstname=fields.Char(string='firstname', related='partner_id.firstname',translate=True)
def _default_product_id(self):
membership_product=self.env['product.product'].sudo().search([('membership_product','=',True)],limit=1)
@@ -36,7 +36,7 @@ class kalachakra_membership(models.Model):
#adhésion via isncription à l'événement
elif rec.invoice_id:
if rec.invoice_id.payment_state=='paid':
- #raise Warning(rec.invoice_id.payment_state)
+ raise Warning(rec.invoice_id.payment_state)
rec.payment_state='paid'
rec.state='done'
else:rec.payment_state='not paid'
diff --git a/models/partner.py b/models/partner.py
index 308b956..07becf1 100644
--- a/models/partner.py
+++ b/models/partner.py
@@ -60,7 +60,15 @@ class ResPartner(models.Model):
],'Origine', index=True)
date_adhesion=fields.Char(string='Date adhesion', readonly=True)
-
+ def _compute_end_date_membership(self):
+
+ for rec in self:
+ rec.date_membership=False
+ partner_mb=self.env['kalachakra.membership'].search([('partner_id','=',int(rec.id))],order="end_date desc",limit=1)
+ if partner_mb:
+ rec.date_membership=partner_mb.end_date
+
+ date_membership=fields.Date(string='membership end date', compute='_compute_end_date_membership',translate=True)
@api.depends('super_member')
def _compute_member_status(self):
for rec in self:
@@ -71,7 +79,7 @@ class ResPartner(models.Model):
if rec.super_member: rec.member_status='super member'
member_status=fields.Selection(string='member status',selection=[('not member','Not member'),('member','Member'),('super member','Super member')]
- ,compute="_compute_member_status",store=True)
+ ,compute="_compute_member_status",store=True,default='not member')
super_member=fields.Boolean("Super member")
diff --git a/views/booking_event.xml b/views/booking_event.xml
index 1f8c8b0..5f3373f 100644
--- a/views/booking_event.xml
+++ b/views/booking_event.xml
@@ -152,4 +152,21 @@ parent="booking_title_menu" groups="event.group_event_user" sequence="2"/> -->
+
+ Booking events
+ event.event
+ tree,form,pivot
+ {'default_booking_event': True, 'booking_event_view': True}
+ [('booking_event', '=', True)]
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/views/booking_event_registration.xml b/views/booking_event_registration.xml
index 46608d5..bac1e74 100644
--- a/views/booking_event_registration.xml
+++ b/views/booking_event_registration.xml
@@ -234,13 +234,15 @@
-
-
-
-
+
+
+
+
+
-
-
+
+
+
diff --git a/views/event.xml b/views/event.xml
index 0c00ec2..ef623cb 100644
--- a/views/event.xml
+++ b/views/event.xml
@@ -28,18 +28,18 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -47,16 +47,66 @@
+
+ context.get('booking_event_view')
+
+
+ context.get('booking_event_view')
+
-
+
+ event.registration
+ Attendees
+ tree,kanban,form,calendar,graph
+ [('event_id', '=', active_id)]
+ {'default_event_id': active_id,'booking_view':True}
+
+
+ Create an Attendee
+
+
+
+
+ event.registration
+ Attendees
+ kanban,tree,form,calendar,graph
+ [('event_id', '=', active_id)]
+ {'default_event_id': active_id,'booking_view':True}
+
+
+ Create an Attendee
+
+
+
event.view.form.inherit.kalachakra
event.event
-
-
+
+
+
+
+
+
+
+
+
@@ -168,4 +218,5 @@
+
diff --git a/views/partner.xml b/views/partner.xml
index 57acc61..227b7e1 100644
--- a/views/partner.xml
+++ b/views/partner.xml
@@ -23,10 +23,16 @@
+
-
+
+
+
+
+
+
@@ -42,6 +48,7 @@
+