* requires that current user has group_system
* only visible in debug mode (?debug)
* available at login or via debug menu
* special systray color in superuser sessions
Closes#27254
Commit 76c5389 removed the option dest for test-enable leading to a
traceback when trying to save the configuration.
This was due to the fact that the options dict was sorted while
containing a None key because of the missing dest.
- Create a statement line with amount < 0
- Create a reconciliation rule with writeoff_suggestion + auto_validate checked
- Open the reconciliation widget: the line is not reconciled.
Many users are confused when using pricelists on the PoS :
When they tick the box "Show discount" on the pricelist, it has no impact when the pricelist is applied on the PoS.
They often report a ticket thinking it's a bug.
It can be useful to show the discount on the PoS when applying a pricelist, when users benefit from a preferred price,
the vendor often wants to show it to the customer.
The name of an account.move.line is not mandatory
If a line with no name but analytic tags is posted, the name for the analytic
line should be computed differently (the name of an anlytic line is required).
Apply changes from f2b2d87236 to the _prepare_analytic_distribution_line method
Fixes#27281
When working with product variants, if the error which gets displayed does not include the product attributes, it's harder to identify the variant with the error.
closesodoo/odoo#27298
We don't want two different reports for the same thing.
We will therefore lose the ability to print the "quotation builder" report built with the snippets.
PR: #27293
task-1889346
* website_mass_mailing, website_twitter
A snippet option describes where standard snippets can be dropped in the
page (which is currently in oe_structure elements or html fields, except
for the footer which can only have one snippet). Some external snippets
in other apps or themes were not using this snippet option but defined
their owns which were not adapted to the correct drop locations.
Account type of other income should be of type 'income' and not 'other'
Filter 'Assets' in chart of accounts view is not working correctly due to typo in the filter.
This is already handled in the l10n_multilang module for countries with several languages
Same as the account names, it should not be translatable in standard
* reduce number of patterns: using localised month names is useless
since we're not setting the locale so it always uses the server's own
* avoid going through the entire strptime machinery: lift the bits of
TimeRE we're interested in to get regex bits out of strptime patterns
and just to an re.match to check whether value & pattern match
Further possible optimisation: cache REs and only compile user-provided
patterns dynamically.
When an attachment is requested with an access_token, a server error
would occur in some situation.
With this changeset when an access token is specified:
- returns a 404 error if the attachment does not exist
- returns a 403 error if the attachment has no access_token
Without this change, the added test would fail with:
```
status = test_access(access_token='Secret')
self.assertEqual(status, 403,
"no access if access token for attachment without access token")
| if not consteq(obj.access_token, access_token):
| TypeError: unsupported operand types(s) or combination of types: 'bool' and 'str'
status = test_access(access_token='Secret')
self.assertEqual(status, 404,
"no access with access token for deleted attachment")
| if not consteq(obj.access_token, access_token):
| odoo.exceptions.MissingError: ('Record does not exist or has been deleted.', None)
```
close#26647
opw-1884419
closes#27275
Co-authored-by: Wolfgang Taferner <wtaferner@users.noreply.github.com>
The inventory overview is made of kanban cards of picking types. There is a link to the picking type settings on each card. Before this commit, the link was partially ouside the card.
Two account had the same account code. Because of that, one of them always failed to be created and logged a psql error. To fix that, we totally remove this account, as it never got created anyway.
Upon module upgrade, automatic fields are removed from `ir.model.fields`. This
is because those fields do not belong to the module of their model. Fix the
condition to update their XML id when the module of their model is upgraded.
Before this commit, if you use this field outside of a controller website,
it will fail because this field depend of request.website that is only set
on controller of type website.
Now we return False if we call try to use this field outside of the website.
Eg: call get_current_pricelist in json
The goal here is to keep the default behaviour of test-enable and test-tags
except that test-tags will set test-enable to true if set.
- +standart must stay the default test-tags if none are set
(only usefull if test-enable is set)
- should work no matter the order of "test-tags" and "test-enable"
options in args
- knowing the fact that for strange reason, _parse_config is called twice
PR: #27255
Before this rev. the lazy loading of views was correctly handled if there was
only one action in the action stack (which is usually the case when performing a
F5, the main use case of the view lazy loading).
Nevertheless, it might happen that the lazy-loading is used in top of other
actions (when performing a `doAction` with a form view for an action with
another view as first view, i.e. when leaving Studio while editing the form view).
The controller was `unshift` in the case (put in the first position of the
controller stack), which is not correct.
This causes the breadcrumb to be misordered and a traceback occured when trying
to access a breadcrumb element.
Co-authored-by: Aaron Bohy <aab@odoo.com>