@@ -119,7 +119,7 @@ def get_related_models(self):
119
119
compute = "_compute_model_ref_id_selected_id"
120
120
)
121
121
partner_id = fields .Many2one (
122
- comodel_name = "res.partner" , compute = "_compute_partner_id"
122
+ comodel_name = "res.partner" , compute = "_compute_partner_id" , store = "True"
123
123
)
124
124
related_document_ids = fields .One2many (
125
125
comodel_name = "dispute.related.document" ,
@@ -207,6 +207,7 @@ def message_post(self, **kwargs):
207
207
208
208
class DisputeLine (models .Model ):
209
209
_name = "dispute.line"
210
+ _inherit = ["mail.activity.mixin" ]
210
211
_parent_field = "_undefined"
211
212
_description = "Dispute line"
212
213
@@ -239,6 +240,11 @@ def _compute_product_id(self):
239
240
product_id = r .model_ref_id [product_field ]
240
241
r .product_id = product_id
241
242
243
+ @api .depends ("model_ref_id" )
244
+ def _compute_price_unit (self ):
245
+ for r in self :
246
+ r .price_unit = 0
247
+
242
248
@api .depends ("dispute_price" , "qty" )
243
249
def _compute_total (self ):
244
250
for r in self :
@@ -248,6 +254,10 @@ def _compute_total(self):
248
254
def _on_change_product_id (self ):
249
255
self .dispute_price = self .standard_price
250
256
257
+ @api .depends ("model_ref_id" )
258
+ def _compute_line_ref_id (self ):
259
+ self .line_ref_id = self .model_ref_id and self .model_ref_id .id or "toto"
260
+
251
261
dispute_id = fields .Many2one (comodel_name = "dispute" )
252
262
dispute_price = fields .Float (required = True )
253
263
company_currency = fields .Many2one (
@@ -256,6 +266,7 @@ def _on_change_product_id(self):
256
266
related = "dispute_id.company_id.currency_id" ,
257
267
readonly = True ,
258
268
)
269
+ line_ref_id = fields .Char (compute = "_compute_line_ref_id" )
259
270
comment = fields .Text ()
260
271
model_ref_id = fields .Reference (
261
272
selection = "_selection_model" , string = "Reference" , required = True
@@ -272,7 +283,17 @@ def _on_change_product_id(self):
272
283
],
273
284
required = True ,
274
285
)
286
+ resolution = fields .Selection (
287
+ [
288
+ ("return" , "Return" ),
289
+ ("destruction" , "Destruction" ),
290
+ ("swap" , "Swap" ),
291
+ ("accept" , "Accept product" ),
292
+ ],
293
+ required = True ,
294
+ )
275
295
standard_price = fields .Float (related = "product_id.standard_price" )
296
+ price_unit = fields .Float (compute = "_compute_price_unit" )
276
297
total = fields .Monetary (compute = "_compute_total" , currency_field = "company_currency" )
277
298
278
299
@api .depends ("dispute_id.model_ref_id" )
@@ -367,15 +388,6 @@ def update_dispute(self, values):
367
388
r [r ._parent_field ].dispute_id = dispute_id .id
368
389
r .dispute_line_id .dispute_id = dispute_id .id
369
390
370
- # @api.model_create_multi
371
- # def create(self, vals_list):
372
- # #TODO adapt ....
373
- # for values in vals_list:
374
- # new_line = super().create(values)
375
- # new_line.update_dispute(values)
376
-
377
- # return new_line
378
-
379
391
def write (self , values ):
380
392
res = super ().write (values )
381
393
if "dispute_id" not in values and "dispute_line_id" not in values :
0 commit comments