Currently if public user has country_id, following traceback is raise
when /shop URL is opened:
Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/addons/base/models/qweb.py", line 331, in _compiled_fn
return compiled(self, append, new, options, log)
File "<template>", line 1, in template_website_sale_products_item_306
File "/.repo_requirements/odoo/addons/website_sale/models/product.py", line 294, in _get_combination_info
fpos = self.env['account.fiscal.position'].get_fiscal_position(partner.id).sudo()
File "/.repo_requirements/odoo/addons/account/models/partner.py", line 184, in get_fiscal_position
fp = self._get_fpos_by_region(delivery.country_id.id, delivery.state_id.id, delivery.zip, vat_required)
File "/.repo_requirements/odoo/addons/account/models/partner.py", line 141, in _get_fpos_by_region
fpos = self.search(domain_country + state_domain + zip_domain, limit=1)
File "/.repo_requirements/odoo/odoo/models.py", line 1708, in search
res = self._search(args, offset=offset, limit=limit, order=order, count=count)
File "/.repo_requirements/odoo/odoo/models.py", line 4485, in _search
model.check_access_rights('read')
File "/.repo_requirements/odoo/odoo/models.py", line 3331, in check_access_rights
return self.env['ir.model.access'].check(self._name, operation, raise_exception)
File "<decorator-gen-33>", line 2, in check
File "/.repo_requirements/odoo/odoo/tools/cache.py", line 90, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1792, in check
raise AccessError(msg)
odoo.exceptions.AccessError: You are not allowed to access 'Fiscal Position' (account.fiscal.position) records.
This operation is allowed for the following groups:
- Accounting/Advisor
- User types/Internal User
- User types/Portal
Contact your administrator to request access if necessary.
Error to render compiling AST
AccessError: You are not allowed to access 'Fiscal Position' (account.fiscal.position) records.
This operation is allowed for the following groups:
- Accounting/Advisor
- User types/Internal User
- User types/Portal
Contact your administrator to request access if necessary.
Template: website_sale.products_item
Path: /t/t[2]
Node: <t t-set="combination_info" t-value="product._get_combination_info(only_template=True, add_qty=add_qty or 1, pricelist=pricelist)"/>
Above was tested and reproduced in an instance of odoo runbot v14.0:
https://youtu.be/GgUnyna_EX8
That is due to public user has not permission to read model
account.fiscal.position and in fact in ACL, permission contains
'public' but is setting group_portal.
closesodoo/odoo#73117
X-original-commit: 53dc9f62b6d4c362292bf48df54b11c4852f6006
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
On a thread with at least 21 replies, click on "show N more replies".
The first time, it does the last 10 replies.
Click again: it appends the same batch of 10 replies to the thread.
The button loads the replies starting from the last reply id,
but this id is not updated after load.
This is because the code searches for a `p.well` in the DOM
assumed to be the `o_mg_read_more` parent (see c40f184).
However, commit 59237ea removed the `.well` class of the parent.
The new button is not found, the old button is not removed, and so it goes.
Forward-Port of 4536764ad52b5b
closesodoo/odoo#60647
X-original-commit: 69dd830a15da2d7e43e6040e26d960d2e941002e
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The method _notify_get_groups is called to determine how a user should be
notified based on the groups he belongs to.
If a record is shared via portal but the model does not have a field named
`partner_id`, the method was failing.
With this patch, the presence of the field is checked first. No additional
access_token is computed if the field is not present.
Forward port of #59123closesodoo/odoo#59310
X-original-commit: 6612c7ae766e996c57bda5c4c23132797f162f1e
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Current behavior:
Auto-generated SQL fails with ERROR: missing FROM-clause entry for table when table alias names exceed the target length of 63 characters. This is because odoo.osv.expression.py handles shortening the table name alias in generate_table_alias, but not in get_join_conditions. In the resulting SQL, shortened aliases are used in the FROM clause, whereas in the join conditions, the full alias is used, which is both exceeding the Postgres limit and not matching the table name alias in the FROM clause.
Expected behavior:
auto-generated SQL runs without errors.
Implementation of fix:
- refactor alias shortening into new function _shorten_alias to make it reusable
- Use _shorten_alias in both generate_table_alias and get_join_conditions
closesodoo/odoo#57944
X-original-commit: 40b97b37e2188b082cd70eec1cdf14bf9366377e
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
description for tax templates in account_tax_data.xml is not showing a "friendly" customer description for several taxes.
It's common to be requested for changes and being forced to help customers to replace the current tax label by understandable descriptions.
This PR improves that description and makes it easier to understand.
closesodoo/odoo#54402
X-original-commit: f8d55c8e4559264c68155a4a8e3151f6aa045037
Signed-off-by: Josse Colpaert <jco@openerp.com>