Commit Graph
116742 Commits
Author SHA1 Message Date
Nicolas Martinelli ea4502ceab [FIX] mass_mailing: bounced statistics
A mass mailing can be considered both as bounced and opened. This can
occur with some email providers, such as Gmail. Indeed, Gmail sends
out-of-office replies to the `Return-Path` address, which is also used
for bounced emails. Therefore, it is not possible to determine
accurately if a message sent to to the `Return-Path` is a genuine
bounced email, or an out-of-office reply.

However, if the recipient opens the email, it is possible to determine
that the bounce was counted incorrectly. In this case, we empty the
`bounced` field. Similarly, we only write on the `bounced` filed if the
`opened` field is empty. This could occur if the recipient opens the
email before the out-of-office reply is received.

As a bonus, we also make sure to avoid updating the status if no route
was found. No route means that the email was bounced, so no reason to
set it as opened.

opw-1869957
2018-08-13 13:57:13 +02:00
Arnold Moyaux e1ff6ce3d9 [FIX] purchase: cancel a PO undo the closest picking cancellation
Usecase to reproduce:
- Set a product buy and MTO
- Create a SO with it and cancel it
- All the pickings are cancel
- Cancel the PO
- The picking that generate the PO is set to confirm
The picking should remain in cancel state

It happens because the button_cancel method still
consider the canceled moves.

This commit only modify destination moves if they still
require an action from the user.
2018-08-13 13:51:54 +02:00
Nicolas Lempereur 9b609842e3 [FIX] l10n_in: invoice col length kept same
If there is less than 5 invoices lines, {5 - number of invoice line}
empty invoice line are added as padding.

But these line could have a different number of column than the content,
thus the style could differ slightly or more erroneously if there was
background color depending on column number such as on the boxed style
layout.

opw-1870625
closes #26317
2018-08-13 11:32:24 +02:00
Odoo Translation Bot 75630e3d69 [I18N] Update translation terms from Transifex 2018-08-12 04:15:33 +02:00
Yannick Tivisse a06747c03d [FIX] base: Execute group config on modifications only
opw: 1872220

Purpose
=======

1/ Go on Settings -> Users, enable some groups for a specific user
2/ Go on any app -> Configuration -> Settings, modify a group

All the specific groups assigned to a user are erased.

Specification
=============

We should avoid to remove a user from a given group.

Create a new res_group with the default value, and only apply the
group modification if the group has actually been modified.
2018-08-10 16:22:00 +02:00
len-odoo 792520926a [FIX] sale: pass correct action when accessing quotation from email link
When accessing a quotation from an email link, no action is given.
As a result, after create/discard of a new record, the abandonRecord method does
not find a fallback page to go to, and it appears as if the discarded new record
had been created.

opw 1869350

11.0-opw1869350-action-len
2018-08-10 16:11:30 +02:00
Gabriela Mogollon ebf29dfc2e [IMP] hr_payroll_account: Avoiding creating empty journal entries
Purpose
=======

Steps to reproduce
------------------

Install hr_payroll_account
Configure a salary rule
Create a payslip and confirm

Current behavior
----------------

A journal entry is created without items.

Expected behavior
-----------------

Create the journal entry with all items like it's created
When the payslip is computed (compute sheet button) and validated.

resolve https://github.com/odoo/odoo/issues/24796

Specification
=============

Now the super of ```action_payslip_done``` is called before the creation
of the journal entry. This means that the ```compute_sheet``` method is
called too before the filling of the account move.
2018-08-10 11:09:15 +02:00
Lucas Perais (lpe) 21064c7de8 [FIX] hw_escpos: byte/string correction
OPW 1868196
2018-08-10 09:39:44 +02:00
Lucas Perais (lpe) abd2b2e2ca [FIX] account: reconcile through widget associate payment/invoice
Create an invoice, validate it

Create a payment from athe account.payment model (not the register payment wizard)

click on the smart button payment matching, and match the invoice with the payment
Reconcile

Before this commit, the invoice was not part of the invoice_ids field of the payment,
So, when printing the payment receipt or check, there was nothing on there

After this commit, we associate the invoice with the payment, and the receipt prints
what is expected

OPW 1871575

closes #26245
2018-08-10 09:35:26 +02:00
len-odoo 47c7d123da [FIX] web_editor: remove related videos at the end of youtube embeds
If a user embeds a youtube video on his website, he has no option to remove the
suggestion of related videos at the end of playback.
Since there is no good reason to have it, we disable the related videos in all
cases.

opw 1868380
2018-08-10 09:30:41 +02:00
Lucas Perais (lpe) 215754a7db [FIX] payment: display error on payment acquirer return
Before this commit, when authorize (for example) returned a business error
the error wasn't displayed to th ecustomer

After this commit, it is.

OPW 1866408

closes #26279
2018-08-10 09:27:09 +02:00
Goffin Simon bf282f2b7b [FIX] stock_landed_costs: List view in multi-company
In multi-company, it was not possible to distinguish the records
of the current company of the user.

opw:1870561
2018-08-09 16:01:31 +02:00
Goffin Simon a10ea93dbe [FIX] account: rounding problem with Payment Matching in multi-currency
Steps to reproduce:

- activate the multi-currency option in the Accounting App
- activate the EUR currency (USD being the base currency)
- create a EUR Bank Journal with an EUR account
- on 31/07 ==> rate = 1.1
- on 08/08 ==> rate = 1.2
- create a vendor bill for Asustek on 31/07 for 39794,40 EUR
- create a vendor bill for Asustek on 31/07 for 61668,00 EUR
- create a vendor bill for Asustek on 31/07 for 33487,70 EUR
- create a supplier payment for Asustek for 134950,1 EUR
- use the payment matching smart button
- match the 3 invoices you entered;

Bug:
Odoo says there is an open balance to write-off and prevents you from reconciling

Expected Behavior: the payment total amount in EUR matches the 3 vendor bills total
amount in EUR so I would expect Odoo to consider I have a perfect match between the
payment and the vendor bills and the difference in USD (base currency) should be
automatically reflected through an exchange difference entry.

if you follow the same operation with 3 invoices of 115EUR each and a payment of 345EUR,
it will work as expected.

opw:1872978
2018-08-09 13:43:38 +02:00
len-odoo 908ddbfeb7 [FIX] account_asset: do not show deactivated assets in the report view
When canceling invoices, Odoo deactivates related assets.
However these assets are not filtered in the pivot view, screwing the report.

opw 1864252
2018-08-09 13:17:16 +02:00
Nicolas Martinelli 1f42cf9f9c [FIX] sale, sale_timesheet: re-introduce default invoice policy
Related to f89d4201c7

Since the invoice policy is becoming more and more simple, it is
always nice to add as much logic as possible to make things even more
simple.

For the record, 5 fields are taken into account when it comes to
invoicing policy:
service_policy
service_type
service_tracking
invoice_policy
expense_policy

They are partially linked one with the other, and not all make sense for
a given product type...
2018-08-09 13:04:45 +02:00
len-odoo f4ec8b95b7 [FIX] mail: only get one mail channel partner per user
When more than one mail.channel.partner have been linked to a given user, he may
be unable to open some discussion channel because of a traceback.
The issue is that we access a channel_partner field while the recordset is not a
singleton.
We limit the search to 1 to ensure that this recordset is a singleton.
2018-08-09 11:24:27 +02:00
Simon Lejeune 252bc396b4 [FIX] stock: button_validate: forced move lines
When a move line is not linked to a move, it'll be linked to the first
move of the same product at validation time. We slightly improve this
logic by linking it to the first non-completed move. To be completely
correct, we should split the move line if necessary and link it to all
needed moves, but at this time we don't  want to make the logic too
complex.

Use case: create a sale order with three sale order lines of the same
products, use the detailed operations view and add three move lines of
the same products, validate the picking. Before the patch, all move
lines were linked to the first move and thus only the first sale order
line had delivered quantities.

Fixes #25488
opw-1861765
2018-08-09 08:38:17 +02:00
Jigar A d92f17cebe [FIX] signup: allow non-admin to invite portal users 2018-08-08 23:44:40 +02:00
Christophe Simonis 325399ab44 [FIX] {sale_,}stock: revert 0ab71f1247
Esentially forward-porting a backport is not a good idea...
2018-08-08 19:38:19 +02:00
Christophe Simonis 4c2bdafe69 [MERGE] forward port branch saas-15 up to e7ccf38c48 2018-08-08 18:42:27 +02:00
Christophe Simonis e7ccf38c48 [MERGE] forward port branch saas-14 up to 42f87c73fd 2018-08-08 17:58:05 +02:00
Christophe Simonis 42f87c73fd [MERGE] forward port branch 10.0 up to 6ded4d9ce8 2018-08-08 17:26:04 +02:00
Pedro M. Baeza b122526666 [FIX] pad_project: avoid rewriting project on task saving
Due to the side effect on related fields that are not readonly, the value is saved
in project although not changed. Putting it readonly avoids the problem.

Fixes #26156
Closes #26171
2018-08-08 15:42:13 +02:00
Nicolas Martinelli d32a5eddc8 [FIX] point_of_sale: wrong behavior Price Control
This is not expected since it leads to an inconsistent result: the user
and the access rights do not match. Better add a PIN to the manager.

This reverts commit bb8bb3cbfe.
2018-08-08 14:30:07 +02:00
Nicolas Martinelli 6ded4d9ce8 [FIX] payment_stripe: disable button
- Create an order from the eCommerce
- Choose to pay with Stripe
- Enter the credit card info, validate

There is a short window of time (before the reload of the page) where
the user can click on 'Pay Now' again.

This is because the HTML is completely replaced, including the button.
We restore it when necessary.

opw-1866332
2018-08-08 14:18:17 +02:00
Lucas Perais (lpe) f2b2d87236 [FIX] account: default name for analytic line from aml
Create an account_move, with at least one move line having an analytic account on it
AND no label

Save and Post

Before this commit, the post failed because an analytic.line should have a label (required)

After this commit, we fill in a default name for the analytic line, composed of the data of the line,
if available, or '/'

OPW 1863418
closes #26013
2018-08-08 10:54:18 +02:00
Gert Pellin bb8bb3cbfe [FIX] point_of_sale: wrong behavior Price Control (#26232)
Before the fix price control only worked like should on initialisation of a pos section. On switching cashier during a setting manager would lose price change rights and normal users would gain them.
2018-08-08 09:59:20 +02:00
Wolfgang Taferner a4a9196c8d [FIX] account: regression - display partner_name as placeholder 2018-08-08 09:50:31 +02:00
Damien Bouvy c61cddf814 [FIX] hr_gamification: csv space EoL
Can cause some issues with importing the files
2018-08-08 09:40:16 +02:00
Nicolas Lempereur 8ff138a0da [FIX] barcodes: ok PageUp/Down/Home/End in firefox
Same reason as 8d948d92.

In firefox if barcode is installed, for example on a form view the keys
to navigate the possible scrolling PageUp/PageDown/Home/End don't work
at all.

This is caused by the interface barcode catching and differences of the
key event handling between firefox and other browser.

So in this change, we add these keys so they are not catched by barcode.

note: aso backport 5bc29744c so the code is the same between 10 and 11.

related to opw-706352
closes #26219
2018-08-08 09:11:06 +02:00
len-odoo 0ab71f1247 [FIX] stock, sale_stock: copy the to_refund field when splitting a move
The to_refund attribute is set to copy=False.
However when splitting a move to create a backorder, a new move is created as
a copy with the remaining work to do.
This attribute is needed so that the backorder refund is consistently applied.

Essentially a backport of commit:
https://github.com/odoo/odoo/commit/c5ffca151160f9d99bec036330def108e4e91e0b

opw 1865324
2018-08-08 08:49:11 +02:00
Damien Bouvy 19f477299b [FIX] hr_gamification: csv space EoL
Can cause some issues with importing the files
2018-08-08 07:59:45 +02:00
Christophe Simonis 476e1b5646 [MERGE] forward port branch saas-14 up to 2c942e5ff8 2018-08-07 19:14:24 +02:00
Christophe Simonis 2c942e5ff8 [MERGE] forward port branch 10.0 up to bec639c094 2018-08-07 19:12:16 +02:00
Christophe Simonis bec639c094 [MERGE] forward port branch 9.0 up to 5a64fffe9a 2018-08-07 19:10:25 +02:00
Christophe Simonis 5a64fffe9a [FIX] base: explicitly allow superuser to write on attachment's assets 2018-08-07 19:06:02 +02:00
Christophe Simonis ced9156a97 [MERGE] forward port branch saas-15 up to 65a80cf3fd 2018-08-07 18:11:15 +02:00
Swapnesh Shah 174bd3a7ac [FIX] website: remove unnecessary ensure_one
The write works on multiple records

Closes #26033
2018-08-07 17:47:57 +02:00
Nicolas Martinelli 6470ee74b8 [FIX] point_of_sale: return with rounding < 0.01
- Set the currency to a rounding of 0.001
- Create a POS order:
  Unit Price: 0.12
  Quantity: 0.1
- Pay and validate
- From the backend, return the products on the create order
- Click on 'Payment'

The proposed amount is 0.01, not 0.012. It is not possible to complete
the payment process since the field is rounded at DB level to 2 digits
of precision.

We make consistent the `amount` field with the various amounts on the
`pos.order`. By using a `digits=0` and forcing the rounding, we avoid
inconsistent rounding between the order and the payment.

opw-1864344
2018-08-07 17:33:57 +02:00
Christophe Simonis 65a80cf3fd [MERGE] forward port branch saas-14 up to 0c5cbbe0bb 2018-08-07 17:01:16 +02:00
Christophe Simonis 0c5cbbe0bb [MERGE] forward port branch 10.0 up to 692a32e780 2018-08-07 16:54:18 +02:00
Christophe Simonis 692a32e780 [MERGE] forward port branch 9.0 up to 1b76b6168f 2018-08-07 16:52:50 +02:00
Martin Trigaux 3d3a9f3169 [FIX] event_sale: make action_confirm work with multi
The other overrides are working with multiple records but not event_sale.
The ensure_one() is not needed if you make a proper loop

Replaces and closes #26078
2018-08-07 14:58:40 +02:00
Christophe Simonis 43eca3079e [MERGE] forward port branch saas-14 up to 1f92477cf4 2018-08-06 11:01:50 +02:00
Christophe Simonis 1f92477cf4 [MERGE] forward port branch 10.0 up to 2b7c525982 2018-08-06 10:29:57 +02:00
Odoo Translation Bot 2b7c525982 [I18N] Update translation terms from Transifex 2018-08-05 00:28:35 +02:00
Martin Trigaux 1b76b6168f [FIX] base: remove leftover print 2018-08-04 08:34:01 +02:00
Lucas Perais (lpe) e17bc4eb37 [FIX] base: set currency on a new db
Open the web/database/manager and create a db with a country set.

The country of the first company will be set to the country set on the form

Before this commit, the currency was not set, eventhough it is a field
on res.country

After this commit, we also set the currency of the first company

opw 1869435
closes #26097
2018-08-01 14:40:39 +02:00
Lucas Perais (lpe) 17e50b745d [FIX] account_assets: fallback sell or dispose button
Create an asset and confirm it.
Click on Sell or Dispose
The form view of the disposal move opens

With the breadcrums, back to the asset
Click again on sell or dispose

Before this commit, literally nothing happens
This is because there is no more business to do

After this commit, in the case there is no business to do
we fallback onto the smartbutton's action

OPW 1864318
closes #26086
2018-08-01 14:16:21 +02:00
Christophe Simonis c2f220f977 [MERGE] forward port branch saas-14 up to 7836c41763 2018-08-01 12:06:06 +02:00