odoo-addon-l10n-br-fiscal 16.0.12.3.0__py3-none-any.whl → 17.0.1.0.0.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. odoo/addons/l10n_br_fiscal/README.rst +10 -10
  2. odoo/addons/l10n_br_fiscal/__init__.py +2 -3
  3. odoo/addons/l10n_br_fiscal/__manifest__.py +2 -2
  4. odoo/addons/l10n_br_fiscal/data/product_data.xml +2 -2
  5. odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +24 -420
  6. odoo/addons/l10n_br_fiscal/i18n/pt_BR.po +1017 -1167
  7. odoo/addons/l10n_br_fiscal/models/comment.py +20 -18
  8. odoo/addons/l10n_br_fiscal/models/data_abstract.py +11 -12
  9. odoo/addons/l10n_br_fiscal/models/document.py +2 -4
  10. odoo/addons/l10n_br_fiscal/models/document_serie.py +4 -2
  11. odoo/addons/l10n_br_fiscal/models/invalidate_number.py +0 -6
  12. odoo/addons/l10n_br_fiscal/models/operation.py +0 -11
  13. odoo/addons/l10n_br_fiscal/models/tax_definition.py +2 -35
  14. odoo/addons/l10n_br_fiscal/static/description/index.html +8 -8
  15. odoo/addons/l10n_br_fiscal/tests/test_cnae.py +2 -3
  16. odoo/addons/l10n_br_fiscal/tests/test_document_edition.py +9 -31
  17. odoo/addons/l10n_br_fiscal/tests/test_service_type.py +2 -3
  18. odoo/addons/l10n_br_fiscal/views/cest_view.xml +2 -2
  19. odoo/addons/l10n_br_fiscal/views/cnae_view.xml +0 -1
  20. odoo/addons/l10n_br_fiscal/views/document_line_mixin_view.xml +170 -140
  21. odoo/addons/l10n_br_fiscal/views/document_line_view.xml +7 -7
  22. odoo/addons/l10n_br_fiscal/views/document_related_view.xml +15 -11
  23. odoo/addons/l10n_br_fiscal/views/document_serie_view.xml +1 -1
  24. odoo/addons/l10n_br_fiscal/views/document_view.xml +30 -25
  25. odoo/addons/l10n_br_fiscal/views/invalidate_number_view.xml +12 -12
  26. odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_menu.xml +2 -2
  27. odoo/addons/l10n_br_fiscal/views/nbm_view.xml +2 -2
  28. odoo/addons/l10n_br_fiscal/views/nbs_view.xml +1 -1
  29. odoo/addons/l10n_br_fiscal/views/ncm_view.xml +3 -3
  30. odoo/addons/l10n_br_fiscal/views/operation_dashboard_view.xml +27 -18
  31. odoo/addons/l10n_br_fiscal/views/operation_line_view.xml +2 -2
  32. odoo/addons/l10n_br_fiscal/views/operation_view.xml +39 -16
  33. odoo/addons/l10n_br_fiscal/views/partner_profile_view.xml +3 -6
  34. odoo/addons/l10n_br_fiscal/views/product_genre_view.xml +2 -2
  35. odoo/addons/l10n_br_fiscal/views/product_product_view.xml +13 -16
  36. odoo/addons/l10n_br_fiscal/views/product_template_view.xml +12 -9
  37. odoo/addons/l10n_br_fiscal/views/res_company_view.xml +17 -12
  38. odoo/addons/l10n_br_fiscal/views/res_config_settings_view.xml +37 -98
  39. odoo/addons/l10n_br_fiscal/views/res_partner_view.xml +3 -3
  40. odoo/addons/l10n_br_fiscal/views/service_type_view.xml +2 -3
  41. odoo/addons/l10n_br_fiscal/views/tax_definition_view.xml +60 -29
  42. odoo/addons/l10n_br_fiscal/views/tax_estimate_view.xml +2 -2
  43. odoo/addons/l10n_br_fiscal/views/tax_group_view.xml +4 -4
  44. odoo/addons/l10n_br_fiscal/views/tax_view.xml +14 -16
  45. odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py +1 -1
  46. odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.xml +2 -5
  47. {odoo_addon_l10n_br_fiscal-16.0.12.3.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info}/METADATA +15 -15
  48. {odoo_addon_l10n_br_fiscal-16.0.12.3.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info}/RECORD +50 -55
  49. odoo/addons/l10n_br_fiscal/migrations/16.0.2.0.0/pre-migration.py +0 -25
  50. odoo/addons/l10n_br_fiscal/migrations/16.0.2.15.0/pre-migration.py +0 -19
  51. odoo/addons/l10n_br_fiscal/migrations/16.0.4.0.0/pre-migration.py +0 -220
  52. odoo/addons/l10n_br_fiscal/migrations/16.0.5.0.0/pre-migration.py +0 -33
  53. odoo/addons/l10n_br_fiscal/migrations/16.0.5.2.0/pre-migration.py +0 -21
  54. {odoo_addon_l10n_br_fiscal-16.0.12.3.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info}/WHEEL +0 -0
  55. {odoo_addon_l10n_br_fiscal-16.0.12.3.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.1.0.0.13.dist-info}/top_level.txt +0 -0
@@ -43,15 +43,15 @@
43
43
  />
44
44
  <field
45
45
  name="insurance_value"
46
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
46
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
47
47
  />
48
48
  <field
49
49
  name="other_value"
50
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
50
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
51
51
  />
52
52
  <field
53
53
  name="freight_value"
54
- attrs="{'readonly': ['|', ('delivery_costs', '=', 'total'), ('force_compute_delivery_costs_by_total', '=', True)]}"
54
+ readonly="delivery_costs == 'total' or force_compute_delivery_costs_by_total"
55
55
  />
56
56
  </group>
57
57
  <group name="fiscal_info" string="Fiscal">
@@ -72,15 +72,15 @@
72
72
  <field name="nbs_id" />
73
73
  <field
74
74
  name="service_type_id"
75
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
75
+ invisible="fiscal_genre_code != '00' and cfop_id"
76
76
  />
77
77
  <field
78
78
  name="city_taxation_code_id"
79
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
79
+ invisible="fiscal_genre_code != '00' and cfop_id"
80
80
  />
81
81
  <field
82
82
  name="cnae_id"
83
- attrs="{'invisible': [('fiscal_genre_code', '!=', '00'), ('cfop_id', '!=', False)]}"
83
+ invisible="fiscal_genre_code != '00' and cfop_id"
84
84
  />
85
85
  </group>
86
86
  <group name="l10n_br_fiscal" string="Operation">
@@ -93,7 +93,7 @@
93
93
  <field name="fiscal_operation_line_id" required="1" />
94
94
  <field
95
95
  name="cfop_id"
96
- attrs="{'invisible': [('fiscal_type', '=', '00'), ('cfop_id', '=', False)]}"
96
+ invisible="fiscal_type == '00' and not cfop_id"
97
97
  />
98
98
  </group>
99
99
  </group>
@@ -30,51 +30,55 @@
30
30
  </group>
31
31
  <group
32
32
  string="NF-e/CT-e"
33
- attrs="{'invisible': [('document_type_code','not in', ('55', '57'))]}"
33
+ invisible="document_type_code not in ('55', '57')"
34
34
  >
35
35
  <field name="document_key" />
36
36
  </group>
37
37
  <group
38
38
  string="Nota Fiscal/Produtor/Cupom Fiscal"
39
- attrs="{'invisible': [('document_type_code', 'not in', ('01', '04'))]}"
39
+ invisible="document_type_code not in ('01', '04')"
40
40
  >
41
41
  <field
42
42
  name="document_serie"
43
- attrs="{'required': [('document_type_code', 'in', ('01', '04', '07'))]}"
43
+ required="document_type_code in ('01', '04', '07')"
44
44
  />
45
45
  <field
46
46
  name="document_number"
47
- attrs="{'required': [('document_type_code', 'in', ('01', '04', '07'))]}"
47
+ required="document_type_code in ('01', '04', '07')"
48
48
  />
49
49
  <field
50
50
  name="state_id"
51
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
51
+ invisible="document_type_code == '07'"
52
+ required="document_type_code in ('01', '04')"
52
53
  />
53
54
  <field
54
55
  name="document_date"
55
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
56
+ invisible="document_type_code == '07'"
57
+ required="document_type_code in ('01', '04')"
56
58
  />
57
59
  <field
58
60
  name="cpfcnpj_type"
59
- attrs="{'required': [('document_type_code', 'in', ('04'))], 'invisible': [('document_type_code', '!=', '04')]}"
61
+ invisible="document_type_code != '04'"
62
+ required="document_type_code in '04'"
60
63
  />
61
64
  <field
62
65
  name="cnpj_cpf"
63
- attrs="{'required': [('document_type_code', 'in', ('01', '04'))], 'invisible': [('document_type_code', '=', '07')]}"
66
+ invisible="document_type_code == '07'"
67
+ required="document_type_code in ('01', '04')"
64
68
  />
65
69
  <field
66
70
  name="l10n_br_ie_code"
67
- attrs="{'invisible': [('document_type_code', '!=', '04')]}"
71
+ invisible="document_type_code != '04'"
68
72
  />
69
73
  </group>
70
74
  <group
71
75
  string="Totais"
72
- attrs="{'invisible': [('document_type_code', 'not in', ('55', '57', '58'))]}"
76
+ invisible="document_type_code not in ('55', '57', '58')"
73
77
  >
74
78
  <field name="document_total_weight" />
75
79
  <field
76
80
  name="document_total_amount"
77
- attrs="{'invisible': [('document_related_id', '!=', False)]}"
81
+ invisible="document_related_id"
78
82
  />
79
83
  </group>
80
84
  </form>
@@ -26,7 +26,7 @@
26
26
  name="web_ribbon"
27
27
  title="Archived"
28
28
  bg_color="bg-danger"
29
- attrs="{'invisible': [('active', '=', True)]}"
29
+ invisible="active"
30
30
  />
31
31
  </div>
32
32
  <group>
@@ -74,7 +74,7 @@
74
74
  <field name="amount_untaxed" />
75
75
  <field name="amount_tax" />
76
76
  <field name="amount_total" />
77
- <field name="state" invisible="1" />
77
+ <field name="state" column_invisible="True" />
78
78
  <field
79
79
  name="state_edoc"
80
80
  widget="badge"
@@ -100,14 +100,13 @@
100
100
  <field name="fiscal_operation_type" invisible="1" />
101
101
  <field name="document_type" invisible="1" />
102
102
  <header>
103
- <!-- Please use state_edoc and attrs to maintain compatibility with invoice -->
104
103
  <button
105
104
  name="action_document_confirm"
106
105
  type="object"
107
106
  string="Confirmar"
108
107
  groups="l10n_br_fiscal.group_user"
109
108
  class="btn-primary"
110
- attrs="{'invisible': [('state_edoc', '!=', 'em_digitacao')]}"
109
+ invisible="state_edoc != 'em_digitacao'"
111
110
  />
112
111
  <button
113
112
  name="action_document_send"
@@ -115,7 +114,7 @@
115
114
  string="Enviar"
116
115
  groups="l10n_br_fiscal.group_user"
117
116
  class="btn-primary"
118
- attrs="{'invisible': [('state_edoc','!=','a_enviar')]}"
117
+ invisible="state_edoc != 'a_enviar'"
119
118
  />
120
119
  <button
121
120
  name="action_document_send"
@@ -123,7 +122,7 @@
123
122
  string="Consultar Recibo"
124
123
  groups="l10n_br_fiscal.group_user"
125
124
  class="btn-primary"
126
- attrs="{'invisible': [('state_edoc','!=','enviada')]}"
125
+ invisible="state_edoc != 'enviada'"
127
126
  />
128
127
  <button
129
128
  name="action_document_back2draft"
@@ -131,7 +130,7 @@
131
130
  string="Voltar p/ Em Digitação"
132
131
  groups="l10n_br_fiscal.group_user"
133
132
  class="btn-secondary"
134
- attrs="{'invisible': ['|', ('state_edoc', 'not in', ('a_enviar', 'rejeitada', 'enviada')), ('document_electronic', '=', False)]}"
133
+ invisible="state_edoc not in ('a_enviar', 'rejeitada', 'enviada') or not document_electronic"
135
134
  />
136
135
  <button
137
136
  name="view_pdf"
@@ -139,7 +138,7 @@
139
138
  string="Visualizar PDF"
140
139
  groups="l10n_br_fiscal.group_user"
141
140
  class="btn-primary"
142
- attrs="{'invisible': [('state_edoc', '=', 'em_digitacao')]}"
141
+ invisible="state_edoc == 'em_digitacao'"
143
142
  />
144
143
  <button
145
144
  name="view_xml"
@@ -147,35 +146,35 @@
147
146
  string="Visualizar XML"
148
147
  groups="l10n_br_fiscal.group_user"
149
148
  class="btn-primary"
150
- attrs="{'invisible': ['|', ('document_electronic', '=', False), ('state_edoc', '=', 'em_digitacao')]}"
149
+ invisible="not document_electronic or state_edoc == 'em_digitacao'"
151
150
  />
152
151
  <button
153
152
  name="action_document_cancel"
154
153
  type="object"
155
154
  string="Cancelar"
156
155
  groups="l10n_br_fiscal.group_user"
157
- attrs="{'invisible': ['|', ('state_edoc', '!=', 'autorizada'), ('document_electronic', '=', False)]}"
156
+ invisible="state_edoc != 'autorizada' or not document_electronic"
158
157
  />
159
158
  <button
160
159
  name="action_document_invalidate"
161
160
  type="object"
162
161
  string="Invalidar Numeração"
163
162
  groups="l10n_br_fiscal.group_user"
164
- attrs="{'invisible': [('state_edoc', 'in', ('em_digitacao', 'autorizada', 'cancelada', 'denegada'))]}"
163
+ invisible="state_edoc in ('em_digitacao', 'autorizada', 'cancelada', 'denegada')"
165
164
  />
166
165
  <button
167
166
  name="action_document_correction"
168
167
  type="object"
169
168
  string="Carta de correção"
170
169
  groups="l10n_br_fiscal.group_user"
171
- attrs="{'invisible': [('state_edoc', '!=', 'autorizada')]}"
170
+ invisible="state_edoc != 'autorizada'"
172
171
  />
173
172
  <button
174
173
  name="action_create_return"
175
174
  type="object"
176
175
  string="Devolver"
177
176
  groups="l10n_br_fiscal.group_user"
178
- attrs="{'invisible': [('state_edoc', '!=', 'autorizada')]}"
177
+ invisible="state_edoc != 'autorizada'"
179
178
  />
180
179
  <field
181
180
  name="state_edoc"
@@ -186,7 +185,7 @@
186
185
  <div
187
186
  class="alert alert-danger"
188
187
  role="alert"
189
- attrs="{'invisible': [('xml_error_message','=',False)]}"
188
+ invisible="not xml_error_message"
190
189
  >
191
190
  <strong>XML validation errors:</strong>
192
191
  <field name="xml_error_message" readonly="1" />
@@ -194,7 +193,7 @@
194
193
  <div
195
194
  class="alert alert-danger"
196
195
  role="alert"
197
- attrs="{'invisible': [('state_edoc','not in',('rejeitada', 'denegada'))]}"
196
+ invisible="state_edoc not in ('rejeitada', 'denegada')"
198
197
  >Fiscal Document:
199
198
  <field name="document_type_id" readonly="1" />is
200
199
  <strong>
@@ -203,14 +202,14 @@
203
202
  <div
204
203
  class="alert alert-success"
205
204
  role="alert"
206
- attrs="{'invisible': [('state_edoc','!=','autorizada')]}"
205
+ invisible="state_edoc != 'autorizada'"
207
206
  >Fiscal Document:
208
207
  <field name="document_type_id" readonly="1" />is
209
208
  <strong>Authorized</strong></div>
210
209
  <div
211
210
  class="alert alert-warning"
212
211
  role="alert"
213
- attrs="{'invisible': [('state_edoc','!=','cancelada')]}"
212
+ invisible="state_edoc != 'cancelada'"
214
213
  >Fiscal Document:
215
214
  <field name="document_type_id" readonly="1" />is
216
215
  <strong>Cancelled</strong></div>
@@ -221,7 +220,8 @@
221
220
  <field name="document_type_id" readonly="1" />:
222
221
  <field
223
222
  name="document_number"
224
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner')]}"
223
+ readonly="issuer == 'company'"
224
+ required="issuer == 'partner'"
225
225
  /></h1>
226
226
  </div>
227
227
  <group>
@@ -248,11 +248,13 @@
248
248
  <field name="document_type_id" required="1" />
249
249
  <label
250
250
  for="document_key"
251
- attrs="{'invisible': [('document_electronic', '=', False)]}"
251
+ invisible="not document_electronic"
252
252
  />
253
253
  <div
254
254
  class="o_row"
255
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner'), ('document_electronic', '=', True)], 'invisible': [('document_electronic', '=', False)]}"
255
+ invisible="not document_electronic"
256
+ readonly="issuer == 'company'"
257
+ required="issuer == 'partner' and document_electronic"
256
258
  >
257
259
  <field
258
260
  name="document_key"
@@ -262,17 +264,20 @@
262
264
  </div>
263
265
  <field
264
266
  name="document_serie_id"
265
- attrs="{'invisible': [('issuer', '!=', 'company')], 'required': [('issuer', '=', 'company')]}"
267
+ invisible="issuer != 'company'"
268
+ required="issuer == 'company'"
266
269
  context="{'default_document_type_id': document_type_id}"
267
270
  />
268
271
  <field
269
272
  name="document_serie"
270
- attrs="{'invisible': [('issuer', '!=', 'partner')], 'required': [('issuer', '=', 'partner')]}"
273
+ invisible="issuer != 'partner'"
274
+ required="issuer == 'partner'"
271
275
  />
272
276
  <field
273
277
  name="document_number"
274
278
  force_save="1"
275
- attrs="{'readonly': [('issuer', '=', 'company')], 'required': [('issuer', '=', 'partner')]}"
279
+ readonly="issuer == 'company'"
280
+ required="issuer == 'partner'"
276
281
  />
277
282
  </group>
278
283
  <group name="document_extra">
@@ -397,15 +402,15 @@
397
402
  <field name="delivery_costs" invisible="1" />
398
403
  <field
399
404
  name="amount_insurance_value"
400
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
405
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
401
406
  />
402
407
  <field
403
408
  name="amount_other_value"
404
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
409
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
405
410
  />
406
411
  <field
407
412
  name="amount_freight_value"
408
- attrs="{'readonly': [('delivery_costs', '=', 'line'),('force_compute_delivery_costs_by_total', '=', False)]}"
413
+ readonly="delivery_costs == 'line' and not force_compute_delivery_costs_by_total"
409
414
  />
410
415
  <field name="amount_estimate_tax" />
411
416
  <field name="amount_tax" />
@@ -16,11 +16,11 @@
16
16
  <field name="model">l10n_br_fiscal.invalidate.number</field>
17
17
  <field name="arch" type="xml">
18
18
  <tree>
19
- <field name="company_id" />
20
- <field name="document_type_id" />
21
- <field name="document_serie_id" />
22
- <field name="number_start" />
23
- <field name="number_end" />
19
+ <field name="company_id" readonly="state != 'draft'" />
20
+ <field name="document_type_id" readonly="state != 'draft'" />
21
+ <field name="document_serie_id" readonly="state != 'draft'" />
22
+ <field name="number_start" readonly="state != 'draft'" />
23
+ <field name="number_end" readonly="state != 'draft'" />
24
24
  <field name="state" />
25
25
  </tree>
26
26
  </field>
@@ -37,19 +37,19 @@
37
37
  name="action_invalidate"
38
38
  type="object"
39
39
  string="Confirmar"
40
- states="draft"
40
+ invisible="state != 'draft'"
41
41
  class="oe_highlight"
42
42
  />
43
43
  </header>
44
44
  <group name="serie">
45
- <field name="company_id" />
46
- <field name="document_type_id" />
47
- <field name="document_serie_id" />
45
+ <field name="company_id" readonly="state != 'draft'" />
46
+ <field name="document_type_id" readonly="state != 'draft'" />
47
+ <field name="document_serie_id" readonly="state != 'draft'" />
48
48
  </group>
49
49
  <group name="invalidation">
50
- <field name="number_start" />
51
- <field name="number_end" />
52
- <field name="justification" />
50
+ <field name="number_start" readonly="state != 'draft'" />
51
+ <field name="number_end" readonly="state != 'draft'" />
52
+ <field name="justification" readonly="state != 'draft'" />
53
53
  </group>
54
54
  </form>
55
55
  </field>
@@ -267,13 +267,13 @@
267
267
  sequence="10"
268
268
  />
269
269
  <!-- Service Type -->
270
- <menuitem
270
+ <!--menuitem
271
271
  id="service_type_menu"
272
272
  action="service_type_action"
273
273
  groups="l10n_br_fiscal.group_manager"
274
274
  parent="products_config_menu"
275
275
  sequence="20"
276
- />
276
+ /-->
277
277
  <!-- NCM -->
278
278
  <menuitem
279
279
  id="ncm_menu"
@@ -70,8 +70,8 @@
70
70
  id="product_tmpl_button"
71
71
  icon="fa-bars"
72
72
  name="%(product.product_template_action_all)d"
73
- context="{'search_default_nbm_id': active_id}"
74
- attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
73
+ context="{'search_default_nbm_id': id}"
74
+ invisible="product_tmpl_qty == 0"
75
75
  >
76
76
  <field
77
77
  string="Products"
@@ -79,7 +79,7 @@
79
79
  icon="fa-bars"
80
80
  name="%(product.product_template_action_all)d"
81
81
  domain="['|', ('fiscal_type', '=', '09'), ('fiscal_type', '=', False), ('type', '=', 'service')]"
82
- context="{'search_default_nbs_id': active_id, 'default_fiscal_type': '09', 'default_type': 'service'}"
82
+ context="{'search_default_nbs_id': id, 'default_fiscal_type': '09', 'default_type': 'service'}"
83
83
  attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
84
84
  >
85
85
  <field
@@ -100,7 +100,7 @@
100
100
  name="web_ribbon"
101
101
  title="Archived"
102
102
  bg_color="bg-danger"
103
- attrs="{'invisible': [('active', '=', True)]}"
103
+ invisible="active"
104
104
  />
105
105
  <div class="oe_button_box" name="button_box">
106
106
  <button
@@ -117,8 +117,8 @@
117
117
  id="product_tmpl_button"
118
118
  icon="fa-bars"
119
119
  name="%(product.product_template_action_all)d"
120
- context="{'search_default_ncm_id': active_id}"
121
- attrs="{'invisible': [('product_tmpl_qty', '=', 0)]}"
120
+ context="{'search_default_ncm_id': id}"
121
+ invisible="product_tmpl_qty == 0"
122
122
  >
123
123
  <field
124
124
  string="Products"
@@ -12,6 +12,30 @@
12
12
  <field name="kanban_dashboard" />
13
13
  <field name="color" />
14
14
  <templates>
15
+ <!-- Novo: kanban-menu separado -->
16
+ <t t-name="kanban-menu">
17
+ <div class="o_kanban_card_manage_section">
18
+ <div role="menuitem" class="o_kanban_manage_reports">
19
+ <div class="o_kanban_card_manage_title ps-4 pb-1">
20
+ <span class="fw-bolder">Ações</span>
21
+ <!-- Você pode mudar para 'View' se preferir -->
22
+ </div>
23
+ <a
24
+ role="menuitem"
25
+ class="dropdown-item"
26
+ type="object"
27
+ name="open_action"
28
+ >Ver Todos</a>
29
+ <div role="separator" class="dropdown-divider" />
30
+ <ul
31
+ t-if="widget.editable"
32
+ class="oe_kanban_colorpicker"
33
+ data-field="color"
34
+ />
35
+ </div>
36
+ </div>
37
+ </t>
38
+ <!-- kanban-box normal -->
15
39
  <t t-name="kanban-box">
16
40
  <div
17
41
  t-attf-class="#{kanban_color(record.color.raw_value)}"
@@ -26,7 +50,7 @@
26
50
  t-set="fiscal_type"
27
51
  />
28
52
  <div>
29
- <div t-attf-class="o_kanban_card_header">
53
+ <div class="o_kanban_card_header">
30
54
  <div class="o_kanban_card_header_title">
31
55
  <div class="o_primary">
32
56
  <a type="object" name="open_action">
@@ -40,19 +64,6 @@
40
64
  <field name="fiscal_type" />
41
65
  </div>
42
66
  </div>
43
- <div class="o_kanban_manage_button_section">
44
- <a
45
- class="o_kanban_manage_toggle_button"
46
- href="#"
47
- >
48
- <i
49
- class="fa fa-ellipsis-v"
50
- role="img"
51
- aria-label="Manage"
52
- title="Manage"
53
- />
54
- </a>
55
- </div>
56
67
  </div>
57
68
  <div class="container o_kanban_card_content">
58
69
  <div class="row">
@@ -85,7 +96,7 @@
85
96
  <a
86
97
  type="object"
87
98
  name="open_action"
88
- context="{'search_default_authorized':1}"
99
+ context="{'search_default_authorized': 1}"
89
100
  id="fiscal_dashboard_sale_pay_link"
90
101
  >
91
102
  <t
@@ -100,9 +111,7 @@
100
111
  name="open_action"
101
112
  context="{'search_default_cancelled': '1'}"
102
113
  >
103
- <span
104
- title="Faturas canceladas"
105
- >
114
+ <span title="Cancelados">
106
115
  <t
107
116
  t-esc="dashboard.number_cancelled"
108
117
  />Cancelados</span>
@@ -26,7 +26,7 @@
26
26
  <button
27
27
  name="action_review"
28
28
  type="object"
29
- states="draft"
29
+ invisible="state != 'draft'"
30
30
  string="Review"
31
31
  class="oe_highlight"
32
32
  groups="l10n_br_fiscal.group_manager"
@@ -58,7 +58,7 @@
58
58
  </group>
59
59
  <group
60
60
  name="general_cfop"
61
- attrs="{'invisible': [('fiscal_operation_type', '=', 'all')]}"
61
+ invisible="fiscal_operation_type == 'all'"
62
62
  >
63
63
  <field
64
64
  name="cfop_internal_id"