diff --git a/__manifest__.py b/__manifest__.py
index 62fa61b..477e4dd 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -56,6 +56,7 @@
'views/booking_questionnaire.xml',
'views/mailing_list.xml',
'views/ir.attachment.xml',
+ 'views/account_portal_templates.xml'
],
diff --git a/controllers/kalachakra.py b/controllers/kalachakra.py
index d5682b1..f685370 100644
--- a/controllers/kalachakra.py
+++ b/controllers/kalachakra.py
@@ -248,6 +248,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
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)
+ request.session['status']=partner.member_status
data['partner']=partner
#évenement
@@ -271,7 +272,8 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
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']
+ data['standard_amount']=event.participation_standard_price
+ data['membership_and_participation_amount']=str(int(data['membership_amount'])+int(event.participation_member_price)) +' ('+str(int(data['membership_amount']))+'+'+str(int(event.participation_member_price))+')'
#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)
@@ -314,6 +316,14 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
data={}
request.session['kalachakra_transaction']=''
+ # acquirers = request.env['payment.acquirer'].sudo().search([
+ # ('state', 'in', ['enabled', 'test']),
+ # ('company_id', '=', request.env.company.id)])
+ # result=''
+ # for ac in acquirers:
+ # result=result+' '+ac.provider
+ # return result
+
if type=='participation':
res=request.env['event.registration'].sudo().search([('id','=',request.session['res_id'])])
invoice_id=res.invoice_id
@@ -406,6 +416,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
data['registred']=True
country=request.env['res.country'].sudo().search([])
data['countries']=country
+ data['country_id']=int(partner.country_id)
# si pas connecté
else:
@@ -420,7 +431,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
partner=request.env['res.partner']
partner.email=''
partner.title=title_male.id
- partner.country_id=country_france.id
+ partner.country_id=int(country_france.id)
partner.firstname=''
partner.name=''
@@ -429,7 +440,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
partner.zip=''
data['partner']=partner
-
+ data['country_id']=int(country_france.id)
return http.request.render('kalachakra.participation_form',data)
@@ -470,8 +481,10 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
#si pas connecté on cherche le contact indiqué par l'email
partner=request.env['res.partner'].sudo().search([('email','=',post.get('email'))],limit=1)
+
#si pas de contact on le créé dans la base
if not partner:
+
vals={}
vals['email']=post.get('email')
vals['name']=post.get('name')
@@ -483,7 +496,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
vals['country_id']=int(post.get('country_id'))
vals['phone']=post.get('phone')
partner=request.env['res.partner'].sudo().create(vals)
- #création du compte utilisateur
+
user=request.env['res.users'].sudo().search([('email','=',partner.email)])
group_portal=request.env.ref('base.group_portal')
if not user:
@@ -511,6 +524,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
vals['country_id']=int(post.get('country_id'))
vals['phone']=post.get('phone')
partner.sudo().write(vals)
+
user=request.env['res.users'].sudo().search([('email','=',partner.email)])
group_portal=request.env.ref('base.group_portal')
#création du compte utilisateur
@@ -524,7 +538,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
})
user.sudo().action_reset_password()
- #on vérifie qu'il n'est pas déjà adhérent si demande d'adhésion
+ #demande d'adhésion : on vérifie qu'il n'est pas déjà adhérent si demande d'adhésion
if partner.member_status in ('member','super member') and request.session['kalachakra_transaction']=='membership':
data={}
data['email']==post.get('email')
@@ -548,7 +562,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing):
('company_id', '=', request.env.company.id),
('provider', '!=', 'transfer')
- ]))
+ ],order="provider desc"))
else:
data['acquirers'] = list(request.env['payment.acquirer'].sudo().search([
('state', 'in', ['enabled', 'test']),
diff --git a/models/event.py b/models/event.py
index 656c4bf..009ab5c 100644
--- a/models/event.py
+++ b/models/event.py
@@ -55,7 +55,8 @@ class KalachakraEvent(models.Model):
recurring_event=fields.Boolean('Recurring event')
recurring_event_newsletter_id=fields.Many2one('mailing.list',string='Recurring event Newsletter')
online_event=fields.Boolean('Online event')
- onthespot_event=fields.Boolean('Online event')
+ onthespot_event=fields.Boolean('On the spot event', default=True)
+ online_only=fields.Boolean('Online only')
online_link=fields.Char('link')
online_id=fields.Char('id')
online_password=fields.Char('password',default='123456')
@@ -97,10 +98,11 @@ class KalachakraEvent(models.Model):
child_event.auto_confirm=self.auto_confirm
child_event.seats_limited=self.seats_limited
child_event.seats_max=self.seats_max
- if vals.get('organizer_id'):child_event.organizer_id=self.organizer_id
+
child_event.user_id=self.user_id
child_event.address_id=self.address_id
-
+
+ child_event.online_only=self.online_only
child_event.online_event=self.online_event
child_event.online_link=self.online_link
child_event.online_id=self.online_id
@@ -111,6 +113,11 @@ class KalachakraEvent(models.Model):
child_event.tag_ids=self.tag_ids
child_event.description=self.description
child_event.is_published=self.is_published
+ child_event.participation_product_id=self.participation_product_id
+ child_event.participation_standard_price=self.participation_standard_price
+ child_event.participation_member_price=self.participation_member_price
+ child_event.participation_super_member_price=self.participation_super_member_price
+
#child_event.event_mail_ids=self.event_mail_ids
@@ -136,8 +143,21 @@ class KalachakraEvent(models.Model):
# if reg:
# return str(e.date_begin)
e.unlink()
-
-
+
+ def remove_generated_calendar_events(self):
+ evt=self.env['event.event'].search([('parent_event_id','=', self.id)])
+ if evt:
+ for e in evt:
+ if e.calendar_id and e.calendar_event_id:
+ e.remove_event_from_google_agenda()
+
+ def generate_calendar_events(self):
+ self.remove_generated_calendar_events()
+ evt=self.env['event.event'].search([('parent_event_id','=', self.id)])
+ if evt:
+ for e in evt:
+ e.add_event_to_google_agenda()
+
def generate_events(self):
for rec in self:
@@ -401,7 +421,7 @@ class KalachakraEvent(models.Model):
self.calendar_id=tag.category_id.calendar_id
if not calendar_find: raise Warning('operation cancelled: no calendar id find, please selected a label wih category with a calendar_id')
-
+
def remove_event_from_google_agenda(self):
credentials = service_account.Credentials.from_service_account_file(GOOGLE_ACCOUNT_FILE, scopes=SCOPES)
diff --git a/models/event_registration.py b/models/event_registration.py
index 4fdaec5..75c02e7 100644
--- a/models/event_registration.py
+++ b/models/event_registration.py
@@ -112,7 +112,7 @@ class EventRegistration(models.Model):
#creation des écritures comptable
name=event.participation_product_id.name
if membership and status=='not member':
- product_price=product_price+membership_product.list_price
+ product_price=event.participation_member_price+membership_product.list_price
name=event.participation_product_id.name+"+"+membership_product.name
vals={}
account_credit=self.env['account.account'].search([('code','=','707100')])
diff --git a/static/js/kalachakra.js b/static/js/kalachakra.js
index 49fd295..9481ae4 100644
--- a/static/js/kalachakra.js
+++ b/static/js/kalachakra.js
@@ -56,7 +56,7 @@ odoo.define('kalachakra.main', function (require) {
//vérification montant
if ($("#amount_id").val()==0)
{
- alert('please enter an amount')
+ alert('merci de saisir un montant')
}
else
{
diff --git a/views/account_portal_templates.xml b/views/account_portal_templates.xml
new file mode 100644
index 0000000..6d7174b
--- /dev/null
+++ b/views/account_portal_templates.xml
@@ -0,0 +1,12 @@
+
+