Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0] [FIX] l10n_it_withholding_tax: fix for #2345 #2351

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion l10n_it_withholding_tax/models/withholding_tax.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ def _compute_get_rate(self):
wt.base = rate[1]

def _default_wt_journal(self):
misc_journal = self.env["account.journal"].search([("code", "=", _("MISC"))])
misc_journal = self.env["account.journal"].search(
[("code", "=", _("MISC")), ("company_id", "=", self.company_id.id)]
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non ci sono già le record rules che mostrano solo i record della company corrente?

Copy link
Contributor Author

@TheMule71 TheMule71 Jul 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Voi dite questa:

<record id="journal_comp_rule" model="ir.rule">
        <field name="name">Journal multi-company</field>
        <field name="model_id" ref="model_account_journal"/>
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>

?

Magari capisco male io ma qui company_id viene matchato in company_ids, ossia le company alle quali l'utente ha accesso, come permessi. Nella issue in questione, l'utente ha effettivamente accesso a più company.

Il problema qui non è di permessi, ma il fatto che viene beccato il primo conto con code _("MISC") ossia "VARIE" per noi, indipendentemente dalla company sulla quale si sta operando. Se l'utente ha accesso ad una sola company, o se per caso il conto che becca è quello giusto, il problema non si manifesta.

Dobbiamo trovare il conto giusto, quello della company corrente su cui l'iutente sta operando.

Copy link
Member

@SimoRubi SimoRubi Jul 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok quindi l'utente ha accesso a più company quindi vengono beccati tutti i sezionali delle company cui può accedere.
Onestamente ricordavo che la rule facesse vedere solo i sezionali dell'azienda dell'utente (ma è in v12: https://github.com/odoo/odoo/blob/49eb24a46771792bec454f6c4693c19d2b5b05b6/addons/account/security/account_security.xml#L105-L110).

In questo caso secondo me va bene filtrare per la company corrente ma dovresti usare self.env.company perché durante il calcolo dei default, self non ha dati al suo interno ; o meglio: dipendono solo dagli altri default https://github.com/odoo/odoo/blob/72fea2fe11244a55e9a630049fc75f147e26e473/odoo/models.py#L1263-L1328 ma per semplicità lo supporrei senza dati perché https://github.com/odoo/odoo/blob/72fea2fe11244a55e9a630049fc75f147e26e473/odoo/models.py#L1263-L1328 è un api.model

if misc_journal:
return misc_journal[0].id
return False
Expand Down