@@ -14,46 +14,40 @@ class AccountMove(models.Model):
14
14
def create (self , vals_list ):
15
15
if "from_repair_order" not in self .env .context :
16
16
return super ().create (vals_list )
17
- repairs_processed = self .env ["repair.order" ]
18
- pending_fee = True
17
+ my_invoice_line_ids = []
18
+ repairs_treated = self .env ["repair.order" ]
19
+ fee_pending = True
19
20
for vals in vals_list :
20
- updated_invoice_lines = []
21
- invoice_lines = vals .get ("invoice_line_ids" , [])
22
- for line_vals in invoice_lines :
23
- line_data = line_vals [2 ]
24
- if "repair_line_ids" in line_data :
21
+ lines_vals = vals .get ("invoice_line_ids" )
22
+ for line_vals in lines_vals :
23
+ if "repair_line_ids" in line_vals [2 ]:
25
24
repair_line = self .env ["repair.line" ].browse (
26
- line_data [ "repair_line_ids" ] [0 ][1 ]
25
+ line_vals [ 2 ]. get ( "repair_line_ids" ) [0 ][1 ]
27
26
)
28
- repair_order = repair_line .repair_id
29
- if repair_order not in repairs_processed :
30
- pending_fee = True
31
- repairs_processed += repair_order
32
- updated_invoice_lines = self ._prepare_repair_info_section (
33
- repair_order ,
34
- updated_invoice_lines ,
35
- add_fee = False ,
36
- print_repair_info = True ,
27
+ if repair_line .repair_id not in repairs_treated :
28
+ fee_pending = True
29
+ repairs_treated += repair_line .repair_id
30
+ my_invoice_line_ids = self ._prepare_repair_info_section (
31
+ repair_line .repair_id , my_invoice_line_ids , False , True
37
32
)
38
- elif "repair_fee_ids" in line_data :
33
+ elif "repair_fee_ids" in line_vals [ 2 ] :
39
34
repair_fee = self .env ["repair.fee" ].browse (
40
- line_data [ "repair_fee_ids" ] [0 ][1 ]
35
+ line_vals [ 2 ]. get ( "repair_fee_ids" ) [0 ][1 ]
41
36
)
42
- repair_order = repair_fee .repair_id
43
37
print_repair_info = False
44
- if (repair_order not in repairs_processed ) or pending_fee :
45
- if repair_order not in repairs_processed :
38
+ if (repair_fee . repair_id not in repairs_treated ) or fee_pending :
39
+ if repair_fee . repair_id not in repairs_treated :
46
40
print_repair_info = True
47
- repairs_processed += repair_order
48
- pending_fee = False
49
- updated_invoice_lines = self ._prepare_repair_info_section (
50
- repair_order ,
51
- updated_invoice_lines ,
52
- add_fee = True ,
53
- print_repair_info = print_repair_info ,
41
+ repairs_treated += repair_fee . repair_id
42
+ fee_pending = False
43
+ my_invoice_line_ids = self ._prepare_repair_info_section (
44
+ repair_fee . repair_id ,
45
+ my_invoice_line_ids ,
46
+ True ,
47
+ print_repair_info ,
54
48
)
55
- updated_invoice_lines .append (line_vals )
56
- vals ["invoice_line_ids" ] = updated_invoice_lines
49
+ my_invoice_line_ids .append (line_vals )
50
+ vals ["invoice_line_ids" ] = my_invoice_line_ids
57
51
return super ().create (vals_list )
58
52
59
53
def _prepare_repair_info_section (
@@ -89,28 +83,22 @@ def _prepare_values_for_repair(self, repair):
89
83
return vals
90
84
91
85
def _get_repair_name_for_values (self , repair ):
92
-
93
86
date_repair = self ._convert_to_local_date (repair .date_repair , repair .user_id )
94
-
95
87
repair_name = _ ("Repair: %(repair)s, Date: %(date)s" ) % {
96
88
"repair" : repair .name ,
97
89
"date" : date_repair ,
98
90
}
99
-
100
91
if repair .lot_id :
101
92
repair_name = _ ("%(repair_name)s, Num. Serie: %(lot)s" ) % {
102
93
"repair_name" : repair_name ,
103
94
"lot" : repair .lot_id .name ,
104
95
}
105
-
106
96
if repair .quotation_notes :
107
97
quotation_notes = repair .convert_html_notes_to_char (repair .quotation_notes )
108
-
109
98
repair_name = _ ("%(repair_name)s\n %(notes)s" ) % {
110
99
"repair_name" : repair_name ,
111
100
"notes" : quotation_notes ,
112
101
}
113
-
114
102
return repair_name
115
103
116
104
def _convert_to_local_date (self , mydate , user ):
0 commit comments