From 63e2da36a6938fedef2cd7483e13f9956b4fe438 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Mon, 6 Jan 2014 15:18:17 +0100 Subject: [PATCH] [FIX] website: some access right bzr revid: chm@openerp.com-20140106141817-2tf0dpfchi5x6kjw --- addons/delivery/sale.py | 3 ++- addons/website_customer/views/website_customer.xml | 2 +- addons/website_sale/models/website.py | 1 + addons/website_sale/security/ir.model.access.csv | 3 ++- addons/website_sale/security/website_sale.xml | 11 +++++++++++ addons/website_sale_delivery/__openerp__.py | 1 + addons/website_sale_delivery/models/website.py | 5 +++-- .../security/ir.model.access.csv | 2 ++ 8 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 addons/website_sale_delivery/security/ir.model.access.csv diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py index f60e37c4ebf..146b517f7b3 100644 --- a/addons/delivery/sale.py +++ b/addons/delivery/sale.py @@ -25,6 +25,7 @@ from openerp.addons import decimal_precision from openerp.addons.sale.sale import sale_order as OriginalSaleOrder from openerp.osv import fields, osv from openerp.tools.translate import _ +from openerp import SUPERUSER_ID class sale_order_line(osv.osv): @@ -111,7 +112,7 @@ class sale_order(osv.Model): if not order.state in ('draft'): raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.')) - grid = grid_obj.browse(cr, uid, grid_id, context=context) + grid = grid_obj.browse(cr, SUPERUSER_ID, grid_id, context=context) taxes = grid.carrier_id.product_id.taxes_id fpos = order.fiscal_position or False diff --git a/addons/website_customer/views/website_customer.xml b/addons/website_customer/views/website_customer.xml index 5996d8c1141..6f8055694fc 100644 --- a/addons/website_customer/views/website_customer.xml +++ b/addons/website_customer/views/website_customer.xml @@ -78,7 +78,7 @@
  • - + diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py index ba8db704753..384bb452a50 100644 --- a/addons/website_sale/models/website.py +++ b/addons/website_sale/models/website.py @@ -99,6 +99,7 @@ class Website(orm.Model): request.httprequest.session['ecommerce_order_id'] = False return False try: + #SaleOrder.check_access_rule(cr, uid, order_id, context=context) order = SaleOrder.browse(cr, uid, order_id, context=context) return order except: diff --git a/addons/website_sale/security/ir.model.access.csv b/addons/website_sale/security/ir.model.access.csv index 4723d66b5c5..dc2e11eca6c 100644 --- a/addons/website_sale/security/ir.model.access.csv +++ b/addons/website_sale/security/ir.model.access.csv @@ -12,4 +12,5 @@ access_sale_order_line_public,sale.order.line.public,model_sale_order_line,base. access_product_attribute,product.attribute.public,website_sale.model_product_attribute,,1,0,0,0 access_product_attribute_value,product.attribute.value.public,website_sale.model_product_attribute_value,,1,0,0,0 access_product_attribute_product,product.attribute.product.public,website_sale.model_product_attribute_product,,1,0,0,0 -access_website_product_style,website.product.style.public,website_sale.model_website_product_style,,1,0,0,0 \ No newline at end of file +access_website_product_style,website.product.style.public,website_sale.model_website_product_style,,1,0,0,0 +access_product_supplierinfo,product.supplierinfo.public,product.model_product_supplierinfo,,1,0,0,0 diff --git a/addons/website_sale/security/website_sale.xml b/addons/website_sale/security/website_sale.xml index 0f4fc32a1e4..94b039d02be 100644 --- a/addons/website_sale/security/website_sale.xml +++ b/addons/website_sale/security/website_sale.xml @@ -44,5 +44,16 @@ + + Public product supplierinfo + + [('product_tmpl_id.website_published','=',True)] + + + + + + + \ No newline at end of file diff --git a/addons/website_sale_delivery/__openerp__.py b/addons/website_sale_delivery/__openerp__.py index e2ded281c70..0e5592ff250 100644 --- a/addons/website_sale_delivery/__openerp__.py +++ b/addons/website_sale_delivery/__openerp__.py @@ -12,6 +12,7 @@ Delivery Costs 'data': [ 'views/website_sale_delivery.xml', 'views/website_sale_delivery_view.xml', + 'security/ir.model.access.csv', ], 'demo': [], 'qweb': [], diff --git a/addons/website_sale_delivery/models/website.py b/addons/website_sale_delivery/models/website.py index 14c92fe27a6..d36ccc11c02 100644 --- a/addons/website_sale_delivery/models/website.py +++ b/addons/website_sale_delivery/models/website.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from openerp.osv import orm +from openerp import SUPERUSER_ID class Website(orm.Model): @@ -9,7 +10,7 @@ class Website(orm.Model): """ Override the quotation values generation to add carrier_id data """ values = super(Website, self)._ecommerce_get_quotation_values(cr, uid, context=context) DeliveryCarrier = self.pool.get('delivery.carrier') - carrier_ids = DeliveryCarrier.search(cr, uid, [], context=context, limit=1) + carrier_ids = DeliveryCarrier.search(cr, uid, [(1,"=",1)], context=context, limit=1) # By default, select the first carrier if carrier_ids: values['carrier_id'] = carrier_ids[0] @@ -17,5 +18,5 @@ class Website(orm.Model): def _ecommerce_create_quotation(self, cr, uid, context=None): order_id = super(Website, self)._ecommerce_create_quotation(cr, uid, context=context) - self.pool['sale.order'].delivery_set(cr, uid, [order_id], context=context) + self.pool['sale.order'].delivery_set(cr, SUPERUSER_ID, [order_id], context=context) return order_id diff --git a/addons/website_sale_delivery/security/ir.model.access.csv b/addons/website_sale_delivery/security/ir.model.access.csv new file mode 100644 index 00000000000..69e804cfd28 --- /dev/null +++ b/addons/website_sale_delivery/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_delivery_carrier_public,delivery.carrier.public,delivery.model_delivery_carrier,,1,0,0,0