diff --git a/controllers/kalachakra.py b/controllers/kalachakra.py index 790a3bc..3c97355 100644 --- a/controllers/kalachakra.py +++ b/controllers/kalachakra.py @@ -96,6 +96,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): #donation product data['products']=request.env['product.product'].search([('donation','=',True)]) + userid=request.env.context.get('uid') #title options @@ -244,6 +245,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): # order_line=request.env['sale.order.line'].sudo().create(vals) data['order_id']=donation_draft.id + request.session['donation_id'] = donation_draft.id return http.request.render('kalachakra.payment_choice_form',data) @@ -322,6 +324,7 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): vals = {'payment_token_id': pm_id, 'return_url': '/kalachakra/payment/validate'} tx = donation._create_payment_transaction(vals) + request.session['transaction_id']=tx.id PaymentProcessing.add_payment_transaction(tx) return request.redirect('kalachakra/payment/process') @@ -344,43 +347,58 @@ class kalachakra_event(WebsiteEventController,PaymentProcessing): - UDPATE ME """ - if sale_order_id is None: - order = request.website.sale_get_order() - else: - order = request.env['sale.order'].sudo().browse(sale_order_id) - assert order.id == request.session.get('sale_last_order_id') - - if transaction_id: - tx = request.env['payment.transaction'].sudo().browse(transaction_id) - assert tx in order.transaction_ids() - elif order: - tx = order.get_portal_last_transaction() - else: - tx = None - - if not order or (order.amount_total and not tx): - return request.redirect('/kalachakra/ma') - - if order and not order.amount_total and not tx: - order.with_context(send_email=True).action_confirm() - return request.redirect(order.get_portal_url()) + donation_id=int(request.session['donation_id']) + #validation du don car la tranasction est ok + donation=request.env['donation.donation'].search([('id','=',donation_id)]) + donation.state='done' + request.session['donation_id']=None + + transaction_id=int(request.session['__website_sale_last_tx_id'] ) + tx = request.env['payment.transaction'].sudo().browse(transaction_id) + - # clean context and session, then redirect to the confirmation page - request.website.sale_reset() - if tx and tx.state == 'draft': - return request.redirect('/kalachakra/') + PaymentProcessing.remove_payment_transaction(tx) - return request.redirect('/kalachakra/payment/confirmation') + return request.redirect('/kalachakra/payment/confirmation') + + # if sale_order_id is None: + # order = request.website.sale_get_order() + # else: + # order = request.env['sale.order'].sudo().browse(sale_order_id) + # assert order.id == request.session.get('sale_last_order_id') + + # if transaction_id: + # tx = request.env['payment.transaction'].sudo().browse(transaction_id) + # assert tx in order.transaction_ids() + # elif order: + # tx = order.get_portal_last_transaction() + # else: + # tx = None + + # if not order or (order.amount_total and not tx): + # return request.redirect('/kalachakra/ma') + + # if order and not order.amount_total and not tx: + # order.with_context(send_email=True).action_confirm() + # return request.redirect(order.get_portal_url()) + + # # clean context and session, then redirect to the confirmation page + # request.website.sale_reset() + # if tx and tx.state == 'draft': + # return request.redirect('/kalachakra/') + + # PaymentProcessing.remove_payment_transaction(tx) + # return request.redirect('/kalachakra/payment/confirmation') @http.route(['/kalachakra/payment/confirmation'], type='http', auth="public", website=True, sitemap=False) def kalachakra_payment_confirmation(self, **post): - return request.redirect('/') + return request.render("kalachakra.thankyou") - sale_order_id = request.session.get('sale_last_order_id') - if sale_order_id: - order = request.env['sale.order'].sudo().browse(sale_order_id) - return request.render("website_sale.confirmation", {'order': order}) - else: - return request.redirect('/shop') \ No newline at end of file + # sale_order_id = request.session.get('sale_last_order_id') + # if sale_order_id: + # order = request.env['sale.order'].sudo().browse(sale_order_id) + # return request.render("website_sale.confirmation", {'order': order}) + # else: + # return request.redirect('/shop') \ No newline at end of file diff --git a/views/website_participation.xml b/views/website_participation.xml index dbf4525..de1336d 100644 --- a/views/website_participation.xml +++ b/views/website_participation.xml @@ -97,15 +97,15 @@ -
+
- +
-
+