Commit Graph
161827 Commits
Author SHA1 Message Date
MerlinGuillaume abdae38656 [FIX] account: group by payment status in the invoice analysis
An error is thrown when displaying the invoice analysis with a group by
on payment status when there is at least one invoice partially paid

Steps to reproduce:
1. Install Invoicing
2. Open Invoicing and partially pay any invoice
3. Go to Invoicing > Reporting > Invoice Analysis
4. Group by custom field: payment status

Solution:
Use all the possible payment_state values of account_move for
account_invoice_report

opw-3213576

closes odoo/odoo#123777

X-original-commit: 0e063bc142f13456935263caa07e6d840c1852f9
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
2023-06-06 10:30:11 +02:00
tsm-odoo fc82e4feda [FIX] im_livechat: apply message update in real time
Since [1], the `mail.record/insert` notification is not
sent to the livechat visitor.

Since [2], this notification is not listened by the
notification handler either.

This PR fixes those issues in order to make message update
instantaneous on the public livechat.

1: https://github.com/odoo/odoo/pull/120018
2: https://github.com/odoo/odoo/pull/120893

task-3349454

closes odoo/odoo#123728

X-original-commit: 6f456e3b591ebc86502e4be65768042cc223c3db
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Debondt Didier (did) <did@odoo.com>
2023-06-06 10:30:05 +02:00
althaf shaik a3da3ec98a [FIX] stock: return empty recordset if no rule found
When _get_rule does not find any rule, it returns False. This
could create some tracebacks as we mostly expect a stock.rule.

It will give:
if False in <recordset>:
Hence a traceback:
TypeError: unsupported operand types in: False in stock.rule()

By applying these changes will resolve this issue.

Sentry-4206998573

closes odoo/odoo#123194

X-original-commit: d6a0b9810ffc7fad68ebf7b13902747d43024455
Signed-off-by: Adrien Widart (awt) <awt@odoo.com>
2023-06-06 10:30:03 +02:00
Andrea Grazioso (agr-odoo) ce28cb2683 [FIX] account_edi: send payment xml in "Send receipt by email" action
With MX edi company setup
Create an invoice, validate cfdi
Register payment, validate cfdi
Action > Send receipt by email

Issue: payment xml is missing from email composer

opw-3289582

closes odoo/odoo#123168

X-original-commit: ed6c3c3a4a6c5c685e709734c536a5e4252b4eb8
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
2023-06-06 10:30:00 +02:00
Luis Manuel [Vauxoo] ad72ee0cbb [CLA] Update Vauxoo's CLA adding LuisMzz
Incorporate Luis Manuel (LuisMzz) as Vauxoo's contributor.

I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#123804

X-original-commit: 5f040ad7a7eb98c572f847d7e936d1577d70942f
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-06-06 09:19:39 +02:00
Jurgen (jugj) 4c772ecfb9 [IMP] hr_recruitment: Make the last job position used the default one at creation
task-3133112

closes odoo/odoo#123781

X-original-commit: 388cbee9537b460ef80401d3a33b258d761477c2
Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-06 09:19:36 +02:00
Maximilien (malb) 441d779a43 [IMP] account: tax filter
Before this pr, it was not possible to do a search on the description of the
taxes. I've added the search filter for the tree view.

Also correcting a forgotten "or" in another search view and a missing uppercase.

closes odoo/odoo#123773

Task-id: 3332762
X-original-commit: 5e2e52f10131f0de19638c47347dbcc445a8c531
Signed-off-by: William André (wan) <wan@odoo.com>
2023-06-06 09:19:28 +02:00
sofiagvaladze 4a68ec46ec [IMP] hr_recruitment: avoid sending stage change message to unarchived applicants
Purpose:
When the applicant is unarchived, they are automatically set back to
first stage. This is done automatically. In case there is automated
message post configured for that stage change, it will send the mail to
the applicant. We want to avoid this.

After this commit, the automated message related to the stage change
will not be posted in case the applicant has been just unarchived,
even if it is configured for the stage.

task - 3267915

closes odoo/odoo#120506

Signed-off-by: Kevin Baptiste <kba@odoo.com>
2023-06-06 09:19:23 +02:00
divy-odoo 2af270d76a [FIX] website_form: prevent input field type change
The translation of input "default values" is allowed only when
`type="text"`. However, email field values are translatable because of
strange behaviour:

- Go to website (Edit mode) > Add a form block.
- Select the existing email field > Change label position > The input
is transformed into a `type="text"`.

Each time a "non-custom" field is re-rendered, The `_getActiveField()`
method is obtaining field related data from the database, including its
type, which changes it back to the original value ("char").

The goal of this commit is to fix this behaviour using `_getFieldType()`
to set the right field type instead of the default one.

task-3247520

closes odoo/odoo#123819

X-original-commit: caf6183c2a46ee1843b4df902fe0a96dfe3740d0
Signed-off-by: Outagant Mehdi (mou) <mou@odoo.com>
Signed-off-by: Divyesh Vyas (divy) <divy@odoo.com>
2023-06-06 08:06:13 +02:00
Victor Piryns (pivi) 359a3444b2 [FIX] sale_project: proj.profit. w/o lines from other projects
Current behaviour:
If in 1 SO we have 2 service lines, each making their own project (for
ex: 1 with a template project, the other without), these 2 lines are
present in both project profitability report, skewing the margins,
as costs calculated on a per-project basis, while sol are aggregated.

Expected behaviour:
Don't include services that have their have another project than the
current one in the profitability report. (Project profitability `A`
shouldn't show services that are linked to project `B`).

Steps to reproduce:
- Install Sales, Project, Accounting, Timesheets
- Activate Analytic Accounts in Settings
- Create a project template
- Create 2 service products, both create a Project when confirming
  the SO, one has no project template, the other has a template (the
  one we create just beforehand)
- Create an SO, add the 2 lines, 1 for each service, 5 and 3
  quantity respectively > Confirm SO
- Go to the Project's Update panel of either created project, we can
  see that both lines are present. If you timesheet in a task in
  either project, it will show up in both project's profitability
  report.

Reason for the problem:
In some places, when we are constructing the domain that is used to
fetch the sale order lines that will be added to the profitability
items, we fetch the correct sol (only linked to this project), then get
the sale order linked to this line, and we search all lines related
to that SO (so we included products that are not services, for
example materials necessary for a service). This flow includes lines
that may be linked to other projects.

Fix:
We fetch SOL linked to the current project or that have no project
(for materials).
⚠️ **known limitation** Material lines are shared between
projects (because of `('project_id', '=', False)`), but that's
already current behaviour, even before this fix.

Affected versions:
- 16.0
- saas-16.1
- saas-16.2
- saas-16.3
- master

opw-3300322

closes odoo/odoo#123803

X-original-commit: d0735a6168f5c019d5c03190f930882addd2496a
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
2023-06-06 08:06:10 +02:00
Preksha Chouhan eaf506c27b [FIX] mrp: prevent traceback while date_finished field is null
While creating a new Manufacturing Orders, if user set value of 'date_finished'
field in the 'Work Orders' as null. As 'date_finished' field is not required,
user might have removed it by using other way.

Traceback will be generated.

'>' not supported between instances of 'bool' and 'datetime.datetime'

This commit will check the condition if the value of 'date_finished' is set or
not.

sentry - 4197616234

closes odoo/odoo#123802

X-original-commit: 11f6f2315159d321180e0fd6c9bc5747c5a7e781
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Preksha Chouhan (prec) <prec@odoo.com>
2023-06-06 08:06:07 +02:00
Panagiotis Kyriakou 577bdbcd87 [FIX] project: revert current stage notification
This commit reverts a previous commit which allowed to
display the current stage when the state is changed.

The reverted PR: https://github.com/odoo/odoo/pull/119925

The reversion was done as what was implemented does not
follow the standard display of tracking messages and
because it doesn't look good in the chatter.

Task-3336184

closes odoo/odoo#123797

X-original-commit: eff511140175ba8224c2f9be59a798a3e1dee6da
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-06 08:06:05 +02:00
Sanket Brahmbhatt 5e7c538a3d [FIX] sale_timesheet: missing other_costs sequence in project update
when the user tries to access the project update
View of a project and at least one timesheet of that project has
timesheet_invoice_type='other_costs', a traceback might be occurs
saying the other_costs does not exist in a dict used for
the sequence to display the project profitability in a certain order.

closes odoo/odoo#123776

Sentry: - 4204230673
X-original-commit: 8e47dd6862811b1b3d2495bbc6bc383aea098a8f
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-06 08:06:02 +02:00
Kartik Chavda f7037c3515 [IMP] portal,project: reduce the size of the wizard dialog in project
In this commit, in this commit, We have changed the size of wizard
dialog to medium instead of large.

task-3259212

closes odoo/odoo#120211

Related: odoo/enterprise#40577
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-06 08:05:50 +02:00
nni-odoo 84ac1d1093 [IMP] l10n_th: Tax Invoice
When an invoice is issued in Thailand, the Revenue department will make a note that taxes need to be paid. This is important for both corporate tax and VAT purposes. A tax invoice is important to be generated and should contain the title "Tax Invoice".
On top of that, the tax invoice should also contain the information on supplier's tax id number (headquarters or branch number). In this case, we set the original Odoo invoice to be labelled Tax Invoice and create another invoice called commercial invoice.

2879718

closes odoo/odoo#123679

X-original-commit: 1cdaa362c9f0377a7ec4929c2f581ccd84ae3b33
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
2023-06-06 03:49:51 +02:00
Trịnh Ngọc Hưng d5511a4fc4 [FIX] account: account type of cash diff gain
When you need to consolidate revenue from sales activities,
corresponding with the cost of goods sold to determine gross profit, the
figures will be inaccurate due to the inclusion of other income sources.

closes odoo/odoo#123813

X-original-commit: 4ef36973a124d85486ec3a5d93a1fda6920b7097
Signed-off-by: William André (wan) <wan@odoo.com>
2023-06-06 01:13:43 +02:00
snd c76881ab7e [FIX] stock: dont reassign package when removed in 3-steps delivery
In a 3-steps delivery with backorders, when removing the package in the 2nd step, it should be absent from the last step (OUT picking).
However, assigning a package on the backorder of the 1st picking and creating a new backorder reassigns the package to the OUT picking.
Settings: 3-steps delivery, packaging
Steps:
- create a SO of product A for 10 units
- on PICK_1 picking: put 2 units in Done and put in a package, validate, create a backorder
- on PACK_1 picking: remove the destination package for the 2 units, validate, create a backorder
- on OUT picking: the stock.move.line does not have a package
- on PICK_2 picking: put 2 units in Done and put in a package, validate, create a backorder
- on PACK_1 picking: the package was reassigned to the destination package
- on OUT picking: the stock.move.line has the original package that was removed before

This fix ensures that a package can't be assigned on 'done' stock.move.line

closes odoo/odoo#123743

X-original-commit: bd2b7f816a155ea25cc8c34cd5abe599dac73c1e
Signed-off-by: Diez Stéphane (snd) <snd@odoo.com>
2023-06-06 01:13:41 +02:00
Julien Van Roy 1c359c3106 [FIX] account_edi_ubl_cii: handle fixed taxes in UBL/CII
Use case: the eco-taxes (recupel, auvibel, etc) are fixed taxes in Odoo,
which apply before the "regular" (percentage) tax on an invoice line. We
can have one or more fixed taxes and 1 regular tax.

In EN16931, there can only be 1 tax per invoice line. Thus, the fixed
taxes are encoded as charge on the invoice lines (with reason code
`AEO`: "Collection and recycling"). The tags `AllowanceCharge` (in UBL)
and `SpecifiedTradeAllowanceCharge` (in CII) are used. Then a serie of
tax related infos need to be changed: the taxes in UBL/CII should not
contain the fixed ones and the total untaxed amount needs to be adapted,
as well as the total tax amount (since the fixed taxes were removed).

To be able to import the fixed taxes back in Odoo, the charges on the
invoice lines are read and their names and amounts are used to search on
the existing taxes.

task-3274208

closes odoo/odoo#123761

X-original-commit: ff3feddb363984c62fae973cee905a06494b2a28
Signed-off-by: Laurent Smet <las@odoo.com>
2023-06-05 20:04:16 +02:00
tsm-odoo 8098bc13bb [FIX] mail: incorrect message order in chatter
Since [1], messages were ordered in ascendant order if the
`after` parameter was passed to the `_message_fetch` method.

This leads to messages being inserted in the wrong order
when several messages are batched then fetched via the
`/thread/messages` route. In practice, this order can
be removed since the `/channel/messages` route already
orders its messages correctly.

1: https://github.com/odoo/odoo/pull/116666/

task-3349175

closes odoo/odoo#123727

X-original-commit: 597b0b00068f6ab99632563faeb2ea18f5c9056f
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-06-05 17:51:45 +02:00
Florian Charlier 3509ddf3ed [FIX] website_forum: prevent calling vote on multi
This method was supposed to work in multi (see history) but that
behavior was lost somewhere.

Voting for several posts at the same time doesn't mean much in the end
and the function wouldn't work anyway because:

1. Return values wouldn't work in multi
2. It would try to vote n times for each of the n posts in self and
  violate unique constraint.
3. If the last existing vote had opposed value to the new vote,
  the method would create only '0'-valued votes for all the new
  records.

We here then clean it make sure it is not called on several posts.

A test is extended to check votes and records counts.

Task-3267872

closes odoo/odoo#123725

X-original-commit: dc049ce98292e08f5ecf2f20005dc227375dde75
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Florian Charlier (flch) <flch@odoo.com>
2023-06-05 17:51:40 +02:00
Guillaume (guva) 741a6a6df8 [FIX] account: change journal on journal entry
With this commit, we make sure that the name
of an entry is well computed when changing
the journal in the form view.

Steps:

- With fresh db
- Open a new journal entry form
- Change the journal
-> The name doesn't change, it should change
   regarding the code of the journal

Also add a test for the fix which introduced
the issue 46e6ae2941.

opw-3332590

closes odoo/odoo#123724

X-original-commit: 29d59960f7c19a7adda094d1effad6ba5f68f918
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: Guillaume Vanleynseele (guva) <guva@odoo.com>
2023-06-05 17:51:37 +02:00
Michele 97d07c8e01 [FIX] mrp: fix format of bom quantity in mrp_report_bom report
If you are using a locale that uses "," as decimal_point and "." as
thousand_seps the parseFloat around formatFloat is not parsing correctly
the float because the parseFloat is not locale-based but uses always the
"." as decimal point. example: in Italy the thousand separator is ".".
parseFloat("3.000,00000") returns "3" as result but the correct result
is "3000" . It is not necessary to use formatFloat but it is needed

closes odoo/odoo#123711

X-original-commit: 48dd3d189a50b4b2a25ce0c3cf6dca0f744fd928
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-06-05 17:51:29 +02:00
Michael (mcm) 32c7c35ac9 [FIX] web: update operator of domain selector
What are the steps to reproduce your problem?

- Go to Settings > Technical > User Interface > User-defined Filters
- Create a new one, select a model (e.g.: '2-Factor setup Wizard' -
  the first one)
- In domain, click on '+ Add Filter'
- Select 'ID', then '>' operator
- Then, change for a char field (e.g.: 'Secret')

What is the current behavior you observe?

- The former '>' operator is present at the end of the list

What would be the expected behavior in this case?

- The former '>' operator should not be in the list anymore (as the
  field type has changed).

opw 3324744

closes odoo/odoo#123706

X-original-commit: 054b6293e384d018fa087dca377f0cbecaee6341
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2023-06-05 17:51:26 +02:00
Benoit Socias 6e26ca030d [FIX] website: do not reuse an existing view key for a page key
When generating a new page key, it was only made sure to not match
existing page keys. This leads to COW happening on existing views if the
key already existed in a view.

This commit ensures that new page keys are not existing view keys
either.

Steps to reproduce:
- Create a page named "snippets".

=> Notification was shown indicating that `website.snippets` is private.

task-3328827

closes odoo/odoo#123693

X-original-commit: e7ef9f0bfc59a468c9f883561c371367cc06c1b7
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-05 17:51:23 +02:00
Benoit Socias fc7fa1683c [FIX] website: ignore leading slashes when creating a page
When the name given when creating a new page starts with a slash, the
werkzeug route `/website/add/<path:path>` cannot be matched. This leads
to wrong navigation situations.

This commit removes any leading slash from the entered page name.

Steps to reproduce:
- Create a page.
- Enter "/abc" as name.

=> A 404 error page was reached.

task-3328827

X-original-commit: 7ff29b680d8552f0b4a440b3209a6a37357af21e
Part-of: odoo/odoo#123693
2023-06-05 17:51:23 +02:00
Damien Bouvy 1f0ba75519 [FIX] hr_recruitment: open in main action
For some reason, this is pbly the only action from a menu items that
opens a modal dialog instead of being the main actions. Other actions of
this kind are usually a wizard of some sorts - there is no reason to
behave that way to manage "persistent" data.

closes odoo/odoo#123598

X-original-commit: eecc22becb221ab5e5a476264920ca35eac9afa7
Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
2023-06-05 17:51:18 +02:00
Victor Piryns (pivi) 448b70b0c0 [FIX] sale_project: convert to project currency in profitability
Current behaviour:
All sold services in another currency than the companie's one are not
being converted in the project profitability, but the currency
symbol is correctly set to the one of the project. (related to company)

Expected behaviour:
Sold services in another currency should be converted in the project
profitability.

Steps to reproduce:
- Install Sales, Accounting, Project, and a localization (ex: Sweden)
- Switch to the Swedish company.
- Settings:
  - Activate analytic accounts
  - Make sure the company currency is SEK
  - Update the conversions rates of the currencies
- In products: create a new service (ex: $100)
- Create a new project (make sure it creates an analytic account)
- Sell 1 unit of that service, make sure the pricelist before adding
  the line is "USD Public pricelist" (so the line should be $100),
  add the analytic account to the line. Confirm the SO.
- Add a task in the project, and add the SO as ref to it.
- Go to the project profitability panel, observe that the value of
  the service we just sold is 100 kr (the value of $100, but with
  the symbol for SEK kr).

Reason for the problem:
Lack of currency conversion for services when computing the
profitability items for the project update panel.

Fix:
Similar fix to 68b4ea69c173dd5894bcb42b99e6818f241f9734, but in that
fix we missed the conversion for revenues coming from analytic
accounts (aka services).

Affected versions:
- 16.0
- saas-16.1
- saas-16.2
- master

opw-3274626

closes odoo/odoo#123527

X-original-commit: bf8766b4c15946adac9e2e16a31f11df54cb30f8
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-05 17:51:15 +02:00
Odoo's Mergebot 43985a400d [REF] point_of_sale, pos*: reorganize static/src files
pos*: l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos, l10n_in_pos,
l10n_sa_pos, pos_adyen, pos_discount, pos_epson_printer, pos_hr,
pos_hr_restaurant, pos_loyalty, pos_mercury, pos_restaurant, pos_sale,
pos_sale_loyalty, pos_sale_product_configurator, pos_six, pos_stripe

Previously, the pos followed the convention established in Odoo for a
very long time to organize its static source files, one folder for js,
one for css and one for xml. In a component-based workflow this makes it
hard to work with as the template of a component is very far in the file
tree from the component itself.

This commit adopts the new convention from the web module, and locates
the js and xml of components in the same folder. It also renames all
files to follow the convention of the rest of odoo that file names
should be snake_case. Some files had additionally been renamed to more
accurately reflect their purpose.

closes odoo/odoo#123498

Linked-to: https://github.com/odoo/enterprise/pull/41923
Related: odoo/enterprise#41923
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2023-06-05 17:51:08 +02:00
Samuel Degueldre cb2a53d573 [REF] point_of_sale, pos*: adapt import to moved files
pos*: l10n_co_pos, l10n_fr_pos_cert, l10n_gcc_pos, l10n_in_pos,
l10n_sa_pos, pos_adyen, pos_discount, pos_epson_printer, pos_hr,
pos_hr_restaurant, pos_loyalty, pos_mercury, pos_restaurant, pos_sale,
pos_sale_loyalty, pos_sale_product_configurator, pos_six, pos_stripe

The previous commit reorganizes the files in the pos, this commit
renames all of the imports of those files to match their new location.
This is done in a separate commit to allow git to better keep track of
the changes and apply forward-ports more seamlessly.

Part-of: odoo/odoo#123498
2023-06-05 17:51:06 +02:00
Samuel Degueldre 97bfa68dfb [MOV] point_of_sale: reorganize static/src folder for easier navigation
Previously, the pos followed the convention established in Odoo for a
very long time to organize its static source files, one folder for js,
one for css and one for xml. In a component-based workflow this makes it
hard to work with as the template of a component is very far in the file
tree from the component itself.

This commit adopts the new convention from the web module, and locates
the js and xml of components in the same folder. It also renames all
files to follow the convention of the rest of odoo that file names
should be snake_case. Some files had additionally been renamed to more
accurately reflect their purpose.

The imports and some renaming will be done in a following commit to
allow git to track changes to the files better.

Part-of: odoo/odoo#123498
2023-06-05 17:51:06 +02:00
niyasraphy 664781ca98 [FIX] l10n_es_edi_tbai: invalid syntax error for expression
before this commit, if the user is running odoo with
python 3.7, and when the function is getting executed,
invalid syntax error for expression is shown.

the := walrus operator, was introduced in Python 3.8
and not available in python 3.7.

after this commit, the traceback wont be shown
and written expression will be valid for 3.7 and
above.

closes odoo/odoo#123362

X-original-commit: ec64109f175a32cef6a597218f217426af31c7d2
Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-06-05 17:51:02 +02:00
Raúl b27705c901 [REF] l10n_ec: Message validation for VAT
- We refactored the VAT validation from a validation error to a warning that is stored in l10n_ec_vat_error
- Remove the "-" and "EC" from the base_vat in the EC validation/example
- Only validate the length in the base_vat
- Add compute field with the warning message in the l10n_ec

closes odoo/odoo#123708

X-original-commit: 19b9384867485ea5fc30bac9192a21a91335f567
Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-06-05 16:17:20 +02:00
luvi 13aafd4a2f [FIX] web: allow expanding fields in export dialog after search
This commit fixes the display of subfields in the export dialog. Currently,
after a search, the results are filtered to only show the matching results.
But when unfolding an expandable field, the results are not shown below. It
is only set visible after the search has been modified to rerender the list
completely.

Now, with this commit, the list is updated as the field is unfolded.

A test has been added to verify that the element is loaded and displayed as
expected.

opw-3316900, opw-3302785

closes odoo/odoo#123707

X-original-commit: bc18cd55f97ec6119717455217372bac161c9b07
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-06-05 16:17:15 +02:00
tsm-odoo 65c8ea060a [FIX] mass_mailing: fix incorrect mark up in chatter
Markup usage has been enforced in the mail module since [1].

In mass mailing, a `Markup` array is joined usin the  string
method thus the resul is not marked up which leads to html
structure being printed to the dom.

This PR fixes this issue.

[1] https://github.com/odoo/odoo/pull/111850

closes odoo/odoo#123705

X-original-commit: 59f4cf98aadd6b740cbb1d9c92188ea1d708648f
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-06-05 16:17:12 +02:00
Andrea Grazioso (agr-odoo) fc213e5c66 [FIX] account: clear epd discount tax
Set "Cash Discount Tax Reduction" to "Always"
Have Tax A and Tax B
Create an invoice with a payment term having a discount (example: 2/7 Net 30)
Add the following lines
1) Any prod, Tax A
2) Any prod, Tax B
In journal items tab we will see 2 line for the product,
2 for tax, 3 for epd, 2 for epd tax discount, 1 for payment
Delete line 2)
Check journal items

Issue: epd discount for tax B is still there
This occurs because:
- When calculating the epd vals we don't actually
issue a clear command
- Due to a `_sync_dynamic_line` optimization
we may write on a line scheduled for delete instead of creating a new
one
As result an old tax may be left in the overwritten line

opw-3285534

closes odoo/odoo#123697

X-original-commit: bc83baf7d6be3a9ab25da90ddf1882c1cb95217e
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
2023-06-05 16:17:09 +02:00
Victor Feyens 28247043a6 [IMP] (pos_)sale: allow grouping statistics by customer state
closes odoo/odoo#123691

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-06-05 16:17:06 +02:00
Victor Feyens 51edac3364 [CLN] sale: sale report fields
Part-of: odoo/odoo#123691
2023-06-05 16:17:06 +02:00
tsm-odoo b1627dd3a7 [IMP] im_livechat: small ui changes to embed livechat
This PR makes two small improvments on the embed livechat:
- Same top/bottom padding for the livechat button
- Remove rounded border at the bottom of the livechat button.
- Put the chat window border on the web patch instead of
the base chat window: patch should add features to the
base component, not remove it.

closes odoo/odoo#123684

Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2023-06-05 16:17:02 +02:00
tsm-odoo 0e30e15ff1 [FIX] im_livechat: font face set not iterable
This commit fixes a traceback that occurs on the frontend
on firefox only. The issue is that the `FontFaceSet.values()`
return value is considered as non iterable while it is an iterator.

This commit solves this issue by using directly `document.fonts`
which is considered an iterator even by firefox.

closes odoo/odoo#123672

See: https://bugzilla.mozilla.org/show_bug.cgi?id=1780657
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-05 16:17:00 +02:00
Olivier Dony 3db7956b4c [IMP] assets: switch to optimized rjsmin minification
The C implementation of the JS minification gives speedups between 6
and 55 times faster than the regex-based Python port, depending on
how compressed the input it (which is what our default implementation
does).

This is measurable when generating compiled assets bundle from scratch,
e.g. after installing/updating modules or source code.

As an illustration, the minification of a 2MB JS bundle can be 50x
faster:

```py
import rjsmin
from odoo.addons.base.models.assetsbundle import rjsmin as rjsm
js_source = open("web.assets_common_lazy.js").read() # 2MB JS
%timeit rjsm(js_source)
 # -> 339 ms ± 495 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit rjsmin.jsmin(js_source)
 # -> 6.88 ms ± 213 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
```

It's also a drop-in replacement, as long as you rjsmin 1.1.0 or better
is available (to support format strings properly, a.o.).

See also the documentation of rjsmin: http://opensource.perlig.de/rjsmin/

closes odoo/odoo#104283

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2023-06-05 16:16:57 +02:00
Benoit Socias f6814d9c6e [IMP] website: add test about website-specific assets
The build does not break if the `with_context(active_test=False)` is
removed from `ir.asset`'s `_get_related_assets`. This access to inactive
assets is actually needed to be able to disable assets on a specific
website, similarly to what is done for `ir.ui.view`.

This commit adds a test to ensures that this feature is not accidentally
lost.

task-3326887

closes odoo/odoo#123662

X-original-commit: fced70f840c98e29675ff41812e76c1883d1d57f
Signed-off-by: Dieleman Guillaume (gdi) <gdi@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-05 14:50:25 +02:00
Benoit Socias 3c2ee4bb6a [FIX] website: close HTML/CSS editor when leaving website preview
When leaving the `website` application, the HTML/CSS editor keeps its
open/closed state. Because of this, when returning to the website
preview, the HTML/CSS editor is being mounted immediately if it was
left opened when leaving the `website` application.

This commit closes the HTML/CSS editor upon leaving the website
preview, or navigating to another page.

Steps to reproduce:
- Open HTML/CSS editor.
- Go to the Discuss application.
- Go to the Website application.

=> Error dialog was displayed.

task-3302981

closes odoo/odoo#123661

X-original-commit: 45fd54f15689e2a749666059f9d2b99aa80f6c88
Signed-off-by: Bojabza Soukéina (sobo) <sobo@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-05 14:50:23 +02:00
niyasraphy 086dcefbc8 [FIX] google_gmail, microsoft_outlook : move UserError to ir_mail_server
The orginal PR and it's forward ports https://github.com/odoo/odoo/pull/121048
intorduced an unexpected AttributeError when using OAuth for incoming
mail servers (fetchmail.server). Since `smtp_user` is not a defined field
in fetchmail.server (it uses the field `user` instead), we had to change
the approach.

To prevent this error, we move the UserError call into the respective
ir_mail_server models, which should check the contrains at that level.
This means that before the form gets saved, trying to connect using an
OAuth account, should prompt the user to first specify an smtp_user before
proceeding.

X-original-commit: fcfd72a5e5663fa6b08c80a8a22ec15c8a09456f
Original author: niyasraphy <niyasraphyk@gmail.com>
Conflict resolution for saas-15.2, 16.0, saas-16.2, saas-16.3

closes odoo/odoo#123660

X-original-commit: b0749e430847d2f49e07b119915e8dee0c4e7f00
Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
2023-06-05 14:50:20 +02:00
Romain Derie 755ab30619 [FIX] website: prevent traceback when iframe has no src
Commit [1] introduced an cleaning of the iframefallback on page unload,
which was removing the `autoplay` attribute of the iframe `src` URL.
It was done to prevent video/music to keep playing in the invisible
iframe.
The fix was not generic and purposely targetted the elements which we
identified as problematic.

Commit [2] then made that cleaning generic, catching all iframe.
Doing so, it was actually catching too many iframes and led to traceback
on iframe not having a set `src`.
This is the case for every database having a configured reCaptcha, among
other things.
For reCaptcha, it's because it's adding the following iframe dynamically
through their third party script:
`<iframe style="display: none;"></iframe>`

This commit ensures we only target iframe having an URL attribute being
set to something.

Step to reproduce (with reCaptcha):
- Enable and configure reCaptcha
- Go to /contactus
- Leave the iframe page, eg click on "Contactus" menu to refresh it
-> Traceback

[1]: https://github.com/odoo/odoo/commit/ad78585cd514f5ff16647572d34937c18a112529
[2]: https://github.com/odoo/odoo/commit/6be8af36726d750065972e122e8f4a0aa0f56a17

opw-3343450

closes odoo/odoo#123621

X-original-commit: 463d4ee0c8000f948463772b7c96c8d111bcbc8e
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-06-05 14:50:13 +02:00
Khushi Vakil 304af5b844 [FIX] l10n_in_edi_ewaybill: nil rated outside a state
Before this commit:
1.Create an Invoice in the demo company "E-Waybill Company" outside of the
  state (state other than set in the company)
2.Set the tax as nil rated and send e-way bill
E-Way Bill will not send.
Error message:
 [236]Tax rates for Inter state transaction is blank

After this commit:
E-Way Bill can be sent with nil rated tax for demo company 'E-Waybill Company'
outside of the state(state other than set in the company) 
task id:3304875

closes odoo/odoo#123616

X-original-commit: 2dc0bd3c7415e55c77c83f98e4c7088e0eaf82fc
Signed-off-by: Josse Colpaert <jco@odoo.com>
2023-06-05 14:50:11 +02:00
Chrysanthe (chgo) d0940ae7d0 [FIX] web: revamp superuser navbar
This commit introduces a revamp of the superuser navbar. The element
was using some unnecessary styling that could be removed.

Instead of using a gradient as background, we now use a transparent box
with a gradient as border.

task-3337789
part of task-332626

closes odoo/odoo#123613

X-original-commit: 98183ae2e9e3207a64f6438edf1027b6a708dbdd
Related: odoo/enterprise#41916
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-06-05 14:50:05 +02:00
Abdelouahab (abla) d10a40b14d [FIX] fields: read unstored one2many field without search function
> The bug is not present in 16.2+, but we keep the test

To Reproduce:
=============

- on a contact add a one2many field using studio
- in related field choose a field that is not stored and doesn't have a search function implemented
- close studio and notice all the lines of the selected field are listed on the contact even if are not linked to it

Problem:
========
- when searching a field that is not stored and doesn't have a search function, all the lines are returned

Solution:
=========
in this usecase filter the returned lines and only keep the ones linked to the record

opw-3265982

closes odoo/odoo#123563

X-original-commit: 7b29e9dff1d5ef97c5fb2a2ae0709bb21fd3fa3a
Signed-off-by: Rémy Voet <ryv@odoo.com>
Signed-off-by: abla001 <abla@odoo.com>
2023-06-05 14:50:03 +02:00
Alexandre Kühn f85a4366b0 [FIX] mail: away im status should be yellow in discuss sidebar
Follow-up of https://github.com/odoo/odoo/pull/123143

This is the same fix applied to discus sidebar, which used another
component that had the exact same issue.

This omission comes from code duplication as a consequence of
added technical debt during a recent refactoring of Discuss code.

We will avoid making this mistake again in master, by cleaning and
properly sharing code for all showing of im status in Discuss.

closes odoo/odoo#123526

X-original-commit: 576e3caa50f6e23525b49fc3790ab29647903ed1
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-06-05 14:49:57 +02:00
Alexandre Kühn cd4e453c01 [FIX] mail: fully show message action list in chat window
Before this commit, squashed messages in chat window had part of
the action list being cut by the message above.

This comes from `overflow-auto` on the message content, which was
defined to make content shrink, but had the unintended side-effect
of cutting the message action list for squashed messages in chat
window.

This commit fixes the solution by using `min-width: 0;` instead to
shrink flex item to lower of content width. This style-rule works
like setting `overflow-auto` without actually affecting overflow.

X-original-commit: 3e4b32361ade567d8d4fde37f0ed2542a3e2e215
Part-of: odoo/odoo#123526
2023-06-05 14:49:57 +02:00
Benoit Socias 5c80b66d0e [FIX] website_payment: adjust size of donation's custom amount button
With some fonts (e.g. Roboto), the placeholder inside the "Custom
Amount" button of the Donation snippet does not fit within the button.

This commit adjusts the maximum width of the button to make it fit
according to the used font and the placeholder text.
The width has to be set from JavaScript because the same issue
arises with different length of translations of the placeholder.

Steps to reproduce:
- Drop a Donation snippet.
- Increase the button text size (change button font, change large
button font size...)

=> Text is not fully drawn inside custom button.

opw-3283549

closes odoo/odoo#123443

X-original-commit: 1ff46591fb8a28d747ea89e711849c079d993ab6
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-06-05 14:49:48 +02:00