diff --git a/addons/delivery/data/delivery_data.xml b/addons/delivery/data/delivery_data.xml index 24bf8d0866f..c84a7e16297 100644 --- a/addons/delivery/data/delivery_data.xml +++ b/addons/delivery/data/delivery_data.xml @@ -1,17 +1,23 @@ - + + Free delivery charges + Delivery + service + + + + 0.0 + Free delivery charges - 0 + 0.0 1000 1 fixed - service - + - diff --git a/addons/delivery/data/delivery_demo.xml b/addons/delivery/data/delivery_demo.xml index 40c19d755f5..8249330a209 100644 --- a/addons/delivery/data/delivery_demo.xml +++ b/addons/delivery/data/delivery_demo.xml @@ -4,29 +4,46 @@ + + The Poste + Delivery + service + + + + 20.0 + + The Poste - 20 + 20.0 2 base_on_rule - service - + + + + + Normal Delivery Charges + Delivery + service + + + + 10.0 Normal Delivery Charges - 10 + 10.0 3 fixed - service - + - @@ -34,7 +51,6 @@ >= - @@ -44,7 +60,6 @@ >= price - diff --git a/addons/delivery/models/delivery_carrier.py b/addons/delivery/models/delivery_carrier.py index e026f00ce62..564a95dfefe 100644 --- a/addons/delivery/models/delivery_carrier.py +++ b/addons/delivery/models/delivery_carrier.py @@ -10,7 +10,6 @@ _logger = logging.getLogger(__name__) class DeliveryCarrier(models.Model): _name = 'delivery.carrier' - _inherits = {'product.product': 'product_id'} _description = "Carrier" _order = 'sequence, id' @@ -33,16 +32,15 @@ class DeliveryCarrier(models.Model): # Internals for shipping providers # # -------------------------------- # + name = fields.Char(required=True) + active = fields.Boolean(default=True) sequence = fields.Integer(help="Determine the display order", default=10) # This field will be overwritten by internal shipping providers by adding their own type (ex: 'fedex') delivery_type = fields.Selection([('fixed', 'Fixed Price')], string='Provider', default='fixed', required=True) integration_level = fields.Selection([('rate', 'Get Rate'), ('rate_and_ship', 'Get Rate and Create Shipment')], string="Integration Level", default='rate_and_ship', help="Action while validating Delivery Orders") prod_environment = fields.Boolean("Environment", help="Set to True if your credentials are certified for production.") company_id = fields.Many2one('res.company', string='Company', related='product_id.company_id', store=True) - - product_type = fields.Selection(related='product_id.type', default='service') - product_sale_ok = fields.Boolean(related='product_id.sale_ok', default=False) - product_id = fields.Many2one('product.product', string='Delivery Product', required=True, ondelete="cascade") + product_id = fields.Many2one('product.product', string='Delivery Product', required=True, ondelete='restrict') country_ids = fields.Many2many('res.country', 'delivery_carrier_country_rel', 'carrier_id', 'country_id', 'Countries') state_ids = fields.Many2many('res.country.state', 'delivery_carrier_state_rel', 'carrier_id', 'state_id', 'States') @@ -50,7 +48,7 @@ class DeliveryCarrier(models.Model): zip_to = fields.Char('Zip To') margin = fields.Integer(help='This percentage will be added to the shipping price.') - free_over = fields.Boolean('Free if Order total is more than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping", default=False, oldname='free_if_more_than') + free_over = fields.Boolean('Free if order total is more than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping", default=False, oldname='free_if_more_than') amount = fields.Float(string='Amount', help="Amount of the order to benefit from a free shipping, expressed in the company currency") _sql_constraints = [ diff --git a/addons/delivery/models/delivery_grid.py b/addons/delivery/models/delivery_grid.py index 8f5c0ab347e..605f1da0ff6 100644 --- a/addons/delivery/models/delivery_grid.py +++ b/addons/delivery/models/delivery_grid.py @@ -35,9 +35,6 @@ class PriceRule(models.Model): list_price = fields.Float('Sale Price', digits=dp.get_precision('Product Price'), required=True, default=0.0) variable_factor = fields.Selection([('weight', 'Weight'), ('volume', 'Volume'), ('wv', 'Weight * Volume'), ('price', 'Price'), ('quantity', 'Quantity')], 'Variable Factor', required=True, default='weight') - # TODO remove me, should be replaced by fixed price - standard_price = fields.Float('Cost Price', digits=dp.get_precision('Product Price'), required=True, default=0.0) - class ProviderGrid(models.Model): _inherit = 'delivery.carrier' diff --git a/addons/delivery/views/delivery_view.xml b/addons/delivery/views/delivery_view.xml index 7e1f33cbf5b..bae05a5888f 100644 --- a/addons/delivery/views/delivery_view.xml +++ b/addons/delivery/views/delivery_view.xml @@ -73,23 +73,20 @@