Skip to content

Commit 145f159

Browse files
committed
Merge PR #3012 into 14.0
Signed-off-by rvalyi
2 parents 93cabb9 + b5997db commit 145f159

File tree

69 files changed

+1795
-367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1795
-367
lines changed

l10n_br_account/models/account_move.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,10 @@ def action_document_back2draft(self):
597597
move.button_draft()
598598

599599
def _post(self, soft=True):
600-
self.mapped("fiscal_document_id").filtered(
601-
lambda d: d.document_type_id
602-
)._document_confirm_to_send()
600+
for move in self.with_context(skip_post=True):
601+
move.fiscal_document_ids.filtered(
602+
lambda d: d.document_type_id
603+
).action_document_confirm()
603604
return super()._post(soft=soft)
604605

605606
def view_xml(self):

l10n_br_account/models/fiscal_document.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,9 @@ def _document_correction(self, justificative):
171171

172172
def action_document_confirm(self):
173173
result = super().action_document_confirm()
174-
move_ids = self.move_ids.filtered(lambda move: move.state == "draft")
175-
move_ids._post()
174+
if not self._context.get("skip_post"):
175+
move_ids = self.move_ids.filtered(lambda move: move.state == "draft")
176+
move_ids._post()
176177
return result
177178

178179
def action_document_back2draft(self):
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
22

33
from . import account_move_reversal
4-
from . import wizard_document_invalidate

l10n_br_account/wizards/wizard_document_invalidate.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

l10n_br_fiscal/__manifest__.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
{
55
"name": "Módulo fiscal brasileiro",
6-
"summary": "Brazilian fiscal core module.",
6+
"summary": "root fiscal module for Brazil",
77
"category": "Localisation",
88
"license": "AGPL-3",
99
"author": "Akretion, Odoo Community Association (OCA)",
1010
"maintainers": ["renatonlima"],
1111
"website": "https://github.com/OCA/l10n-brazil",
1212
"development_status": "Production/Stable",
13-
"version": "14.0.22.5.0",
13+
"version": "14.0.23.0.0",
1414
"depends": [
1515
"product",
1616
"l10n_br_base",
@@ -84,16 +84,6 @@
8484
"views/invalidate_number_view.xml",
8585
"views/city_taxation_code.xml",
8686
"views/operation_dashboard_view.xml",
87-
"views/document_event_view.xml",
88-
# Reports
89-
"views/document_event_report.xml",
90-
"views/document_event_template.xml",
91-
# Wizards
92-
"wizards/document_cancel_wizard.xml",
93-
"wizards/document_correction_wizard.xml",
94-
"wizards/document_status_wizard.xml",
95-
"wizards/invalidate_number_wizard.xml",
96-
"wizards/document_import_wizard_mixin.xml",
9787
# Actions
9888
"views/l10n_br_fiscal_action.xml",
9989
# Menus
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright (C) 2024 - TODAY - Raphaël Valyi - Akretion <[email protected]>
2+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3+
4+
from openupgradelib import openupgrade
5+
6+
to_install = "l10n_br_fiscal_edi"
7+
8+
9+
def install_new_modules(cr):
10+
sql = """
11+
UPDATE ir_module_module
12+
SET state='to install'
13+
WHERE name = '{}' AND state='uninstalled'
14+
""".format(
15+
to_install,
16+
)
17+
openupgrade.logged_query(cr, sql)
18+
19+
20+
@openupgrade.migrate()
21+
def migrate(env, version):
22+
install_new_modules(env.cr)
23+
query = """
24+
DELETE FROM ir_model_fields
25+
WHERE model = 'l10n_br_fiscal.document.electronic'
26+
"""
27+
openupgrade.logged_query(env.cr, query)

l10n_br_fiscal/models/__init__.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@
33
from . import data_abstract
44
from . import data_product_abstract
55
from . import data_ncm_nbs_abstract
6-
from . import document_workflow
76
from . import document_fiscal_mixin_methods
87
from . import document_fiscal_mixin_fields
98
from . import document_fiscal_mixin
109
from . import document_move_mixin
1110
from . import document_fiscal_line_mixin_methods
1211
from . import document_fiscal_line_mixin
13-
from . import document_event
14-
from . import document_eletronic
1512
from . import invalidate_number
1613
from . import comment
1714
from . import ibpt

l10n_br_fiscal/models/document.py

Lines changed: 62 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from odoo.exceptions import ValidationError
1111

1212
from ..constants.fiscal import (
13+
DOCUMENT_ISSUER,
1314
DOCUMENT_ISSUER_COMPANY,
1415
DOCUMENT_ISSUER_DICT,
1516
DOCUMENT_ISSUER_PARTNER,
@@ -20,10 +21,13 @@
2021
MODELO_FISCAL_NFCE,
2122
MODELO_FISCAL_NFE,
2223
MODELO_FISCAL_NFSE,
24+
SITUACAO_EDOC,
2325
SITUACAO_EDOC_AUTORIZADA,
2426
SITUACAO_EDOC_CANCELADA,
2527
SITUACAO_EDOC_DENEGADA,
28+
SITUACAO_EDOC_EM_DIGITACAO,
2629
SITUACAO_EDOC_INUTILIZADA,
30+
SITUACAO_FISCAL,
2731
)
2832

2933

@@ -49,7 +53,6 @@ class Document(models.Model):
4953
_name = "l10n_br_fiscal.document"
5054
_inherit = [
5155
"l10n_br_fiscal.document.mixin.fields",
52-
"l10n_br_fiscal.document.electronic",
5356
"l10n_br_fiscal.document.move.mixin",
5457
"mail.thread",
5558
]
@@ -62,6 +65,25 @@ class Document(models.Model):
6265
index=True,
6366
)
6467

68+
state_edoc = fields.Selection(
69+
selection=SITUACAO_EDOC,
70+
string="Situação e-doc",
71+
default=SITUACAO_EDOC_EM_DIGITACAO,
72+
copy=False,
73+
required=True,
74+
readonly=True,
75+
# tracking=True,
76+
index=True,
77+
)
78+
79+
state_fiscal = fields.Selection(
80+
selection=SITUACAO_FISCAL,
81+
string="Situação Fiscal",
82+
copy=False,
83+
# tracking=True,
84+
index=True,
85+
)
86+
6587
fiscal_operation_id = fields.Many2one(
6688
domain="[('state', '=', 'approved'), "
6789
"'|', ('fiscal_operation_type', '=', fiscal_operation_type),"
@@ -140,23 +162,6 @@ class Document(models.Model):
140162
default=EDOC_PURPOSE_NORMAL,
141163
)
142164

143-
event_ids = fields.One2many(
144-
comodel_name="l10n_br_fiscal.event",
145-
inverse_name="document_id",
146-
string="Events",
147-
copy=False,
148-
readonly=True,
149-
)
150-
151-
correction_event_ids = fields.One2many(
152-
comodel_name="l10n_br_fiscal.event",
153-
inverse_name="document_id",
154-
domain=[("type", "=", "14")],
155-
string="Correction Events",
156-
copy=False,
157-
readonly=True,
158-
)
159-
160165
document_type = fields.Char(
161166
string="Document Type Code",
162167
related="document_type_id.code",
@@ -171,10 +176,16 @@ class Document(models.Model):
171176
copy=False,
172177
)
173178

174-
# Você não vai poder fazer isso em modelos que já tem state
175-
# TODO Porque não usar o campo state do fiscal.document???
179+
# this related "state" field is required for the status bar widget
180+
# while state_edoc avoids colliding with the state field
181+
# of objects where the fiscal mixin might be injected.
176182
state = fields.Selection(related="state_edoc", string="State")
177183

184+
issuer = fields.Selection(
185+
selection=DOCUMENT_ISSUER,
186+
default=DOCUMENT_ISSUER_COMPANY,
187+
)
188+
178189
document_subsequent_ids = fields.One2many(
179190
comodel_name="l10n_br_fiscal.subsequent.document",
180191
inverse_name="source_document_id",
@@ -404,6 +415,37 @@ def action_create_return(self):
404415

405416
return action
406417

418+
# the following actions are meant to be implemented in other modules such as
419+
# l10n_br_fiscal_edi. They are defined here so they can be overriden in modules
420+
# that don't depend on l10n_br_fiscal_edi (such as l10n_br_account).
421+
def view_pdf(self):
422+
pass
423+
424+
def view_xml(self):
425+
pass
426+
427+
def action_document_confirm(self):
428+
pass
429+
430+
def action_document_send(self):
431+
pass
432+
433+
def action_document_back2draft(self):
434+
pass
435+
436+
def action_document_cancel(self):
437+
pass
438+
439+
def action_document_invalidate(self):
440+
pass
441+
442+
def action_document_correction(self):
443+
pass
444+
445+
def exec_after_SITUACAO_EDOC_DENEGADA(self, old_state, new_state):
446+
# see https://github.com/OCA/l10n-brazil/pull/3272
447+
pass
448+
407449
def _get_email_template(self, state):
408450
self.ensure_one()
409451
return self.document_type_id.document_email_ids.search(

l10n_br_fiscal/models/invalidate_number.py

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -82,50 +82,6 @@ class InvalidateNumber(models.Model):
8282
default="draft",
8383
)
8484

85-
event_ids = fields.One2many(
86-
comodel_name="l10n_br_fiscal.event",
87-
inverse_name="invalidate_number_id",
88-
string="Events",
89-
readonly=True,
90-
states={"done": [("readonly", True)]},
91-
)
92-
93-
# Authorization Event Related Fields
94-
authorization_event_id = fields.Many2one(
95-
comodel_name="l10n_br_fiscal.event",
96-
string="Authorization Event",
97-
readonly=True,
98-
copy=False,
99-
)
100-
101-
authorization_date = fields.Datetime(
102-
string="Authorization Date",
103-
readonly=True,
104-
related="authorization_event_id.protocol_date",
105-
)
106-
107-
authorization_protocol = fields.Char(
108-
string="Authorization Protocol",
109-
related="authorization_event_id.protocol_number",
110-
readonly=True,
111-
)
112-
113-
send_file_id = fields.Many2one(
114-
comodel_name="ir.attachment",
115-
related="authorization_event_id.file_request_id",
116-
string="Send Document File XML",
117-
ondelete="restrict",
118-
readonly=True,
119-
)
120-
121-
authorization_file_id = fields.Many2one(
122-
comodel_name="ir.attachment",
123-
related="authorization_event_id.file_response_id",
124-
string="Authorization File XML",
125-
ondelete="restrict",
126-
readonly=True,
127-
)
128-
12985
@api.constrains("number_start", "number_end")
13086
def _check_range(self):
13187
for record in self:

l10n_br_fiscal/security/ir.model.access.csv

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,9 @@
9393
"uom_alternative_user","UOM alternative for User","model_uom_uom_alternative","l10n_br_fiscal.group_user",1,0,0,0
9494
"uom_alternative_manager","UOM alternative for Manager","model_uom_uom_alternative","l10n_br_fiscal.group_manager",1,0,0,0
9595
"uom_alternative_maintenance","UOM alternative for Maintenance","model_uom_uom_alternative","l10n_br_fiscal.group_data_maintenance",1,1,1,1
96-
"l10n_br_fiscal_event_user","Fiscal Document Event for User","model_l10n_br_fiscal_event","l10n_br_fiscal.group_user",1,1,1,0
9796
"l10n_br_fiscal_invalidate_number_user","user_l10n_br_fiscal_invalidate_number","model_l10n_br_fiscal_invalidate_number","l10n_br_fiscal.group_user",1,0,0,0
9897
"l10n_br_fiscal_invalidate_number_manager","manager_l10n_br_fiscal_invalidate_number","model_l10n_br_fiscal_invalidate_number","l10n_br_fiscal.group_manager",1,1,1,1
9998
"l10n_br_fiscal_city_taxation_code_user","Fiscal City Taxation Code for User","model_l10n_br_fiscal_city_taxation_code","l10n_br_fiscal.group_user",1,1,1,0
10099
"l10n_br_fiscal_city_taxation_code_manager","Fiscal City Taxation Code for Manager","model_l10n_br_fiscal_city_taxation_code","l10n_br_fiscal.group_user",1,1,1,1
101100
"l10n_br_fiscal_base_wizard_mixin_user",l10n_br_fiscal_base_wizard_mixin,model_l10n_br_fiscal_base_wizard_mixin,base.group_user,1,1,1,1
102-
"l10n_br_fiscal_document_cancel_wizard_user",l10n_br_fiscal_document_cancel_wizard,model_l10n_br_fiscal_document_cancel_wizard,base.group_user,1,1,1,1
103-
"l10n_br_fiscal_document_correction_wizard_user",l10n_br_fiscal_document_correction_wizard,model_l10n_br_fiscal_document_correction_wizard,base.group_user,1,1,1,1
104101
"l10n_br_fiscal_document_status_wizard_user",l10n_br_fiscal_document_status_wizard,model_l10n_br_fiscal_document_status_wizard,base.group_user,1,1,1,1
105-
"l10n_br_fiscal_invalidate_number_wizard_user",l10n_br_fiscal_invalidate_number_wizard,model_l10n_br_fiscal_invalidate_number_wizard,base.group_user,1,1,1,1
106-
"l10n_br_fiscal_document_import_wizard_mixin_user",l10n_br_fiscal_document_import_wizard_mixin_user,model_l10n_br_fiscal_document_import_wizard_mixin,base.group_user,1,1,1,1

0 commit comments

Comments
 (0)