because of some changes on the FieldText widget to correctly compute the
size of the eidt box, the SmsWidget can no longer extend that widget since
we work with a DIV and not a single TEXTAREA. For the future, we
might change the way FieldText works but since we only need the basic
functions from InputField in this case (no need of resize nor
translations) we chose to extend InputField.
Several quick fixes:
- repair malformed SQL queries and injection problems
- proper token comparisons (consteq)
- better translatable terms (less context-lessplaceholders)
- basic testing of case-(in)sensitivity of blacklist
- safety check for non-implemented cases in search methods for computed
field
More testing and review is needed for case-sensitivity and email
extraction from generic "addressing fields".
Commit 092200073 broke the discount computation for discount of type
fixed_amount. Indeed the appropriate method was not called anymore and such
discount type would be computed as percentage discount with default value of
10% (field default for percentage).
opw-1888484
* 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.