【问题标题】:Odoo 13 - Create Sale Order linked with Website using PythonOdoo 13 - 使用 Python 创建与网站链接的销售订单
【发布时间】:2020-08-04 17:45:03
【问题描述】:

我编写了一个自定义网站来制作销售订单。该网站可供门户用户登录后使用。我有一个准备好创建销售订单的控制器,但它并没有像我希望的那样工作。

这就是我创建新订单的方式:

    @http.route('/api/create_order', type='json', auth='user', website=True)
    def create_order(self, **kw):
        uid = http.request.env.context.get('uid')
        partner_id = http.request.env['res.users'].search([('id','=',uid)]).partner_id.id
        
        order_products = kw.get('order_products', [])
        order_line = []

        for product in order_products:
            order_line.append(
                (0, 0, {
                    'product_id': http.request.env['product.product'].search([('product_tmpl_id','=',product['product_id'])])[0].id,
                    'product_uom_qty': product['amount'],
                }))

        order_data = {
            'name': 'Test Sale Order',
            'partner_id': partner_id,
            'order_line': order_line,
        }

        result_insert_record = http.request.env['sale.order'].with_user(SUPERUSER_ID).create(order_data)
        return result_insert_record

如您所见,我使用的是with_user(SUPERUSER_ID).create()。因为门户用户没有直接创建销售订单的权限。当我使用sudo().create() 时,此门户用户也被分配为销售员(以及客户)到他自己的订单。

他也没有在他的网站帐户中看到它们 - 他应该。创建此类订单后,他还应该收到一封确认电子邮件。

当有人通过网站内的商店下订单时,没有分配销售人员,而是有一个与该销售订单链接的网站。

那么我如何创建这个销售订单以便它与网站链接,用户在他的门户中看到它并在创建后收到一封电子邮件?我需要传递一些特殊的参数或使用不同的功能吗?

【问题讨论】:

    标签: python odoo odoo-13 odoo-website


    【解决方案1】:

    事实证明,没有必要将销售订单与网站链接。

    首先,您必须确保门户用户具有正确的访问权限。如果没有安装电子商务模块,默认情况下门户用户将无法访问例如产品。您需要编写自己的访问权限或安装website_sale 模块。

    此外,用户将无法看到处于Draft 状态的订单。发送或确认都可以让用户在他们的文档中看到它们。

    最后,如果您愿意,可以通过设置 website_id 字段将订单链接到网站:

    order_data = {
        ...
        'website_id': http.request.website.id,
    }
    
    result_insert_record = http.request.env['sale.order'].with_user(SUPERUSER_ID).create(order_data)
    

    但这在这个问题的上下文中并不重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多