Commit Graph
162928 Commits
Author SHA1 Message Date
Odoo's Mergebot 10c9f07523 [IMP] base, mail: split company email colors from document colors
PURPOSE

Settings allow to change colors used in emails (primary and secondary colors). Those are used for headers and buttons. They are currently shared with colors used for documents and reporting: changing email colors change documents colors, which is not expected nor clearly indicated.

SPECIFICATIONS

Split configuration: colors used in documents may differ from colors used in emails. Duplicate color fields (primary and secondary). To ease setup when updating documents colors, update mail colors accordingly. Inverse is not true as we consider documents being the main configuration, and emails a more fine-grain configuration.

Task-3346388

closes odoo/odoo#123678

Related: odoo/upgrade#4735
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-07-10 16:59:12 +02:00
Thibault Delavallée 50762307e4 [IMP] base, mail: split company email colors from document colors
PURPOSE

Settings allow to change colors used in emails (primary and secondary colors).
Those are used for headers and buttons. They are currently shared with colors
used for base documents and reports layout: changing email colors change
documents colors, which is not expected nor clearly indicated.

SPECIFICATIONS

Split configuration: colors used in documents may differ from colors used in
emails. Duplicate color fields (primary and secondary). To ease setup when
updating documents colors, update mail colors accordingly. Inverse is not
true as we consider documents being the main configuration, and emails a
more fine-grain configuration.

Task-3346388

Part-of: odoo/odoo#123678
2023-07-10 16:59:11 +02:00
Thibault Delavallée 3d4cf03ca6 [MOV] bus, mail: move and regroup some tests
Purpose of this commit is to regroup some tests, or rename some too specific
files in order to avoid explosion of files, making tests hard to find when
looking for feature-specific tests.

Task-3346388

Part-of: odoo/odoo#123678
2023-07-10 16:59:11 +02:00
Romain Derie 3fec4bb448 [FIX] website: allow load_menus_root to force action
The website frontend apps menu list is not working when the user has a
`Home Action` defined on his user.
The `Home Action` is meant to redirect to the defined action whenever
that user is login in.
But since the backend menu links on the website have most of the time
no `action` defined but just a `menu_id` defined, the `Home Action` will
kick in and take over the redirection, the same way as if the user just
type `/web` without any params.

To solve that, we simply force the `action` of those links (if they
don't already have one).

This will make sure that the redirect is working as it should for users
having a `Home Action` set.

Step to reproduce:
- Set a Home Action for any user, like "Contacts"
- Go to the website frontend, eg on `/`.
- Click on the top left button to show the backend app menus list
- Click on any menu (CRM, Invoicing, Calendar..)
-> Most of those menu will not redirect you were you are supposed to be
   but on your Home Action instead.
   You can figure which one will be buggy or not by just mouseovering
   the link and see if the URL param `action` is set to something or
   not.

--- Technical hints ---

There is multiple methods to get the list of menus in Odoo:
- `load_web_menus`: called by the web client rpc, calling `load_menus`.
  If a top/app menu has no action defined on it, it sets the first found
  action of their children menus to it.
  It returns the full (flat) list of menus, not only the top/app ones.
  This method is not ormcached but is calling an ormcached method and
  just doing some tiny work on the data.
- `load_menus_root`: called only by website backend template to add the
  app list on the website (in the frontend) to jump to the backend.
  It does not force the action if a menu has no action set on it.
  It returns only the top/app menus.
  This method is ormcached.
  Note that this method seems only used by the website module.
- `load_menus`: returns the full (flat) list of menus without a force
  action
  This method is ormcached.

Fixes https://github.com/odoo/odoo/issues/119971
task-3378963

closes odoo/odoo#127840

X-original-commit: f28a349aa40b2ea48ef8f2b71e806b965777014f
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2023-07-10 15:33:09 +02:00
Sébastien Theys 6dacefd50a [FIX] mail: standardize way to get guest from context
Backport of `_get_guest_from_context`.

Prevent crash when unexpected (not recordset) values are in the context.

Ensure the mere existence of a value (example integer) does not lead to
executing flows where an actual guest is expected.

task-2819597

closes odoo/odoo#127831

X-original-commit: 3d1890e88b99f059377d8b227b56d77798157397
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2023-07-10 15:33:06 +02:00
Brieuc-brd f90253d3a3 [FIX] website: change translate btn to lowercase
Prior to this commit, the translate button was in uppercase.

To maintain consistency with other buttons, this commit changes the
button to lowercase.

task-3414983
Part of task-3326263

closes odoo/odoo#127828

X-original-commit: 52f0bf2f2581b77a32d5e92fe1ae03d9787db5b4
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 15:33:03 +02:00
Antoine (anso) 615c5ed6a5 [FIX] web: kanban header vertical padding
This commit reduces the vertical padding of `.o_kanban_header` to
display more kanban cards at a time in the view vertically

part of task-3326263

closes odoo/odoo#127827

X-original-commit: dc5f4f7cef67b256eb50cb15e1ae1f22aa124966
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
2023-07-10 15:32:56 +02:00
Antoine Guenet e47bc1115f [FIX] web_editor: prevent traceback on convert single-col align stretch
When converting a row with items that are supposed to be stretch-aligned
we need to set each of its column's height. However this failed when
the row contained less than two columns.

opw-3371134

closes odoo/odoo#127813

X-original-commit: 7df4cc0d9aaccf0dabcc4a7863549b276efaa403
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-10 15:32:53 +02:00
Renilkumar Kajavadra 88ac225011 [FIX] website: hide publish and unpublish actions
If user tries to publish or unpublish the forum post from forum posts list view,
a traceback will appear.

Steps to reproduce the issue:
- Install website_forum
- Configure website
- Go to Website -> site -> Forum Posts
- Select any post -> Action -> 'Publish' or 'Unpublish'

Error: A traceback appears:
"ValueError: Invalid field 'is_published' on model 'forum.post'"

https://github.com/odoo/odoo/blob/551685368971161975d64f480e9bec326db8931e/
addons/website/static/src/components/views/page_list.js#L69
Here we will receive 'forum.post' in this.props.resModel.
is_published field is not present in the 'forum.post' model,
So it will lead to above traceback.

sentry-4256037237

closes odoo/odoo#127476

X-original-commit: 16943c482c9ba8e12eab697ceb48a3ef6ee6c2fb
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Signed-off-by: Renilkumar Kajavadra (reka) <reka@odoo.com>
2023-07-10 15:32:38 +02:00
Maximilien (malb) a638c06f8e [IMP] l10n_dk: invoice label translate
In the translation PR (#111044), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

closes odoo/odoo#125017

Task: 3369579
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
2023-07-10 15:32:29 +02:00
Maximilien (malb) 5d9ee9f0d2 [IMP] l10n_es: invoice label translate
In the translation PR (odoo#115968), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:29 +02:00
Maximilien (malb) bd632c6872 [IMP] l10n_nl: invoice label translate
In the translation PR (odoo#108954), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:29 +02:00
Maximilien (malb) 24c8000335 [IMP] l10n_ve: invoice label translate
In the translation PR (odoo#109494), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:28 +02:00
Maximilien (malb) 221e8af75a [IMP] l10n_gt: invoice label translate
In the translation PR (odoo#110661), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:28 +02:00
Maximilien (malb) 2553bbb1fd [IMP] l10n_hn: invoice label translate
In the translation PR (odoo#110938), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:28 +02:00
Maximilien (malb) 16245f3f3a [IMP] l10n_ec: invoice label translate + taxonomy
In the translation PR (odoo#109147), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Also in this commit i've redone the taxonomy that has been overwritten by another
PR.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:28 +02:00
Maximilien (malb) 25c3f8ea96 [IMP] l10n_no: invoice label translate
In the translation PR (odoo#110986), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:27 +02:00
Maximilien (malb) 950c87cdab [IMP] l10n_cl: invoice label translate
In the translation PR (odoo#112160), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:27 +02:00
Maximilien (malb) fc3144eed4 [IMP] l10n_jp: invoice label translate
In the translation PR (odoo#111656), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:27 +02:00
Maximilien (malb) 3922148442 [IMP] l10n_cr: invoice label translate
In the translation PR (#110930), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:26 +02:00
Maximilien (malb) 6bd3e2bb31 [IMP] l10n_skr04: invoice label translate
In the translation PR (odoo#106324), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:26 +02:00
Maximilien (malb) aaae983296 [IMP] l10n_skr03: invoice label translate
In the translation PR (odoo#106324), we translated the tax group and
invoice label but for the invoice label we didn't added to translation it needed
to have. This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:26 +02:00
Maximilien (malb) 16a9483835 [IMP] l10n_uy: invoice label translate
In the translation PR (odoo#109504), we translated the tax group and invoice
label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:26 +02:00
Maximilien (malb) 1347abbe89 [IMP] l10n_fi: invoice label translate
In the translation PR (odoo#111107), we translated the tax group and invoice
label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:25 +02:00
Maximilien (malb) 11f8ba6160 [IMP] l10n_pa: invoice label translate
In the translation PR (#110656), we translated the tax group and invoice label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:25 +02:00
Maximilien (malb) 6ef8808d4d [IMP] l10n_mx: invoice label translate
In the translation PR (odoo#108725), we translated the tax group and invoice label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:25 +02:00
Maximilien (malb) 71db3ba8b9 [IMP] l10n_fr: invoice label translate
In the translation PR (odoo/enterprise#35296), we translated the tax group and invoice label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:24 +02:00
Maximilien (malb) 843b004ba4 [IMP] account: invoice label translate
This commit allow the invoice label to be translated

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:24 +02:00
Maximilien (malb) 5c1e4a325e [IMP] l10n_ar: invoice label translate
In the translation PR (#112803), we translated the tax group and invoice label
but for the invoice label we didn't added to translation it needed to have.
This commit fix that.

Task: 3369579
Part-of: odoo/odoo#125017
2023-07-10 15:32:24 +02:00
Maximilien (malb) dab9b3d349 [FIX] account: Error when installing module demo data
Before this commit, when trying to install the l10n_sa or l10n_ae localization,
we get an error in the chart template resulting in no demo data installed. In
fact, when doing a Command.update to link the account to the journal in the
files template_sa and template_ae. The "values" dict was always filled no matter
 the Command, this mistake had repercussion on the "deref" method.

 In the deref method we do a loop on values items, but in the case we are facing
 the last_part variable was filled with an integer.
 When doing the recursion in case command is a "create" or an "update", the new
 values is the last_part, so the loop on values items raised an error since we
 cannot do a .items() on an integer.

closes odoo/odoo#116643

Related: odoo/upgrade#4687
Signed-off-by: John Laterre (jol) <jol@odoo.com>
2023-07-10 15:32:08 +02:00
det a5801a12b5 [IMP] l10n_hu, l10n_sa, account: delivery date + hu brush up
In this pr, we have improved the l10n_hu localization by adding a Tax rounding
(global) by default.

Also, a lot of localization will need a delivery date on invoices. We added a
field in account that can be overridden if needed. In this pr, we did an
override on l10n_sa and l10n_hu.

When creating a sale order and that the effective date is fill, we take this
value for the delivery date.

The delivery date field will always be displayed in the other info tab, and if
there is a delivery data, the field is also display in the header of the form
view. Exception for l10n_sa and l10n_hu where the delivery date is always
present.

Also for l10n_sa company there was a problem with the vat number, it was not in
the right format.

Task-id: 3191530
Part-of: odoo/odoo#116643
2023-07-10 15:32:07 +02:00
luvi a3b0e9a3c4 [IMP] web: use useAutoFocus hook in SelectMenu
This commit makes use of the useAutoFocus hook to focus the input
when the SelectMenu opens. This usage of the hook can replace the
manual focus that was applied when the dropdown opened.

The feature can hardly be tested with newer tests, since the behavior
is identical, and the focus on the input was already tested.

closes odoo/odoo#127864

Signed-off-by: Bastien Fafchamps (bafa) <bafa@odoo.com>
2023-07-10 14:08:39 +02:00
Deependra Solanki 6b09924147 [FIX] web_editor: change icon of table menu
Before this commit:

- The icon of table menu is fa-bars which looks like drag 'n' drop handle.
- Menu width is not 100%.

After this commit:

- Changed the icons to fa-ellipsis-h and fa-ellipsis-v.
- Made the menu 100% width so it's easier to intuit it's not a drag 'n'
  drop handle.

Task - 3297710

closes odoo/odoo#127843

X-original-commit: 479c0a87b0b676f5fa9252efdef3ede99f6d7ea7
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2023-07-10 14:08:37 +02:00
Achraf 80246ab857 [FIX] l10n_eg_edi_eta, l10n_sa: Adapting barcode API to the new one
This commit change `/report/barcode/?type=` to  `/report/barcode/?barcode_type`

See https://github.com/odoo/odoo/commit/ee324e8374536cebca4d7302210b07e8f33d3852#diff-8f0bbb50491623995fba965c3d64585c6cbfdbbe519ec95473e472826d253826R1977-R1979

sentry-3965574308

closes odoo/odoo#127290

X-original-commit: 638b61114d8148557cdbcc30a1272e1b3da79880
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
2023-07-10 11:48:57 +02:00
Arnaud Baes abbfd74436 [FIX] core: ensure werkzeug request/response json
closes odoo/odoo#33682

Signed-off-by: Pierre Masereel <pim@odoo.com>
2023-05-15 15:25:56 +02:00
Victor Piryns (pivi) 0b72568bc3 [FIX] project: add index on project.task state
Adds missing index on `project.task` `state`, this field is used in
a lot of searches as a search criteria like "open tasks".

task-3416393

closes odoo/odoo#127841

X-original-commit: 147446d86d7d33a83f83a8699c930fcdd3dbb99b
Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
2023-07-10 08:56:30 +02:00
Xavier ALT 4b2106298d [FIX] sale, account_payment: fix saleman payment transactions access error
Since odoo/odoo@2b1e2abda3 user need at least 'Account / Billing'
access to read payment.transaction, that not the case for most salesman.

So for user that don't have 'Account / Billing', this commit do:

- compute the 'amount_paid' as superuser
  (fixing "Generate Payment Link" wizard access errors)

- hide "Payment Transaction" smart-button on invoice

closes odoo/odoo#127835

X-original-commit: ad2c3a873a926ac8c94d014af24ed400b493493e
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Xavier Alt (xal) <xal@odoo.com>
2023-07-10 08:56:27 +02:00
Victor Piryns (pivi) 92f030597b [FIX] sale_project: create task when confirm SO from template
Current behaviour:
When creating a new quotation from an FSM task, if we use a template
that adds a line that is a service that would have added a task on
SO confirmation, no new task is generated.

Expected behaviour:
A new task should be created, just like when we add manually the
line with service without using a quotation template.

Steps to reproduce:
- Install FSM
- Activate "Extra Quotations" from Settings
- Create a new service that generates a task on SO confirmations
- Create a new quotation template, add a line that uses the service
  we created.
- In a FSM task, click on "New Quotation"
- Add the template to the quotation and confirm it
- Observe there is no Task attached to the SO. No new task was created.

Reason for the problem:
When we create a new quotation view the action "New Quotation", we
add in the context a key `default_task_id` with the current task
that generated the quotation. When we add a template, an onchange is
triggered which creates the lines for the SO, and since we have a
`default_task_id` in the context, the related task of the new line
is set to the task we came from. This prevent subsequently the
creation of a task if the service was supposed to generate a new
task on SO confirmation.

Fix:
Add an override when generating the data used to create the lines
when the onchange is triggered, explicitly setting the `task_id` on
the line to `False` if the key is in the context and the service
would've generated a task.

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

opw-3360403

closes odoo/odoo#127811

X-original-commit: 06eeefc94f08cc01786c82b769d1c488e0e1c483
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Piryns Victor (pivi) <pivi@odoo.com>
2023-07-10 08:56:24 +02:00
Benoit Socias 8a750c4b44 [FIX] website: fix failing unsplash beacon test
The unsplash beacon public widget is started before the test assets JS
is loaded. Because of this, the approach in [1] fails sporadically.
If the result from the `/web_unsplash/get_app_id` RPC is obtained
before the test assets JS is loaded, the beacon patch is not applied
in time, and the test fails.

This commit applies the patch within the actual page HTML to avoid this
issue.

[1]: https://github.com/odoo/odoo/commit/a5abc766424f34074be3ae7a97ad7c6e9583f9c5

runbot-22610

closes odoo/odoo#127809

X-original-commit: 3f64135ff136addfad7c4c79e8c19cc33f8b19cf
Signed-off-by: Guillaume Dieleman (gdi) <gdi@odoo.com>
2023-07-10 08:56:22 +02:00
Christophe Monniez b94c99e3f6 [FIX] packaging: remove useless soft links
The Debian package is replacing some fonts by a soft link to the Debian
packaged ones.

The glyphicons-halfings were for bootstrap 3.x which is not used anymore
in Odoo, resulting in harmless broken links in the Debian package.

Closes odoo/docker#453

closes odoo/odoo#125840

X-original-commit: bcc681438ab3ed68a86ecbc4b38bd5384dda2b1d
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2023-07-10 08:56:19 +02:00
Saurabh Mishra 572a6a8257 [FIX] account: preview invoice if invoice_date not given
While creating an invoice if the user chooses a payment term with an early
discount, saves the invoice without adding invoice date and tries to
preview it or prints it, then the user will face the error.

steps to produce:
- Create an invoice without entering invoice date, with a payment term having
early discount through 'Invoicing > Customers > Invoices'.
eg: (Payment Term with early discount: 2/7 Net 30 )
- Now click on 'Preview' to preview the invoice or print the invoice report.

By following above steps you will be able to produce the error.

Error: A Traceback appears "TypeError: unsupported operand type(s) for +:
'bool' and 'relativedelta'"

sentry-4250888430

closes odoo/odoo#127791

X-original-commit: 9b20af823d3d2d8c3c70fd016d71448caa039958
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Saurabh Mishra (sami) <sami@odoo.com>
2023-07-10 07:40:49 +02:00
divy-odoo f645d28d0d [FIX] web_editor: prevent losing text-gradient class on gradient preview
Steps to reproduce:

- Drop a Title block in a webpage.
- Select text.
- Set the text color to a custom gradient. (Not the background color)
- Hover a gradient preset.
- Leave the gradient preset.
gradient color applied on the background.

In this commit,
1. Modified the condition which was blocking some mutations from being
   processed. Before this commit condition got executed successfully on an empty
   array(`excludedClasses`) too, which should not be.
2. Introduced new tests which were breaking before this commit to preventing
   them from breaking in the future.

task-3120090

closes odoo/odoo#127810

X-original-commit: 994fe756db8f1a45ef864cb7848644ea204539b7
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Divyesh Vyas (divy) <divy@odoo.com>
2023-07-10 06:34:39 +02:00
Maruan Aguerdouh (magm) 66d022a4dc [FIX] web: avoid crash when deleting a property multiple times
Steps to reproduce the bug:
    - Go to Apps, and install the Knowledge App.
    - Go to Knowledge and create an article, and a child article.
    - Inside the child article, go to Properties tab and add a property.
    - Go to edit the property, and inside the popover,click on the
    delete button, atleast 2 times.
    - Now we got more than 1 popover to confirm the delete of the
    property, click delete on all of them.

Issue:
    Once the first popover is confirmed, we properly delete the property
    but now we are going to get an error because the property is already
    deleted and we won't be able to find the property to delete.

Solution:
    We need to check if we can find the property we want to delete
    before doing any further actions.

opw-3371753

closes odoo/odoo#127584

X-original-commit: 7f5aed12fb143928cc82eeeea712363cb79b1171
Signed-off-by: Maruan Aguerdouh Mohtar (magm) <magm@odoo.com>
2023-07-08 21:39:43 +02:00
Sven Fuehr e8dbf7a3d1 [FIX] account: fixes payment to self with early payment discount
This commit fixes a bug (corner case) concerning payments
to yourself where an early payment discount is applied.

Details / steps to reproduce the bug:
    1. Create an invoice
    2. Select your own (currently selected) company as customer
    3. Select some payment term with early payment discount (e.g. '2/7 Net 30')
    4. Confirm the invoice.
    5. Click "Register Payment" and keep the default values (i.e. "Mark as fully paid" should be selected)
    6. Click "Create Payment"
    7. A User Error like the following should appear (with different journal entry names):
       "Journal Entry Draft Entry PBNK1/2023/00001 (INV/2023/00005) is not valid. In order to proceed, the journal items must include one and only one receivable/payable account (with an exception of internal transfers)."

Why the bug happens:
The early payment discount adds some extra lines to the journal entry associated with the payment.
Currently those extra lines are classified as "counterpart lines" since the customer is our own company.
But there must be exactly 1 "counterpart line".

How the bug is fixed:
The condition that classifies the extra lines as "counterpart lines" was only intended for internal transfers.
Each company has a related "transfer account" that is used as an intermediary account for internal transfers.
Thus the old condition (c.f. commit diff) when checking whether a line is a "counterpart line"
can be replaced by checking whether the account associated with the line is the "transfer account" of our company.

task-3388294

closes odoo/odoo#127844

X-original-commit: b1536ecb6bc94a2bd5ff3bdf1b73289ca87a744d
Signed-off-by: Laurent Smet (las) <las@odoo.com>
2023-07-08 16:53:21 +02:00
Alexandre Kühn 3ea1564ef9 [FIX] mail: improve follower menu vertical spacing
The "Add Followers" button felt too close to top of
menu, and the last item was to close to bottom of menu.

closes odoo/odoo#127857

X-original-commit: 1c28eab0142d5011d109955977ab99d5091f989b
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-08 13:03:51 +02:00
Alexandre Kühn 6aeb89f544 [FIX] mail: proper alignment of chatter attachment button
Before this commit, the icon and label of the attachment button
in chatter topbar was not aligned.

closes odoo/odoo#127856

X-original-commit: 3842ef84b33e1282b4f7d4d7c92b13b3f4b81b51
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-08 13:03:48 +02:00
Rinngell-Rezs 7e2d9da08d [CLA] Signed CLA for Angel Rodriguez
closes odoo/odoo#127073

X-original-commit: 69a56abb28a7ec7b3043c85585dba4c0143e1bc3
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-08 09:45:03 +02:00
tsm-odoo d97ff6820e [FIX] mail: fix slow follower insertion
Before this commit, follower insertion checked if a follower
was already in the thread's follower list by using
`Array.prototype.includes`. Since this method must run through
every item in the array to tell whether or not a follower is
present, it is extremly slow with large arrays (especially
since it is called for each follower).

This would slow down the tab for threads having lots of follower
(issue starts appering at 5k+ followers).

This PR solves the issue by replacing thread follower lists by
sets. With this change, inserting even 15k+ follower is almost
instantaneous since the membership test is done in O(1) instead
of O(n).

closes odoo/odoo#127833

X-original-commit: 406c91c8cba32e01eaa8df4b7fb9d0e3ad821e9c
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-07 23:48:43 +02:00
Louis Wicket (wil) ced4efa612 [FIX] mail: format date tracking values according to the locale
Prior to this commit, date tracking values in Chatter were always
formatted using the LL/dd/yyyy format.
After this commit, date tracking values will be formatted according to
the user's locale, so as not to cause discrepancies with other dates.

closes odoo/odoo#127834

X-original-commit: 865522e0925fbeae14f5f83d3a2d69a54b546b04
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-07 20:24:58 +02:00
Alexandre Kühn 0304df6dff [FIX] mail: message attachments ordered from older to newer
Before this commit, when posting a message with 3 attachments
`A B C`, the message displayed attachments in order `C B A`.

This happens because message format list attachments in order
of `message.attachment_ids`, which has no specific order.

This commit fixes the issue by ordering attachments in
`message_format` from the oldest to most recent, so that displayed
order in message matches the one from composer, which itself
matches the order of creation of attachments.

closes odoo/odoo#127830

X-original-commit: 53508effa66bca79aa872412333ca8578ca9b813
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2023-07-07 20:24:56 +02:00