- Fixes tips ticket printing when there are tips after payment.
- Makes the ReceiptScreen opened after TipScreen, to show the receipt screen even when there is a tip added after payment.
closesodoo/odoo#127548
Task-id: 3394214
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
This commit reverts partially https://github.com/odoo/odoo/pull/116388
Intent of commit above was to solve a UX issue when user wanted
to send a message containing an emoji at the end, by using an
emoticon.
For example, user expects to type `:)` then `Enter` to post a message
with happy smiley, but instead it adds the 1st canned response
matching search term `)`.
The solution of commit was to enable canned response only in livechat
and in helpdesk.
However, canned responses are more popular than we thought, and they
are even used in other apps like Project. The users of Project either
use canned responses a lot or never. So it's not a good option to
simply disable canned responses in this app.
This commit make canned responses available in all threads except
`discuss.channel` that are not livechat. In other words, canned
responses are specifically disabled in
- Public discuss channels
- Direct Messages chats
- Group chats
We think that conflicting features canned responses and emoticons
happen mostly in chats.
- Livechat needs canned response so there's still this clash, but
canned response have a lot of value so it's fine for emoticon to
be slightly harder to use.
- Public channels, group chats, and DM chats have no use for canned
responses, therefore disabling canned response makes sense!
closesodoo/odoo#127522
X-original-commit: afdaa5e20e878d01d437d9a23a27cf4685c80448
Related: odoo/enterprise#43713
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
This commit extracts a method called `_parseElementsFromGS1` to allow
customizations of interpreting the parsed gs1 barcode. It also returns
`customProductOptions` which serves as override for the product options
when adding a product to the order.
closesodoo/odoo#127477
X-original-commit: 4c9b8e6c7e465f152fdd64a18cf8ca0d4b00e27b
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Before this commit, only logged notes could be edited in chatter.
With this commit, messages sent with "Send message" are also
editable.
Task-3380465
closesodoo/odoo#125939
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Following the new accounting act of 2023 in Danemark, by checking the list of
taxes we saw that one particular tax was missing and for the other either they
can be associated to existing ones or have minor uses and so no need to add them
Also, we added a mapping for OSS to map in the section "Category B (Not to be
reported for EU sales without VAT)"
I have also changed some name where the translation were a bit shaky.
closesodoo/odoo#125720
Task: 3334595
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Steps to reproduce:
1. Create a product "My Test Product" (no attribute)
2. Create a quotation, select the "My Test Product" product and confirm the sale order
3. Go back to product and add an attribute "Size" with values "L", "XL"
4. Create another quotation, select the ""My Test Product" product => crash
We consider archived combination of attributes as forbidden combination in
the configurator, but when the archived product doesn't have any attribute,
the `archived_combination` was an empty list, which wasn't supported well
by the product configurator logic (client-side).
To quickly fix this issue, we can simply stop sending empty archived combination
(i.e. when the archived product had no attributes).
opw-3410383
closesodoo/odoo#127335
X-original-commit: ca1ac1a115fe06a0a2d2de0fb131a58019f73631
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This commit adds a space between the "send" buttons in the Meeting's
form `view_calendar_event_form`. It also removes the `sm-2` class that
seems to be a typing mistake.
task-3326568
part of task-3326263
closesodoo/odoo#127200
X-original-commit: 675f45e046c794cf8e72e3a703c3487cb56839ee
Related: odoo/enterprise#43578
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Prior to this commit, in day and week view, the calendar's header was
misaligned due to the "week number" cell not having a left padding like
the cells below it.
`.fc-widget-header` resets the padding on the`.fc-axis` elements in the
header, thus making the header cells equal to their "day" cells below,
but the "week number" cell should have been an exception.
Adding the missing padding on `.fc-week-number` realigns all the headers
with their respective cells.
task-3326634
part of task-3326263
X-original-commit: 24547b3fb1db572bf358ff2e5a87bc76fb46c169
Part-of: odoo/odoo#127200
When a user tries to access the URL directly, at that time the value of
dictionary `kw` is not available. The error will be generated.
Error : KeyError: 'state'
This commit will prevent the traceback.
sentry-3947033806
closesodoo/odoo#127162
X-original-commit: a05c8732440257eef31767b579793f3e5eb8a141
Signed-off-by: Achraf Ben Azzouz (abz) <abz@odoo.com>
Prior this commit:
In mail subtype, any users could have perform modification on it.
After this commit:
Now user have only access to read and only admin can do all the modifications.
Task-3245940
closesodoo/odoo#127539
X-original-commit: 1b99f9b6608793612dda72007a4ca2258373a97f
Signed-off-by: Stéphane Debauche (std) <std@odoo.com>
To reproduce:
1. Create a Sales Order for a product whose product category is set to
FIFO and automated. Use route "dropship".
2. Confirm the PO created.
3. Deliver the products (DS transfer)
5. Return, for example, 1 unit of product
6. Return the return
This is a continuation of commit f9a1c1d7bb8234eb96c48dddae9930a419bfb696
If the origin of the move is a dropshipped_returned, then the error describe in the mentioned commit will still happen.
opw-3283436
closesodoo/odoo#127403
X-original-commit: b7a91e3682aad7ecc1a4a8a42b2d6368573ba906
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: David Fesquet (dafr) <dafr@odoo.com>
Before this commit, the fixed margin between buttons wouldn't leave
enough room for all the buttons to fit in one row in the chat window.
This commit fixes this issue by using the flex space-between instead of
fixed margins.
closesodoo/odoo#127424
X-original-commit: c5a121729d5348ff81ef9bb8f58611c9234ef9f9
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Follow-up of https://github.com/odoo/odoo/pull/120002
Commit above made a a structural change of code that
should not have changed the functional behaviour of
chatter.
In consideration of reducing query count footprint,
it replaced a `browse().exists()` by `search()`, as
`exists()` always perform a query whereas `search()`
may rely on cache and skip a query.
However, `search()` filters archived records, so this
change unintentionally removed the possibility to send
messages on archived chatter. Also the performance of
`search()` and `browse().exists()` are pretty much the
same, so the premise of changing it to `search()` seems
wrong.
This commit reverts this part so that this is the exact
same behaviour as before.
closesodoo/odoo#127518
X-original-commit: 43227ad2eaaeba3f6e3e6fae8b84728e0c33c59a
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Steps to reproduce the bug:
- Install mass_mailing_sms module (for test purpose)
- Go to Contacts and open list view
- Select a contact and click on "Actions -> Send SMS Text Message"
- Write a message on multiple lines and click on "Send Now"
- Open partner form view
Issue:
The message is not displayed on multiple lines in the chatter.
Cause:
The message is converted to plain text while should be converted to
HTML for logging.
Solution:
Convert the message to HTML (like it is done when sending not in mass)
opw-3301577
closesodoo/odoo#127497
X-original-commit: 11503de934e272d1df615f1a79acd1b96954bbd3
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Nasreddin Boulif (bon) <bon@odoo.com>
Before this commit, the "click on save" in french step was checking for
the element containing the "Save" french translation term, which is
coming from Transifex.
It sometimes changes, making the tour fail.
It was "Sauver", then "Sauvegarder" and now "Enregistrer".
This was a well known issue as we already made a quick and dirty fix for
that with [1].
It was judged enough as we did not want to spend more time on this fix
as it was expected to not break anytime soon, and we needed a quick fix.
The chance is now taken to adapt the test to not rely anymore on the
.pot file.
We also take the chance to not use an existant translation but a fake
one as it will speed up the test (no need to actually read/parse .po
files are there is none for this lang).
[1]: https://github.com/odoo/odoo/commit/594ac2c9651f27cc1623fcd5b916cb191241651b
runbot-22946
runbot-22945
closesodoo/odoo#127493
X-original-commit: 6d9d4d1b43544ae98cc8037ba01c81b66ab9f0ee
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
This constraint did not exist prior to version 16.0 and was
added here : https://github.com/odoo/odoo/commit/7c4e591d58dd2b882f0c237d52490b2756c94203
But this feature is used by fiduciaries for printing customer
invoices, which is why we are removing it here.
No task, internal feedback.
closesodoo/odoo#127490
X-original-commit: d54bae78db25dc62687e3afc64f8699dfbfd5cf8
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: John Laterre (jol) <jol@odoo.com>
- simplify initialization of form._values (don't fill in with False)
- use UpdateDict for form._values (more consistent with x2many values)
- better/simpler API for getting save/onchange/all values
- don't reparse subview in O2MForm (already done by toplevel Form)
- guarantee that one2many fields always have an edition view
- add assignment on many2many fields
- add __getitem__/__setitem__ to access/assign fields with dynamic name
Part-of: odoo/odoo#127400
This reverts odoo#126869.
Motivation for debounce was to reduce the amount of RPCs, to
not put too much load on server.
However, this makes showing of mention slower than it should,
and the load on server is already adjusted based on duration
of ongoing `fetchSuggestion` RPC: if server can reply with mentions
immediately, then no need to debounce. If the RPC is slow, then
next `fetchSuggestion` waits for current RPC to finish before
making a new fetch.
This PR also fixes this small crash when using mentions:
```
TypeError: Cannot read properties of undefined (reading 'toLowerCase')
at cleanTerm (format.js:244:1) (/mail/static/src/utils/format.js:244)
```
Steps to reproduce:
- type `@` then `backspace` then `@` then `backspace`, etc.
This happened because suggestion hook internal state had `term` being undefined when there is no term, but `undefined` is invalid for `cleanTerm`. `""` is a better default for no search term, and since this is a string this works with `cleanTerm`.
closesodoo/odoo#127399
Related: odoo/enterprise#43678
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Steps to reproduce:
- Create a subcontracted product with components tracked by lots
- make a PO for 35 the product and send components from multiple lots
- login as subcontractor on the portal
- record uncomplete production and change the default consumed lots
Bug:
split production ignores the done quantities on the initial move
on the Backorders components are considered to be consumed in the
default order
Fix:
Consume components on the initial move as indicated by the user
reserve the remaining components for the Backorders as usual
opw-3186773
closesodoo/odoo#127467
X-original-commit: c39256ba6df257ee79fb66eab61617f5fec166b9
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Walid Hanniche (waha) <waha@odoo.com>
`isMatched` is always true, so it have little/no purpose and we can
remove this attribute.
closesodoo/odoo#127279
Signed-off-by: Adrien Minne (adrm) <adrm@odoo.com>
Current behavior:
When you try to invoice an order that was made in a different pos
session, a reversed payment is created and then the invoice is created.
But the reversed payment was using a different journal than the one
used to create the order, which is not correct.
Steps to reproduce:
- Open a PoS session
- Make an order and pay it with the customer account
- Close the session
- Open a new session
- Go to the orders list and show the paid orders, you should see the
order you made in the previous session.
- Click on it and click on the invoice button
- Go to the accounting app and check the entries created for the
invoice, you should see a reversed payment entry that uses a
different account than the one used to create the order payment.
opw-3249116
closesodoo/odoo#127064
X-original-commit: a646baf6901f88434543cb34397c98f1d5c294c4
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
- The private addresses have been removed from the "res.partner" model.
- The employees' private address information has been moved to the "hr.employee" model, preserving the old records but emptying the private information fields.
- The applicant's private address information has been moved to the "hr.applicant" model, following the same approach.
- More generally, some efforts have been done to ensure we only create and use the same partner from the application form, to the employee creation and also the user creation.
- The salary configurator offer mechanism has been improved to provide stability (no more arguments in URL), traceability (track changes and responsibles) and reporting.
closesodoo/odoo#120586
Taskid: 3101400
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
on error unblock dispay and enable pay button to allow
user perform actions
closesodoo/odoo#127441
X-original-commit: 3bcb74438c8e29eb52c2e20c97dabca7a61a1dae
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Usecase to reproduce:
- Set reservation method to closest location
- Set the POS as real time stock
- Put 1 unit in A and 1 unit in location B
- Create a SO for 1 unit
- Sell it in the POS
Expected behavior:
The unit has been taken from the reservation in location A
Current behavior:
The unit is taken from B
It happens because the SO is unreserved after the new picking
and stock.move.line creation. Since the unit is reserved, he
can't pick it and take a random ones.
The solution here is to unreserve the related stock.move to
free the reserved unit, it will not always be the same than the
SO but it will consider it in the removal strategy. It could
also fix the case where only 1 unit remains in stock and he won't
pick it.
opw-3271217
closesodoo/odoo#126818
X-original-commit: 312cf1870d15145b511e4ebffa82dd44a7fec22c
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
This PR removes two top level await in test files and reorganizes a bit the tests setup as the module loading sequence has changed. This PR also fixes some bugs spotted during dev. The goal of removing async modules is to simplify the module loader in the future.
task id: 3265979
closesodoo/odoo#121185
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
The commit [1] removed two async module and caused a reorganisation
on the module loading.
Since that commit, the patches could be applied in a different order
and be applied after a save of one these patches.
This commit fixes a case where we save the reference of a patched
function that we call it later with missing patches.
[1]: 96687f29496ab4cf16ae2ab1584ef1a6a3fb4a11
Part-of: odoo/odoo#121185
The commit [1] removed two async module and caused a reorganisation
on the module loading.
Since that commit, two tests that throw an error failed
because the error message was written in the console
and the server considered this as a test fail.
Now, the error message is not written in the console anymore.
[1]: 96687f29496ab4cf16ae2ab1584ef1a6a3fb4a11
Part-of: odoo/odoo#121185
The commit [1] removed two async module and caused a reorganisation
on the module loading.
Since that commit, `uniqueId` did not begin with the id 1 in its test
and so the test failed.
Now, the variable containing the last id of `uniqueId` is set on the
function itself. This allows us to reset the id in the test.
[1]: 96687f29496ab4cf16ae2ab1584ef1a6a3fb4a11
Part-of: odoo/odoo#121185
This commit removes two top level await in test files and reorganises
a bit the tests setup as the module loading sequence has changed.
The commit also converts the modules that contained
these top level await to esm.
The goal of removing async modules is to simplify the
module loader in the future.
task id: 3265979
Part-of: odoo/odoo#121185
Prior to this commit, the patches done by `account_portal.js` and
`sale_portal.js` were done without any import.
This means that the widget it modifies (PortalHomeCounters) might not
already be loaded in the registry. This could lead to some issue later.
This commit uses an "import" statement on the module that defines
PortalHomeCounters to ensure that it is present in the registry.
task-3249625
closesodoo/odoo#127371
X-original-commit: 7937dbec9699e7d0f68450c469c9b742446303eb
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Due to default JS limitations, when trying to save payment method on
subscription it was automatically taking first form that it could
find which was payment form and causing an error since payment form
was empty.
task-3339230
closesodoo/odoo#127332
X-original-commit: 252320a6154ba06cc4c7f96787a39baf12329804
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Current behavior:
When selling a kit in PoS, the total cost of the kit is not computed
correctly if the product category was using fifo/avco.
Steps to reproduce:
- Create a product category using fifo
- Create a kit product with 2 products in it (Comp A with a cost of 5
and Comp B with a cost of 10). Total cost of product is 15.
- Create a PoS order with the kit product, and validate it
- Check the total cost of the product in the pos sale order, it is 0
but it should be 15.
opw-3189949
closesodoo/odoo#127325
X-original-commit: 6fd2a939651e7afc06fa9eed2eeeebc34752fc25
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
- Billing officers / HR officers have access to all bank accounts
- Internal users only have access to bank accounts that are not linked to an employee
- Portal/Public users have access to nothing.
TaskID: 3101400
Purpose
=======
It is currently impossible to display a json field on a form view without
defining a specific widget.
Allow displaying the json field in its simplest form, aka the stringified
content in readonly mode.
TaskID: 3101400
No need to hide the chatter to recruiters, as the salary configurator
has been improved to avoid posting sensitive data on the application
form itself.
TaskID: 3101400
Use the application form partner as work contact when converting him into
and employee.
Use the employee work contact as user partner on user creation.
The goal is to have only 1 partner over the whole recruitment process
flow, instead of three, thus reducing the confusion for end users who
don't really know who to choose.
TaskID: 3101400
- Improve performances, as the ir.rule restricting private partners
visibility is also applied on res.users by inheritance, on each
prefetch.
- Solve the issue of partners set as followers on records (eg: application
form) and then made private, making them impossible to contact via the
chatter.
- Solve the multiple access issues when trying to access the bank
account, or the private address for non HR people like the accountants
forcing the usage of sudo in the business code.
TaskID: 3101400
Improve usability of employee form. It is confusing for end users
to create another record to encode the employee address.
Move all the private information on the hr.employee record itself.
Remove the M2O address_home_id.
TaskID: 3101400
This commit adds an "Odoo" functions category in the top bar menu
"Insert > Function".
It allows to easily discover existing functions.
closesodoo/odoo#127372
Signed-off-by: Alexis Lacroix (laa) <laa@odoo.com>
* = im_livechat, test_discuss_full
According to stats from our production database, this query is 10 times
faster than the one generated by the ORM by using a `left join` rather
than `id in`.
closesodoo/odoo#125961
Related: odoo/enterprise#43635
Signed-off-by: Didier Debondt (did) <did@odoo.com>
Purpose:
This commit adds Emoji_picker functionality to the web_editor,
allowing users to conveniently add emojis to their text and
improving the overall user experience.
Specifications:
Now we can insert emoji in web_editor using `/emoji`.
Task id: 3253958
closesodoo/odoo#125137
Related: odoo/enterprise#42772
Signed-off-by: Simon Genin (ges@odoo) <ges@odoo.com>