Skip to content

Commit

Permalink
Merge PR OCA#4176 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by eLBati
  • Loading branch information
OCA-git-bot committed Jun 3, 2024
2 parents e4e1e98 + 57c162e commit baff8b5
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 3 deletions.
3 changes: 3 additions & 0 deletions l10n_it_declaration_of_intent/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,7 @@
"views/company_view.xml",
"views/account_invoice_view.xml",
],
"demo": [
"demo/declaration_of_intent.xml",
],
}
59 changes: 59 additions & 0 deletions l10n_it_declaration_of_intent/demo/declaration_of_intent.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?xml version="1.0" ?>
<odoo noupdate="1">
<record id="tax_08c" model="account.tax">
<field name="name">0% art.8c</field>
<field name="description">0a8c</field>
<field name="amount">0</field>
<field name="type_tax_use">sale</field>
<field
name="invoice_repartition_line_ids"
model="account.tax.repartition.line"
eval="[(5, 0, 0),
(0,0, {
'factor_percent': 100,
'repartition_type': 'base',
}),
(0,0, {
'factor_percent': 100,
'repartition_type': 'tax',
'account_id': ref('l10n_it.2601', raise_if_not_found=False) or ref('l10n_generic_coa.tax_payable', raise_if_not_found=False) or obj().env['account.account'].search([('account_type', '=', 'liability_current')], limit=1).id,
}),
]"
/>
<field
name="refund_repartition_line_ids"
model="account.tax.repartition.line"
eval="[(5, 0, 0),
(0,0, {
'factor_percent': 100,
'repartition_type': 'base',
}),
(0,0, {
'factor_percent': 100,
'repartition_type': 'tax',
'account_id': ref('l10n_it.2601', raise_if_not_found=False) or ref('l10n_generic_coa.tax_payable', raise_if_not_found=False) or obj().env['account.account'].search([('account_type', '=', 'liability_current')], limit=1).id,
}),
]"
/>
</record>
<record id="l10n_it_esportatore_abituale" model="account.fiscal.position">
<field name="name">Esportatore Abituale (Dichiarazione Intento)</field>
<field name="chart_template_id" ref="l10n_it.l10n_it_chart_template_generic" />
<field name="sequence">6</field>
<field name="auto_apply">1</field>
<field name="vat_required">1</field>
</record>
<record id="res_partner_1" model="res.partner">
<field name="name">Esportatore Abituale</field>
<field
eval="[Command.set([ref('base.res_partner_category_14'), ref('base.res_partner_category_12')])]"
name="category_id"
/>
<field name="is_company">1</field>
<field name="street">Vicolo Stretto, 1</field>
<field name="city">Monopoli</field>
<field name="zip">00000</field>
<field name="country_id" ref="base.it" />
<field name="fiscal_position_id" ref="l10n_it_esportatore_abituale" />
</record>
</odoo>
17 changes: 14 additions & 3 deletions l10n_it_declaration_of_intent/models/declaration.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,21 @@ def name_get(self):
)
return res

@api.depends("line_ids", "line_ids.amount", "limit_amount")
@api.depends(
"line_ids",
"line_ids.amount",
"limit_amount",
"line_ids.invoice_id",
"line_ids.invoice_id.state",
)
def _compute_amounts(self):
for record in self:
amount = sum(line.amount for line in record.line_ids)
amount = sum(
line.amount
for line in record.line_ids.filtered(
lambda li: li.invoice_id and li.invoice_id.state == "posted"
)
)
# ----- Force value to 0
if amount < 0.0:
amount = 0.0
Expand Down Expand Up @@ -266,7 +277,7 @@ class DeclarationOfIntentLine(models.Model):
)
amount = fields.Monetary()
base_amount = fields.Monetary()
invoice_id = fields.Many2one("account.move", string="Invoice")
invoice_id = fields.Many2one("account.move", string="Invoice", ondelete="cascade")
date_invoice = fields.Date(related="invoice_id.invoice_date", string="Date Invoice")
company_id = fields.Many2one(
"res.company", string="Company", related="declaration_id.company_id"
Expand Down
20 changes: 20 additions & 0 deletions l10n_it_declaration_of_intent/tests/test_declaration_of_intent.py
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,26 @@ def test_invoice_repost(self):
1,
)

def test_invoice_delete(self):
invoice = self._create_invoice(
"test_invoice_repost", self.partner1, tax=self.tax1
)
invoice_form = Form(invoice)
for tax in (self.tax2, self.tax22):
self._add_invoice_line_id(invoice_form, tax=tax)
invoice = invoice_form.save()
invoice.action_post()
invoice.button_draft()
invoice.unlink()
self.assertEqual(
len(
self.declaration1.line_ids.filtered(
lambda line: line.invoice_id == invoice
)
),
0,
)

def test_multi_company(self):
"""Check that a user can only see and create declarations in his company."""
self.env = self.env(user=self.other_user)
Expand Down

0 comments on commit baff8b5

Please sign in to comment.