In the chatter composer, suggested partners were shown more than
necessary.
1. Create a new partner;
2. Open the chatter composer to send a message
(the new partner is suggested as a recipient);
3. Re-open the chatter composer
=> the partner is still suggested, but it is already a follower now!
Task-Id 2050102
closesodoo/odoo#35604
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Co-authored-by: jbm-odoo <jbm@odoo.com>
Modify tree view for MRP Production
Modify form view and tree view for Unbuild orders
Add group by for Bill of Materials
By default show line shart when opening MRP Production report
Modify view for Work Orders
Modify view for Work Centers
Modify view for Routings
Modify view for Maintenance Request
Modify view for Bill of Materials
task-2042304
closes - https://github.com/odoo/odoo/pull/35482
To reproduce the issue:
- configure a product with no_variant attributes
- select "grid" mode
- add this product to a sales order
- fill the grid
- confirm
-> Traceback
closesodoo/odoo#35701
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
Before, we only had a public method that installed
the CoA for the current active company.
With the multi-company changes, it was not
possible anymore to install a module with a
demo company and then have the CoA installed
in that demo company correctly.
We changed that public method to be able to
put an extra optional parameter and shortened
its name to try_loading instead of
try_loading_for_current_company. The method that
it calls when there is no chart installed
is made private and renamed to _load.
closesodoo/odoo#35703
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Introduces by #0679d0d54269ffe0664845e8e0bd1238110fd514 when you plan a
workorder, the corresponding workcenter will reserve a leave to avoid to
plan an another workorder in the same time slot.
But before this commit, when you unplan your workorder, the leave wasn't
unlinked, so the time slot stay reserved.
Now when a workorder is unlinked, its leave is too.
closesodoo/odoo#35003
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
The purpose of this commit is to simplify the `mrp.production` model in
reducing the number of date field.
The following fields was kept:
- `date_planned_start`: the planned date for the beginning of the MO
- `date_planned_finished`: the planned date for the ending of the MO
- `date_start_wo`: the preferred date to start a Work Order in case
the MO will plan one.
- `date_deadline`: is only indicative and is automatically set when
the manufacturing order is needed for a sale order.
- `date_start` and `date_finished`: no changes.
Task #1935229
Co-authored-by: Whenrow <whe@odoo.com>
Add support for Six payment terminals.
TaskId: 1932416
Linked to odoo/enterprise#4435
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#33673
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Simplify payment acquirer configuration.
Mostly screen changes, except the combination of website published/test mode in a single state button (disabled/test/enabled);
Rename ogone to ingenico in UI.
Slight changes in the message configurations.
Task 1832899
closesodoo/odoo#29064
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
We will need to print Balance receipts for payment terminals from
Odoo's backend. The CSS and libraries need to be available there too.
TaskID: 1932416
Point of sale config have multiple fields that depends on the accounting
localisation, but when you create a new company, the default values for
the journals, accounts, etc are not yet created because there is no
chart of account installed for the company.
So to avoid user that create a pos config to manually create accounting
journals and accounts, we are warning them to install first an
accounting localisation that will create them all necessaries account
and journals.
TASK-ID: 2028954
closesodoo/odoo#35042
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
For 10000 templates, of which around 1000 have variants, with 100 existing
attributes and 20 values for each:
- Displaying the /shop page takes 0.55s before the commit and 0.49s after.
That's a 60ms again, around 10% faster.
- The number of queries goes from 113 to 106.
- The specific line that is changed goes from 6.3% total request time down to
2.77%, so the line becomes 2.3 times faster.
closesodoo/odoo#34213
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This PR is linked to: odoo/enterprise#4913
We updated the hw_scanner module to transform it into an IoT Driver. Since barcode scanners work the same way than keyboards, we will use a single Driver for both of them.
Here are the different changes that are introduced :
- Move all the js code that is related to barcode readers to a separate file for clarity.
- Move KeyboardUSBDriver to Community. Barcode scanners should be available in Community.
- Remove hw_scanner. We use the same route in the new driver (for Community) so backward compatibility is ensured. In Enterprise, we now use the longpolling to read the barcodes.
- Send real characters instead of the key's name. For example, we now send '_' instead of 'UNDERSCORE'.
- Add the possibility to select the keyboard/scanner layout from the IoT Device form view. An action is called on the IoT Box.
- Add support for modifiers: Shift, Ctrl, Shift Lock, Num Lock...
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#35084
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
FP request: hide the field from the view as too technical
MAT analysis: it should be true by default as most expected behaviour
(it was the reason why it was displayed in the first place)
closesodoo/odoo#35679
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
- Improved statement report with simpler layout and by adding extra details like bank account, transaction date and long transaction details.
- On validating bank statement, pdf report should be attached to chatter.
- One can view attached pdf report without downloading it from statement itself.
Task: 2029364
closesodoo/odoo#34659
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
In Community, we use a longpolling to get the scanned barcodes in
KeyboardUSBDriver. When refreshing a POS session, a new longpolling is
started but the read_next_barcode function is still waiting and will
still try to send a response to the previous longpolling, even if it is
closed.
If an old process is still waiting when we try to get a new barcode, we
stop it by sending a dummy barcode. We use a lock to be sure that the
new request doesn't read the dummy barcode that it just sent.
Add keysym mapping to the IoTBox config to be used in KeyboardUSBDriver.
The Keysym -> Character mapping provided by Xlib only supports latin-1
encoded characters. For keysyms corresponding to special characters, X11
won't return anything. We provide a Keysym to Unicode mapping for most
of the characters not supported by X11.
Barcode scanners are now part of KeyboardUSBDriver. We also add
the possibility to change the keyboard/scanner layout from an
action. The list of available layout can be retrieved with a new
route.
`hw_scanner` has been removed. Backward compatibility is ensured
because the name of the route that is now used in community is the
same that was used previously.
TaskID: 1939455
The KeyboardUSBDriver will be transformed to integrate barcode
scanners. The barcode scanners will be used in Community so we move the
driver in Community.
TaskID: 1961025
Replace website_published and environment by a generic state on
payment.acquirer
Payment acquirers aren't enabled by default. When setting their state to 'enabled' or 'test', it is verified the required fields for the provider are set.
Small changes to prepare the modifications needed by the interface of
Six terminals in Enterprise:
- With the possibility of reversing payments, we could possibly have
payment lines that have an amount of 0. The computation of the
'extradue' will be wrong in this case and we need to put it in a
separate function so that we can override it in pos_iot.
- Add ids to "Validate Closing & Post Entries" buttons to override
them to send balance on close.
TaskId: 1932416
Add MPDManager to driver.py to keep a list of connected terminals
up to date.
Add the files needed to communicate with the payment terminals:
eftdvs --> MPD server that needs to run on the IoTBox
eftapi.so --> Library to connect Odoo to the MPD server
TaskId: 1932416
Add configuration for a Six payment terminal on the IoTBox's homepage.
The Terminal ID specified on the homepage is saved to:
`/home/pi/odoo-six-payment-terminal.conf`
TaskId: 1932416
We've adapted the tests to work with the new implementation
of payments and session closure. And we've added some new
ones to have a better coverage on point_of_sale module.
TASK-ID: 1862388
closesodoo/odoo#33578
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Main goal of this task is to create single accounting entry
(AE) when closing a pos.session instead of individual AE for
each order in the session.
This significantly minimizes the number of created journal
entries by point_of_sale which also results to faster closing
of session when there is large numbers (order of thousands)
of orders. It also eases the reconciliation of payments because
on one hand, cash payments are automatically reconciled and on
the other, other payments are combine in a receivable line
based on the payment method.
**Important points to note**
1. Two new models (pos.payment.method and pos.payment) are
introduced replacing the functionalities of account.journal
(and account.bank.statement) and
account.bank.statement.line, which served before as payment
methods and payments.
2. The creation of single AE relies on the receivable_account_id
defined in each pos.payment.method. This receivable_account_id
is supposed to be different from the account module's receivable
account, thus, a new receivable account for pos is introduced
in each localization.
3. A simple example below can illustrate this change.
Given the following orders:
+---------+----------+----------+-----+-------+-------+
| order | payments | product | qty | price | total |
+---------+----------+----------+-----+-------+-------+
| order 1 | cash | product1 | 10 | 10 | 100 |
| | | product2 | 5 | 20 | 100 |
+---------+----------+----------+-----+-------+-------+
| order 2 | bank | product2 | 7 | 20 | 140 |
| | | product3 | 1 | 30 | 30 |
+---------+----------+----------+-----+-------+-------+
| order 3 | bank | product1 | 1 | 10 | 10 |
| | | product2 | 3 | 20 | 60 |
| | | product3 | 5 | 30 | 150 |
+---------+----------+----------+-----+-------+-------+
Instead of generating 3 accounting entries, a single
accounting entry (linked to the pos.session) will be created.
This accounting entry will have the following lines:
+---------------------+---------+------------+
| account | balance | reconciled |
+---------------------+---------+------------+
| sale | -590 | - |
| pos receivable cash | 200 | yes |
| pos receivable bank | 390 | no |
+---------------------+---------+------------+
| Total balance | 0.0 | |
+---------------------+---------+------------+
Note that the cash receivable line is already reconciled
because it can assumed that the payment is already received.
The unreconciled receivable line can be reconciled manually
using the reconciliation widget.
More examples can be seen in the tests.
TASK-ID: 1862388
A new feature[*] in point_of_sale (PoS) which minimizes the
creation of account.move records in closing a pos.session relies
on a receivable account made specifically for PoS.
This commit addresses this feature's requirement by adding a
new receivable account to each localization.
[*] point_of_sale: single AE for a pos.session
TASK-ID: 1862388
Now we hide the generate return label if this option is not available for the current carrier.
Before this fix, we could set the field to true even if the option was not available for this particular carrier.
Task-Id: 1956970
closesodoo/odoo#35178
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
PURPOSE
Add some improvements in mail gateway: remove private discussion, improve
bounce management, allow resetting bounce counters, improve automatic set or
reset of blacklists and ease mass mailing inheritance.
MAIN SPECIFICATIONS
Remove private discussion support in mail gateway. It is not really supported
since several versions. This merge removes remaining code in gateway.
Perform all incoming email parsing in message_parse and its sub methods. That
way future processing can use parsed values instead of re-doing parsing of
required information.
Add ``_message_parse_extract_bounce`` parsing sub method to parse bounce
information and use it in mass mailing.
Add ``_routing_handle_bounce``: handle bounced emails by notably updating
the bounce counter on blacklist records.
Add ``_routing_reset_bounce``: handle valid incoming emails by notably
resetting bounce information on that specific email.
Have ``_message_receive_bounce`` and ``_message_reset_bounce`` being
void in mail.thread and updating reset counter in blacklist enabled records.
Update blacklist / unblacklist in mass mailing, take into account traces and
partner information.
Add tests.
See sub commits for more details and explanation.
LINKS
See task 1893155
closesodoo/odoo#35284
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
PURPOSE
Add some improvements in mail gateway: remove private discussion, improve
bounce management, allow resetting bounce counters, improve automatic set or
reset of blacklists and ease mass mailing inheritance.
SPECIFICATIONS
The number of message bounce is incremented each time the email bounce
on a specific email address. To have a correct information, we should
reset to zero this counter if we receive a mail from this address.
Indeed, if we receive an email from an email address, this email is
active and the message bounce number (if > 0) is not relevant anymore.
Only models inheriting form blacklist are impacted by this improvement
in order to limit a bit side effect.
Also, add a check in autoblacklist rule. No need to check the stats
if message_bounce is < 5.
This commit introduces
* ``_routing_reset_bounce`` routing method managing the bounce reset;
* ``_message_reset_bounce`` model method that resets bounce counter
in blacklist enabled models;
LINKS
Related to task ID : 1893155
Linked to PR #33340
PURPOSE
Add some improvements in mail gateway: remove private discussion, improve
bounce management, allow resetting bounce counters, improve automatic set or
reset of blacklists and ease mass mailing inheritance.
SPECIFICATIONS
Purpose
* move bounce information detection in message parsing. It allows to have
this information available in various steps of routing instead of having
to manually re-compute them;
* handle bounce in specific methods allowing easy override;
* improve bounce management, notably when detecting a bounce not linked
to the bounce alias configuration;
* better integration with blacklist mechanism;
Specifications
* compute bounce information in ``_message_parse_extract_bounce``.It parses
bounce information and returns a dictionary allowing to update parsed email
values;
* remove override in mass_mailign that basically does what mail already
does;
* manage bounce in ``_routing_handle_bounce``;
* when detecting a bounce, correctly call the bounce management method on
all models inheriting from blacklist;
* correctly update bounce counter;
* bounced mailing traces and automatic blacklist in mass mailing should
be done in ``_routing_handle_bounce``;
* add some tests;
LINKS
Related to task 1893155
Linked to PR #33340