Commit Graph
128891 Commits
Author SHA1 Message Date
Lucas Lefèvreandjbm-odoo 14bb91e9ae [FIX] mail: only show suggested partners once
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

closes odoo/odoo#35604

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>


Co-authored-by: jbm-odoo <jbm@odoo.com>
2019-08-14 12:11:18 +00:00
Hetashree Chauhan 59f838d5b1 [IMP] web: Show all kanban records of same size
task-2042304
closes - https://github.com/odoo/odoo/pull/35482

closes odoo/odoo#35482

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-08-14 12:13:27 +00:00
Hetashree Chauhan cdc8bf4bb1 [IMP] mrp, maintenance: back to basics
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
2019-08-14 12:13:27 +00:00
Victor Feyens 699a4614ef [FIX] purchase(_product_matrix): no_variant attributes
Display no variant infos in the purchase order line description.

closes odoo/odoo#35717

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-08-14 10:23:38 +00:00
Sébastien Theys 64008bdcab [FIX] sale_product_matrix: fix traceback with no_variants attributes
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

closes odoo/odoo#35701

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-08-13 16:36:58 +00:00
fleodoo 8858a98b68 [IMP] hr_recruitment: open voip on mobile phone number click
Task-Id: 1913470

closes odoo/odoo#30754

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-14 09:43:44 +00:00
Josse Colpaert f8d4bf4499 [IMP] account, l10n_xx: change CoA loading methods
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.

closes odoo/odoo#35703

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-14 08:42:27 +00:00
William Henrotin 275dcfa412 [FIX] mrp: successively plan/unplan the same mo
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.

closes odoo/odoo#35003

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-08-14 08:44:52 +00:00
svs-odooandWhenrow 2a2c27fa45 [IMP] mrp, sale_mrp: planned date on MO
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>
2019-08-14 08:44:52 +00:00
svs-odoo 629e8da14f [REF] mrp: remove duplication in mrp product
The method `action_view_mos` was written two times just for a difference
in the action's context.
2019-08-14 08:44:52 +00:00
Robot Odoo e9dbf45b3b [IMP] pos, hw_drivers, hw_posbox_homepage: Six terminals
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

closes odoo/odoo#33673

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-08-14 11:27:10 +02:00
Robot Odoo 4cb1825d6a [IMP] payment*: payment acquirer UX
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

closes odoo/odoo#29064

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-08-14 10:24:00 +02:00
Antoine Prieels 5ba6237931 [IMP] point_of_sale: Receipt assets in backend
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
2019-08-13 16:57:39 +02:00
Gert Pellin 2f6b2da914 [IMP] point_of_sale: Warning no chart of account
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

closes odoo/odoo#35042

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-13 13:13:04 +00:00
Sébastien Theys 08f3f3dffb [IMP] website_sale: speed up loading of attributes on shop
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.

closes odoo/odoo#34213

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2019-08-13 16:55:45 +00:00
Robot Odoo 1856b895cb Barcode scanners as IoT Devices
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

closes odoo/odoo#35084

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
2019-08-13 18:55:23 +02:00
Martin Trigaux 43d355c208 [IMP] base: better default for translation overwrite
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)

closes odoo/odoo#35679

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-13 14:21:00 +00:00
Martin Trigaux caa43300f2 [IMP] base: revert c875d02572
Remove the placeholder that was added at task 1921583
Cf fp discussion about task 2028152
2019-08-13 14:12:17 +00:00
Martin Trigaux bdec8efabf [ADD] web: add the language code in the translation widget
The planet icon is not very clear for translation feature.
Replace it with the code of the current language.

Task-id: 2028152
2019-08-13 14:12:17 +00:00
Dhruv Patel 2347b84c66 [IMP] account: improved statement report
- 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

closes odoo/odoo#34659

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-13 14:49:58 +00:00
Antoine Prieels 26a5df9507 [IMP] hw_drivers: Save keyboard layout in config file
When a user selects a keyboard layout, we save it to a file. This is
needed to keep the selected layout after a reboot of the box.

TaskID: 1961025
2019-08-13 15:35:38 +02:00
Antoine Prieels e0b4adbc3b [FIX] iot: Kbd Close previous barcode request
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.
2019-08-13 15:35:38 +02:00
Antoine Prieels 728903bd20 [IMP] point_of_sale: KeyboardUSBDriver special characters
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.
2019-08-13 15:35:38 +02:00
Antoine Prieels 4e649a8ca9 [REF] hw_{driver, scanner}: Barcode scanners as IoT Devices
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
2019-08-13 15:35:38 +02:00
Antoine Prieels 9790c81d5b [IMP] hw_drivers: Move Keyboard driver to Community
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
2019-08-13 15:35:38 +02:00
Antoine Prieels 7846c6f3a3 [IMP] point_of_sale: Move barcode scanner code
We put all the code concerning barcode scanners in a separate file, for
more clarity.

TaskID: 1961025
2019-08-13 15:35:38 +02:00
Dhruv Patel 8f80df5c3e [MOV] point_of_sale/account: moved statement report to account module
Task: 2029364
2019-08-13 04:43:40 +00:00
Victor Feyens 6a5abff39c [FIX] payment : show everywhere payment in test mode. 2019-08-12 08:45:50 +00:00
Victor Feyens b4f226875c [IMP] payment: show distinctly acquirers in test mode. 2019-08-12 08:45:50 +00:00
Victor Feyens 2a3f550d41 [IMP] payment: require a journal to enable a payment acquirer. 2019-08-12 08:45:50 +00:00
Victor Feyens 9de0bc1107 [FIX] payment_paypal : take correct email at onboarding.
Don't set all acquirers with OdooBot email as paypal email :P.
2019-08-12 08:45:50 +00:00
Victor FeyensandWilliam Andre 9d23e8a097 [IMP] payment: ideal payment method support showed on acquirers.
Co-Authored-By: William Andre <wan@odoo.com>
2019-08-12 08:45:50 +00:00
Victor FeyensandWilliam Andre 9940bdb32a [REF] payment : messaging and payment display
Co-Authored-By: William Andre <wan@odoo.com>
2019-08-12 08:45:50 +00:00
Victor Feyens f0e059e601 [REF] payment* : state based publishing
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.
2019-08-12 08:45:50 +00:00
Victor Feyens 611fde6c88 [IMP] payment: UI/flow 2019-08-12 08:44:25 +00:00
Victor Feyens 718ca5269b [REM] payment_ingenico : dead link to ingenico website 2019-08-12 08:44:25 +00:00
Victor FeyensandWilliam Andre 05db372b4c [REM] payment_ingenico : remove translation
It will be brought back by transifex later :D

Co-Authored-By: William Andre <wan@odoo.com>
2019-08-12 08:44:25 +00:00
Victor FeyensandWilliam Andre f1ae1675a0 [MOV] payment_ogone --> payment_ingenico
Co-Authored-By: William Andre <wan@odoo.com>
2019-08-12 08:44:25 +00:00
Victor Feyens 012846cec1 [REM] payment : custom payment acquirer 2019-08-12 08:44:25 +00:00
Antoine Prieels b62d98e9a8 [IMP] hw_drivers: Config file for eftdvs
Add a config file for eftdvs. This was requested during the
certification to allow user to change the config of the
terminal.

TaskID: 1932416
2019-08-12 08:16:04 +02:00
Antoine Prieels 187eb053d6 [IMP] point_of_sale: Six terminal interface
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
2019-08-12 08:16:04 +02:00
Antoine Prieels dc449a4ae5 [IMP] hw_drivers: support Six payment terminals
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
2019-08-12 08:16:04 +02:00
Antoine Prieels cc063512bd [IMP] hw_posbox_homepage: Six payment terminal
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
2019-08-12 08:16:04 +02:00
Joseph Caburnay 8becb17b8a [TEST] point_of_sale: create one account move by session
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

closes odoo/odoo#33578

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-09 14:45:44 +00:00
Joseph Caburnay b234e97f87 [IMP] point_of_sale: create one account move by session
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
2019-08-09 13:57:11 +00:00
Joseph Caburnay 536560bbf5 [IMP] l10n_*: add new receivable account for pos
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
2019-08-09 13:57:10 +00:00
Robin Heinz af91527929 [IMP] delivery: Hide generate return label
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

closes odoo/odoo#35178

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-09 15:31:26 +00:00
Robot Odoo 912f6cb23d [MERGE][REF] mail: improve routing and bounce / blacklist management
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

closes odoo/odoo#35284

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-09 17:25:16 +02:00
David Beguin 92fe83ecf8 [IMP] mail, mass_mailing : reset bounce on mail reception
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
2019-08-09 14:30:55 +00:00
David Beguin f4524f03c3 [REF] mail: move and improve bounce management in mail gateway
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
2019-08-09 14:30:55 +00:00