hunk.code_window:     def _compute_price_unit(self):
           # Avoid recomputing the price with pricelist rules, use the initial price
           # used in the optional product line.
           optional_product_lines = self.filtered('sale_order_option_ids')
           super(SaleOrderLine, self - optional_product_lines)._compute_price_unit()
  
hunk.labels: keep keep keep keep add
hunk.after_edit:     #=== TOOLING ===#
       def _can_be_edited_on_portal(self):
           return self.state in ('draft', 'sent') and (
               self.sale_order_option_ids
               or self.product_id in self.order_id.sale_order_option_ids.product_id
           )
hunk.file_path: addons/sale_management/models/sale_order_line.py
hunk.type: add
file: Germany, 2023-02-15
  
  I hereby agree to the terms of the Odoo Individual Contributor License
  Agreement v1.0.
  
  I declare that I am authorized and able to make this agreement and sign this
  declaration.
  
  Signed,
  
  Jan Brodersen janbrodersen@armitxes.net https://github.com/Armitxes