2323#
2424##############################################################################
2525
26- from odoo import models , fields , api , _
26+ from odoo import _ , api , fields , models
27+
2728from odoo .addons import decimal_precision as dp
2829
2930
3031class ProductSupplierinfo (models .Model ):
31- _inherit = ' product.supplierinfo'
32+ _inherit = " product.supplierinfo"
3233
3334 # Columns section
3435 package_qty = fields .Float (
35- 'Package Qty' , digits = dp .get_precision ('Product UoM' ),
36+ "Package Qty" ,
37+ digits = dp .get_precision ("Product UoM" ),
3638 help = """The quantity of products in the supplier package."""
3739 """ You will always have to buy a multiple of this quantity.""" ,
38- default = 1 )
40+ default = 1 ,
41+ )
3942 indicative_package = fields .Boolean (
40- ' Indicative Package' ,
43+ " Indicative Package" ,
4144 help = """If checked, the system will not force you to purchase"""
4245 """ a strict multiple of package quantity""" ,
43- default = False )
46+ default = False ,
47+ )
4448 price_policy = fields .Selection (
45- [('uom' , 'per UOM' ), ('package' , 'per Package' )], "Price Policy" ,
46- default = 'uom' , required = True )
49+ [("uom" , "per UOM" ), ("package" , "per Package" )],
50+ "Price Policy" ,
51+ default = "uom" ,
52+ required = True ,
53+ )
4754 base_price = fields .Float (
48- 'Price' , required = False , default = 0.00 ,
49- digits = dp .get_precision ('Product Price' ),
50- help = "The price to purchase a product" )
55+ "Price" ,
56+ required = False ,
57+ default = 0.00 ,
58+ digits = dp .get_precision ("Product Price" ),
59+ help = "The price to purchase a product" ,
60+ )
5161 price = fields .Float (
52- "Price per Unit" , compute = '_compute_price' ,
53- required = False , store = True , readonly = True )
62+ "Price per Unit" ,
63+ compute = "_compute_price" ,
64+ required = False ,
65+ store = True ,
66+ readonly = True ,
67+ )
5468
55- @api .depends (' base_price' , ' price_policy' , ' package_qty' )
69+ @api .depends (" base_price" , " price_policy" , " package_qty" )
5670 @api .multi
5771 def _compute_price (self ):
5872 for psi in self :
59- if psi .price_policy == ' package' :
73+ if psi .price_policy == " package" :
6074 if psi .package_qty == 0 :
6175 psi .package_qty = 1
6276 psi .price = psi .base_price / psi .package_qty
@@ -65,30 +79,30 @@ def _compute_price(self):
6579
6680 @api .model
6781 def create (self , vals ):
68- if not vals .get (' base_price' , False ):
69- if vals .get (' price' , False ):
70- vals [' base_price' ] = vals [' price' ]
71- del vals [' price' ]
82+ if not vals .get (" base_price" , False ):
83+ if vals .get (" price" , False ):
84+ vals [" base_price" ] = vals [" price" ]
85+ del vals [" price" ]
7286 else :
73- vals [' base_price' ] = 0
74- res = super (ProductSupplierinfo , self ).create (vals )
87+ vals [" base_price" ] = 0
88+ res = super ().create (vals )
7589 return res
7690
7791 @api .multi
7892 def write (self , vals ):
79- if not vals .get (' base_price' , False ):
80- if vals .get (' price' , False ):
81- vals [' base_price' ] = vals [' price' ]
82- del vals [' price' ]
83- return super (ProductSupplierinfo , self ).write (vals )
93+ if not vals .get (" base_price" , False ):
94+ if vals .get (" price" , False ):
95+ vals [" base_price" ] = vals [" price" ]
96+ del vals [" price" ]
97+ return super ().write (vals )
8498
8599 # Constraints section
86100 @api .multi
87- @api .constrains (' package_qty' )
101+ @api .constrains (" package_qty" )
88102 def _check_package_qty (self ):
89103 for psi in self :
90104 if psi .package_qty == 0 :
91- raise ValueError (_ (' The package quantity cannot be 0.' ))
105+ raise ValueError (_ (" The package quantity cannot be 0." ))
92106
93107 # Init section
94108 @api .model
@@ -97,9 +111,9 @@ def _init_package_qty(self):
97111 for psi in psi_ids :
98112 vals = {}
99113 if not psi .package_qty :
100- vals [' package_qty' ] = max (psi .min_qty , 1 )
114+ vals [" package_qty" ] = max (psi .min_qty , 1 )
101115 if not psi .base_price :
102- vals [' base_price' ] = psi .price
116+ vals [" base_price" ] = psi .price
103117 if vals :
104118 psi .write (vals )
105119 return psi_ids .ids
0 commit comments