# -*- coding: utf-8 -*- from odoo import http from odoo.http import request import werkzeug from odoo.exceptions import UserError from odoo.addons.website_sale.controllers.main import WebsiteSale import json class opendons(http.Controller): @http.route(['/opendons/cp'],type='json', methods=['GET','POST'],auth="public",csrf=False) def index(self, **post): name = post.get('name', False) res={} res['dd']='ggggg' json_object = json.dumps(res, indent = 4) return json_object class SalesProduct(WebsiteSale): @http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True) def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): """This route is called when adding a product to cart (no options).""" #return kw.get('donation_amount') sale_order = request.website.sale_get_order(force_create=True) if sale_order.state != 'draft': request.session['sale_order_id'] = None sale_order = request.website.sale_get_order(force_create=True) product_custom_attribute_values = None if kw.get('product_custom_attribute_values'): product_custom_attribute_values = json.loads(kw.get('product_custom_attribute_values')) no_variant_attribute_values = None if kw.get('no_variant_attribute_values'): no_variant_attribute_values = json.loads(kw.get('no_variant_attribute_values')) product=request.env['product.product'].search([('id','=',int(product_id))]) donation_amount=0 if 'donation_amount' in kw: donation_amount=int(kw.get('donation_amount')) sale_order._cart_update( product_id=int(product_id), add_qty=add_qty, set_qty=set_qty, product_custom_attribute_values=product_custom_attribute_values, no_variant_attribute_values=no_variant_attribute_values, donation_amount=donation_amount ) if kw.get('express'): return request.redirect("/shop/checkout?express=1") return request.redirect("/shop/cart") # class DonationQualifier(http.Controller): # @http.route('/donation_qualifier/donation_qualifier/', auth='public') # def index(self, **kw): # return "Hello, world" # @http.route('/donation_qualifier/donation_qualifier/objects/', auth='public') # def list(self, **kw): # return http.request.render('donation_qualifier.listing', { # 'root': '/donation_qualifier/donation_qualifier', # 'objects': http.request.env['donation_qualifier.donation_qualifier'].search([]), # }) # @http.route('/donation_qualifier/donation_qualifier/objects//', auth='public') # def object(self, obj, **kw): # return http.request.render('donation_qualifier.object', { # 'object': obj # })