Commit Graph
141473 Commits
Author SHA1 Message Date
Sapan Zaveri fe59754c52 [IMP] account: warn when invoice date is future
Before this task,
There was no warning message when invoice date is set in
future.

task-2053068

closes odoo/odoo#35796

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-19 06:57:29 +00:00
Christophe Simonis 51354fadb0 [MERGE] forward port branch saas-12.3 up to 50e571acf7
closes odoo/odoo#36491

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-11 09:39:33 +00:00
Florian Gilbert da6f24bb4c [FIX] account: Add 'to_check' field on account_move entry view.
This field has been removed unintentionally here: beaa30a3d1

closes odoo/odoo#36540

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-09-09 07:28:24 +00:00
Josse Colpaert 16c1abf339 [IMP] account: add method to get payments
closes odoo/odoo#36228

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-04 14:14:58 +00:00
Raphael Collet eef48811ff [FIX] models: callable in api.depends() sees valid _rec_name
Determine `model._rec_name` before the dependencies of the fields.  The
compute method of the automatic field `display_name` uses a callable
depends that retrieves `model._rec_name`.

closes odoo/odoo#36476

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-09 10:07:06 +00:00
Odoo Translation Bot 71cc792c94 [I18N] Update translation terms from Transifex 2019-09-08 06:21:59 +02:00
Lucas Perais (lpe) 54049c14b3 [FIX] portal: should depend on auth_signup
portal uses methods defined in auth_signup
without depending on it (probably counting on the autoinstall)

So before this commit, you could uninstall auth_signup
but every flow involving portal - making share urls - crashed

This commit adds the dependency

OPW 2064883

closes odoo/odoo#36477

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-09-05 12:58:58 +00:00
Olivier Colson 3405ca4d0b [FIX] account: tax lock date: check constraint when saving instead of posting
Makes 12.4 compatible with these changes, from 12.3: https://github.com/odoo/odoo/pull/36289

closes odoo/odoo#36318

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-02 10:24:02 +00:00
Olivier Colson 0058e12469 [IMP] account: display product in account.move.line's form view
Before that, there was no way of opening the product related to an invoice line once the invoice had been validated.

closes odoo/odoo#36336

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-02 13:11:22 +00:00
mgh-odoo 1086b6403c [FIX] mail: activity type "Default User" field shown twice
Also moved "Default Description" before "Scheduled Date"

Task-Id 2056407

closes odoo/odoo#35882

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-09-03 08:22:33 +00:00
Odoo Translation Bot 4af010bdec [I18N] Update translation terms from Transifex 2019-09-01 06:24:20 +02:00
Nicolas Seinlet e6ee38e89c [TYPO]
closes odoo/odoo#36258

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-08-30 08:07:13 +00:00
Laurent Smet 152d1f4fc7 [FIX] account: Fix some issues since account-pocalypse
1) Improve readability / performance of moves checks

The queries checking the move name & the duplicate vendor reference was complex
and unefficient for no reason.

2) Recompute amount_currency when reversing invoice

When reversing an invoice, the amount_currency wasn't recomputed even when dealing with
a refund date having another currency rate.

3) The refund must not keep the payment ref of the reverted invoice.

The payment ref is stored inside the receivable/payable line's name. However, when
duplicating the invoice to create a refund, this must be emptied until a new
payment ref will be set.

4) Reintroduce user_id field on account.move

The field user_id has been renamed to invoice_user_id. However, some mail templates
need to access the generic user_id field for multiple models.

5) Fix 'misc' Journal Entry totals

Misc journal entry must have an amount total always positive and not signed.
Furthermore, we don't know how to compute the amount_untaxed/amount_tax so don't
compute that with such entries.

6) Fix cancelling an exchange difference entry / tax cash basis entry.

When cancelling an exchange difference entry, the reconciliation is undo and then,
the exchange difference entry is reversed. Same for tax cash basis entries.

issue: https://github.com/odoo/odoo/issues/35841

7) Fix creation of cash basis entries for reversed journal entries.

When reconciling entries with one being the reverse of the another one, cash basis entries
for taxes must not be created. However, it must be the case when reconciling the reverse entry
(like refunds) with something.

issue: https://github.com/odoo/odoo/issues/35276

8) Fix matching rules ignoring the structured communication.

Since account-pocalypse, the structured communication is landing on the name of the
journal items. Then, the matching rules must consider it.

closes odoo/odoo#36062

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-08-29 13:04:55 +00:00
Odoo Translation Bot 156142caf2 [I18N] Update translation terms from Transifex 2019-08-25 06:21:10 +02:00
Laurent Smet b73789a53b [FIX] account: Fix cancelling a payment
This commit fixes a wrong condition since the new "cancel" state has been introduced in
journal entries.

issue: https://github.com/odoo/odoo/issues/35362#issuecomment-520641052

closes odoo/odoo#35911

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-21 11:14:33 +00:00
Laurent Smet 09f672c1a6 [FIX] account: Fix fixed tax in invoice with foreign currency
Before this commit, a fixed tax amount was incorrect in invoices in a multi-currency
environment as the amount was applied both in company's currency and in foreign currency.
In this commit, the amount is converted when dealing with a foreign currency.
2019-08-21 11:12:16 +00:00
Laurent Smet 9bd600027d [FIX] account: Fix tax computation with quantity=0
Before this commit, the tax computation was done in invoices using the balance of each base lines.
However, when dealing with python tax having sometimes an amount only dependent of the price_unit,
we need to handle the case when quantity is zero.

issue: https://github.com/odoo/odoo/issues/35358
2019-08-21 11:11:49 +00:00
Laurent Smet 1ca5c01b36 [FIX] account: Fix price_unit sign in taxes computation
Since the base in compute_all could be negative but is signed to perform the computation,
the price_unit should follow the same logic and be signed when evaluating a python tax.
Before this commit, the price_unit was equivalent to the base line balance and then, was negative
in case of a customer invoice.

E.g. For an out_invoice of 100, the price_unit is 100 but the balance is -100 for the base line.
Then, the computation is done using a base of 100 but having a sign of -1. However, when evaluating
a python tax dependent of the price_unit (here the balance), the price_unit was negative and then,
the tax amount will have a wrong sign at the end.
2019-08-21 07:03:14 +00:00
Christophe Simonis f26de445e5 [MERGE] forward port branch saas-12.3 up to 6f55fd65da 2019-08-20 12:17:04 +02:00
Hiral Bhavsar bc6accc568 [IMP] mass_mailing_sale: remove complex computation of invoices linked to mailing UTM
UTM fields are available in the invoice without sale_crm. That's why just apply
search_read on account.move instead of doing

--> search on sale order
--> map on invoice_ids which is computed
--> search_read on account.invoice.report

to get sale_invoiced_amount.

Currently, stat button 'Invoiced' is not redirecting to invoices tree
view because of wrong action and domain parameters. Thus we, set proper
action and pass valid parameter to get that invoices tree view.

Task 1919391

closes odoo/odoo#35296

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-19 13:23:50 +00:00
Yannick Tivisse be983c7002 [FIX] hr: Expose employee timezone on public profile
Purpose
=======

It happens a lot that we access to the employee timezone to compute
presence states, leaves, ...

Instead of sudoing all those accesses, it looks better to expose this
data in the public profile.

closes odoo/odoo#35811

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-19 12:05:19 +00:00
Fanny He f9f288cd47 [FIX] sale_timesheet: correct the context when viewing a contact's SO's tasks
When accessing a SO's tasks from Contacts (the partner_id's page), and
calling action_view_task, the active_id first corresponds to the contact's id.
Therefore, if a project.project exists with the contact's id, one can access
the SO's tasks, but otherwise, we get the error

Record does not exist or has been deleted.

(Records: [partner_id], User: ...)

Thus, if there is one corresponding project, we first update the context:
active_ids is set to project_id,
allowing access to the SO's corresponding project's tasks.
Note that the same thing is done lower:

eval_context.update({'active_id': task_projects.id})

which is too late to avoid trying to access the wrong record.

In the case where there are more than 1 corresponding projects (or if
there are no corresponding tasks), we don't have the issue.

OPW 2052559

closes odoo/odoo#35792

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-08-19 06:20:00 +00:00
Holger Brunn 024d7ebaa0 [FIX] tests: wait for chrome's cookie to be set
In some cases, the first request of a test is made before the
proper setting of the cookie. In that case, Odoo picks a new session,
leaving the request unauthenticated.

closes odoo/odoo#35780

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2019-08-19 07:29:44 +00:00
Odoo Online 19727047ce [I18N] Update translation terms from Transifex 2019-08-18 06:20:13 +02:00
Odoo Translation Bot 0458337bc3 [I18N] Update translation terms from Transifex 2019-08-18 03:08:13 +02:00
Nicolas Martinelli 57fef7c11c [FIX] survey: certificate of failure
- Take a quizz survey, and fail it
- Go to Answers
- Print the Certification

Even if the quizz was failed, the certification can be printed.

There is no option to prevent printing a PDF, therefore we need to print
a different template.

opw-2049481

closes odoo/odoo#35769

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-16 14:04:03 +00:00
Swapnesh Shah d5072c2ec6 [FIX] calendar: Add force_save to send values to server
- Create Event (Where All Day is Set to False)
- Edit Event > Check 'All Day', make it 'Recurrent'

An error occurs because a mandatory field is not set (`stop_date`).

It is possible to work around the issue by doing:
- Check 'All Day'
- Save
- Make it 'Recurrent'

However, the result should not depend on the order we perform the
action. To solve this we send data to server with `force_save`.

Fixes #27269
Closes #33068

closes odoo/odoo#35758

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-16 10:35:18 +00:00
Odoo Translation Bot ab38242cbd [I18N] Update translation terms from Transifex 2019-08-18 01:18:20 +02:00
Andrea Grazioso (agr-odoo) 9a362dda4f [FIX] maintenance: Wrong alias set up on category creation
From the Maintenance app go to "Settings">"Equipment Categories".
Create a new category, insert a name and save. An alias get
automatically created with the same name as the new category.

The new alias point to "Maintenance Equipment" model, so when
an email is matched with the alias a new equipment under the new category
is created. This is indeed the default behavior but the help message
is deceiving the user. Changing it.

opw-2049830

closes odoo/odoo#35728

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-16 11:58:33 +00:00
Aaron Bohy a32aa05a6b [FIX] web: list: break words in text fields
closes odoo/odoo#35713

Signed-off-by: Julien Mougenot (JUM) <Arcasias@users.noreply.github.com>
2019-08-16 06:37:07 +00:00
Aaron Bohy cf318ad90c [FIX] web: list: tweak columns weight 2019-08-16 06:37:07 +00:00
Nans Lefebvre 6a1e272ccd [FIX] stock: do not raise if writing the same value
Rewrite the product associated to a serial number.
There is a check to forbid this if some move lines already exist.
This check does not actually care what value is written,
so it can raise uselessly (and forbid a legitimate write).

opw 2049717

closes odoo/odoo#35736

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-08-14 15:24:06 +00:00
Alexandre Kühn 9ea5aecee8 [FIX] mail: receive message then delayed needaction notifications
Before this commit, when a user received a needaction notification
on a message already stored locally, it crashed with this error:

`TypeError: Cannot read property 'getThreadIDs' of undefined`

This is caused by `addMessage` returning a Promise not resolved with
the message when the message is not new. The returned promise should
always be resolved with the message, in order to be consistent.

closes odoo/odoo#35724

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-14 12:56:27 +00:00
Sébastien Theys c2271c8740 [IMP] doc: add t-name t-extend to QWeb JS
task-2040835

closes odoo/odoo#35116

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-08-14 12:49:56 +00:00
Alexandre Kühn 52ad807817 [FIX] mail: no crash on opening chat window twice
Revision on https://github.com/odoo/odoo/commit/e8f7770a13d6ddc1cb8ec1bcebcb22e21962ba52

Commit above fixes an issue with chat windows being open twice.
It fixed the issue by aborting opening a chat window in case a
chat window is already being open.

Opening chat window may be a slow process, due to requiring fetching
some messages beforehand. This operation is necessary in order to
check whether the user has access to messages or not, and prompt an
error message without opening the chat window in the latter case.

The fix did not respect the specs of the method `openThread`: it
pre-emptively returned nothing, instead of returning a resolved
promise. Because of this, it crashed on `undefined.then()`.

Task-ID 2053095

closes odoo/odoo#35722

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-14 12:03:46 +00:00
Kaushalya Mandaliya 2ba725df61 [FIX] mail: hide activity menu dropdown on activity icon click
Before this commit, The dropdown menu remained open after clicking on
activity icon.

After this commit, The dropdown menu is closed whenever the activity
icon is clicked.

Task-Id: 2047408

closes: #35568

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-14 12:16:28 +00:00
asa-odoo dad863d305 [FIX] mail: send message button not working in channel
Before, If direct chat or channel has no any message in chat history, then
send button is not clickable in discuss.

Now, fix in scss file will allow to click send button for channel and chat.

Task : 2037292

Closes #35570

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-14 11:00:19 +00:00
Alex Tuyls c28a466069 [FIX] hr_expense: Allow Expense Responsible to validate expenses
In case a User is defined as Expense Responsible for another
user, and if he has Officer Expenses Rights, he cannot validate
an expense while it should be the case.

opw-2043985

closes odoo/odoo#35711

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-08-14 08:43:56 +00:00
Andrea Grazioso (agr-odoo) 364f01b447 [FIX] stock_picking_batch: blurry barcode in report
From the Inventory (stock) application go to Operations>"Batch Pickings"
Create or open an existing Batch Picking and click on "Print".

A report will be generated containing the barcode associated with the
operations. The barcode cannot be read from a barcode scanner because
it's too blurry (probably because of the low quality it contains
an unnatural greyscale).

When this report is generated from the template, a request to generate
the barcode is sent to the controller, which invoke the procedure to
create the png image on the fly with a set of parameters embedded into
the request.
If the width and height parameters are too low the result is a low
quality image, so the solution is to pass higher parameters and then
resize the image via "style" attributes.

Note that the same solution is applied in multiple templates.

opw-2045949

closes odoo/odoo#35752

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-16 09:23:00 +00:00
Nicolas Martinelli 6b6d290a5b [FIX] account: no candidate in reconciliation model
Make sure we don't execute the method with an empty list of candidates
to avoid a zero division.

opw-2049881

closes odoo/odoo#35723

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-14 12:10:31 +00:00
Goffin Simon 9e6f342e06 [FIX] {purchase,sale}_stock: Not possible to see a SN on an other company
Steps to reproduce the bug:
- Let's consider two company C1 and C2 and a user U allowed for this two companies
- Create a storable product P tracked by serial number
- Create a PO in C1 with P and deliver it with a serial number SN
- Go to Inventory>Master data>Lots/Serial Numbers
- Change your current company to C2
- Click on SN

Bug:

An access rights error was raised because the system tried to compute SO and PO linked to SN
with the moves of all the companies. So the record rule "stock_move multi-company" was
raised.

opw-2049093
closes #35694

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-08-14 11:49:15 +00:00
Andrea Grazioso (agr-odoo) f8978fc235 [FIX] odoo: zlib error in PyPDF2
Pdf files created with third party tools could trigger an exception in
several modules that attempt to manipulate them (see example below).

```
File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 2239, in mergePage
self._mergePage(page2)
File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 2277, in _mergePage
originalContent, self.pdf))
File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 2199, in _pushPopGS
stream = ContentStream(contents, pdf)
File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 2673, in __init__
stream = BytesIO(b_(stream.getData()))
File "/usr/lib/python3/dist-packages/PyPDF2/generic.py", line 845, in getData
decoded._data = filters.decodeStreamData(self)
File "/usr/lib/python3/dist-packages/PyPDF2/filters.py", line 346, in decodeStreamData
data = FlateDecode.decode(data, stream.get("/DecodeParms"))
File "/usr/lib/python3/dist-packages/PyPDF2/filters.py", line 111, in decode
data = decompress(data)
File "/usr/lib/python3/dist-packages/PyPDF2/filters.py", line 49, in decompress
return zlib.decompress(data)
zlib.error: Error -5 while decompressing data: incomplete or truncated stream
```

This is caused by the decompression function used by default in PyPDF2
which uses a limited buffer, unable to store all the data.

The solution, as per
[zlib documentation](https://docs.python.org/3/library/zlib.html#zlib.decompressobj),
is to use an intermediate ```decompressobj``` object to handle
the decompression.
However we do not directly control the library, which is also used
multiple times in the codebase so we decided to apply a fix directly into
the core module instead of patching every call.

opw-2048029

closes odoo/odoo#35646

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-14 11:55:53 +00:00
Andrea Grazioso (agr-odoo) 85e1d8e67f [FIX] mass_mailing, website_mass_mailing: empty section in settings
Install Email Marketing (mass_mailing) without Website.

From Email Marketing app, under Configuration -> Settings
the section "Mailing List" is empty.

This is not the expected behavior: any empty section should not be
visible.

To avoid breaking some third-party app which could rely on the element
'<div id="mailing_list" class="row mt16 o_settings_container"/>'
we choose to hide the title of the affected section, re-enabling it when
the appropriate app is installed.

opw-2045481
--
I confirm I have signed the CLA and read the PR guidelines at
www.odoo.com/submit-pr

closes odoo/odoo#35491

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-14 11:57:46 +00:00
Laurent Smet 50774af70d [FIX] account: assert_balanced in multi-company/multi-currency
The decimal precision must not be dependent of the current company's decimal places. E.g:
Create a move Z in the company A where decimale precision is 5.
Switch into the company B having a decimale precision of 8.
Edit the move Z, an error can appear because the decimale precision is now 8 instead of 5.

closes odoo/odoo#35572

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-14 09:42:44 +00:00
wan 98a55917a6 [FIX] account: expand by default account move lines tree view
The commit https://github.com/odoo/odoo/commit/c429c0e0bd1208694623d5567682c43f9f0e51b7 removed context keys that were used to expand the view in some cases here: https://github.com/odoo/odoo/blob/c429c0e0bd1208694623d5567682c43f9f0e51b7/addons/account/views/account_move_views.xml#L162. This commit adds a new context key, clearer than the previous one.
Also, the commit https://github.com/odoo/odoo/commit/bc131c0cfb51c953de8ec41fb820c8c7831eefb5 duplicated some actions. We remove them here too.

closes odoo/odoo#35653

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-14 08:04:15 +00:00
Abridbus 2fc46a064d [FIX] mail: removing whitespace on message_id from incoming mail
Because of a whitespace character present at the beginning of the message_id of some mails,
they were fetched twice.

From the SQL side, we see that Outlook is formatting the header following the RFC822
by allowing the header to look like:

Header:<CRLF>
<whitespace><hash_of_msg_id>

From RFC822:
"Each header field can be viewed as a single, logical line of ASCII characters.
For convenience, the field-body portion of this conceptual entity can be split
into a multiple-line representation" (abr.)

It was also possible to find out by checking the logs.
One or two whitespace(s) can be seen before the hash of the msg_id.

The following commit is making sure we use and save the message_id without the whitespace
by stripping them off on the coming mail.

OPW-2006806

Applying CHS solution to avoid crash on empty header.

closes odoo/odoo#35682

Signed-off-by: bve-odoo <Abridbus@users.noreply.github.com>
2019-08-14 07:47:04 +00:00
Christophe Simonis 3972e9ea3e [FIX] hr: remove redefined record rule
Actually revert commit 7b1a894573

closes odoo/odoo#35698

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-08-13 14:03:14 +00:00
Nicolas Seinlet 0855f94181 [FIX] website_crm_partner_assign: force date format as format is forced in XML
https://github.com/odoo/odoo/blame/saas-12.3/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml#L674

closes odoo/odoo#35697

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-08-13 14:02:48 +00:00
Nicolas Martinelli 07da48216f [FIX] stock_account: coherent field type
In case `move_line_ids.location_id.company_id` or
`move_line_ids.location_dest_id.company_id` is not set, the fallback
value is `False`. Indeed:

```
>>> True and False or True
True
```

This makes `company_from.id` or `company_to.id` crash.

We keep the logic but change the condition:

```
>>> False if True else True
False
```

opw-2045628

closes odoo/odoo#35695

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-08-13 13:05:01 +00:00
Toufik Ben Jaa 0f6740c80c [FIX] website_sale_digital: invoice_id doesn't exists anymore
- Since commit https://github.com/odoo/odoo/commit/beaa30a3d1843de43a45f419bfbc1bfa7613a920
the object `account.invoice` has been removed.

We now refer to `account.move` when talking about invoices.
In website_sale_digital, a piece of code was still refering to the
field `invoice_id` in `account.move.line` instead of using `move_id`.
- Fixing some missing adaptation after the account refactoring

closes odoo/odoo#35630

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-08-13 11:43:50 +00:00