Commit Graph
140847 Commits
Author SHA1 Message Date
Christophe Simonis 8f6c7c20d6 [FIX] test_mail: bump query count
Oversight of previous forward-port.
2019-05-17 10:51:13 +02:00
Nicolas Seinlet 8968a62010 [FIX] website_forum: fix typo answer -> object
Closes #33324
2019-05-17 10:50:12 +02:00
Christophe Simonis 5f17daae40 [MERGE] forward report branch 11.0 up to daf9763e6e 2019-05-17 10:00:11 +02:00
Nicolas Martinelli c545783b95 [FIX] account: communication size
- Create 5 vendor bills with a long reference (> 1000 characters), for
the same partner.
- Select the bills and register a payment

An error arise: 'psycopg2.OperationalError: index row size 3256 exceeds
maximum 2712 for index "account_move_line_partner_id_ref_idx"'.

As mentioned, the index row size limit is 2712 bytes, which is exceeded
in that use case. Indeed, the reference of the payment is computed based
on the vendor reference of all bills.

We limit the number of characters to 2000. This seems reasonable knowing
that UTF-8 characters use sequences of 1 to 4 bytes [1]. Characters with
a code less than 128 require 1 byte only, and it is expected that most
vendor references will only use these characters. It is indeed unlikely
that special characters (such as Chinese characters, taking up to 4
bytes) are used for such references.

[1] https://tools.ietf.org/html/rfc3629

opw-1998823

closes odoo/odoo#33457

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-05-17 07:46:54 +00:00
Christophe Simonis 3cf9cfc985 [FIX] test_convert: set a description to new test model
Oversight of previous forward-port.
2019-05-17 13:43:00 +02:00
Christophe Simonis d8c0826b07 [MERGE] forward port branch saas-11.3 up to 37bca6ae50 2019-05-17 12:19:55 +02:00
Christophe Simonis daf9763e6e [MERGE] forward port branch saas-15 up to 68b7f2a8ef 2019-05-16 21:08:52 +02:00
Christophe Simonis 68b7f2a8ef [MERGE] forward port branch saas-14 up to fe970ad5ae 2019-05-16 21:07:53 +02:00
Christophe Simonis fe970ad5ae [MERGE] forward port branch 10.0 up to 4039fc5201 2019-05-16 21:07:21 +02:00
Christophe Simonis 4039fc5201 [FIX] website_customer: no error-prone xpath expr
closes odoo/odoo#33450

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-05-16 16:56:34 +00:00
Christophe Simonis 7b9aa21576 [MERGE] forward port branch saas-15 up to cecb1ec77d 2019-05-16 18:19:49 +02:00
Christophe Simonis cecb1ec77d [MERGE] forward port branch saas-14 up to 556b59bce1 2019-05-16 18:11:09 +02:00
Christophe Simonis 556b59bce1 [MERGE] forward port branch 10.0 up to 90d86e07dd 2019-05-16 18:10:33 +02:00
Mohammed ShekhaandDhaval Limbuwala 90d86e07dd [FIX] tools: allow using datetime in function call
Traceback generated when trying to pass a datetime object into a function tag
in xml.

<function name="action_name" model="model_name" eval="datetime.date.today"/>

Used to fail.

With this commit now one can pass time, datetime, timedelta, relativedelta,
version, ref, pytz in function tag in xml

Task-id: 1772614
Closes odoo/odoo#29212

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>


Co-authored-by: Dhaval Limbuwala <dli@odoo.com>
2019-05-16 14:42:41 +00:00
Sébastien Theys 3b3f85670f [FIX] website: prevent crash with image gallery snippet
If destroy is called before start, there will be a crash before this commit.

At the time of this commit, this can be reproduced in master by dropping the
image gallery snippet, clicking on add images (double click, which opens the
media dialog twice for some reason), selecting 2 images to add on the
media dialog, and clicking on add. The error will be in the JS console.

closes odoo/odoo#33440

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-05-16 14:33:40 +00:00
Nans Lefebvre 516f22c398 [FIX] mail: remove previous attachments when changing template
Open a mail.compose.message wizard.
Select a template that generates an attachment.
Reselect it. A second attachment has been generated.
Can be repeated ad infinitum.

At template onchange, the template is rendered to overwrite the composers values
This includes the attachments.
Let L1 be the list of attachments generated by the template.
When _convert_to_write(values) is called with {'attachment_ids': L1},
it gets self.attachments_ids = L2, and generates a [(6, 0, L1 + L2)] command.
As a result attachments are only added,
the previous ones need to be removed manually.

Since c6d718f, the semantics of _convert_to_write changed.
Before, it always returned an empty list for new records (without an id).
In other words, wa always had L2 == [].
As a result we need to adapt the wizard to keep its old behaviour.

To solve it we bypass the _convert_to_write for 'attachment_ids' and directly
generate the 6 command with the list of ids L1 generated by the template.
We only do this for templates that add attachments to keep the templates
composable (a template only overwrites the values it defines).
Unfortunately, we don't have any way to know which attachments have been added
manually, so we can't preserve these (which was the old behaviour anyway).

opw 1997430
opw 1987169
opw 1998115
opw 1998782

closes odoo/odoo#33387

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-05-16 13:15:03 +00:00
Denis Ledoux 272359b86c [FIX] mail: accurate message notifications marked as sent
When multiple emails (`mail.mail`) are linked
to the same message (`mail.message`),
all the message notifications were being marked as sent
as soon as one of the mail was sent, and not all of them.

This is indeed possible to have multiple emails linked to a single
message, for instance when there are employees and customers in
the followers of a thread, and some must therefore have
the buttons meant for the employees ("Assign me") and some not.

In other words, it was possible notifications were marked
as sent while their associated email was not sent yet.

This revision also comes as an addition to
5d6656d739

as it was possible to receive a bounce coming from
the previous mail sent which wrote on the same notifications `email_status`
than the current message being sent before we could acquire the lock on
them (see commit message of the above mentioned revision),
as it was writing the `email_status` on more notifications that it
should have, including notifications of the previous email.

e.g
- Mail 1
- Message 1
- Recipient A, B, C
- Mail 2
- Message 1
- Recipient D, E

Let's say recipient A bounces

If the email notifying the bounce arrives during the processing of the "Mail 1",
it will be blocked until we release the lock on the `mail.notification` `email_status`
we acquire thanks to having written `exception` on `email_status` before sending the email.
But, as soon as it is unblocked (after the `cr.commit()`),
it will immediately re-attempt the delivery of the bounce email,
therefore writting "bounced" in `email_status` of recipient A,
while the transaction of the second email already began.
When the second email sending will try to write the `email_status`
of recipient A as well
(as it used to write the `email_status` on all the message notifications,
not just the one related to the current email),
it raised a concurrent update.
Therefore:
1. Interrupting the loop, as psycopg2 exceptions are raised and not passed,
2. Replay the sending of the second email a second time.

opw-1984293

closes odoo/odoo#33431

Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
2019-05-16 12:57:57 +00:00
Lucas Perais (lpe) 587357432e [FIX] account: payments cannot be grouped on company
Since cdca5d4751, the field company_id
on account.payment is not stored anymore, so, it doesn't make sense to be able to group on it

OPW 1998427

closes odoo/odoo#33428

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-05-16 11:53:18 +00:00
Christophe Simonis 624c30a3b7 [MERGE] forward port branch saas-14 up to 679a73474e 2019-05-16 11:36:32 +02:00
Christophe Simonis 679a73474e [MERGE] forward port branch 10.0 up to 0164c9dfcb 2019-05-16 11:22:53 +02:00
Olivier Dony 9fc5a4a061 [FIX] ir_mail_server, mail: catch SMTPServerDisconnected exceptions
If the smtp session was dead, it would lead the whole mail batch to fail.

opw 1949270

closes odoo/odoo#32424

Signed-off-by: Olivier Dony (odo) <odo@openerp.com>

closes odoo/odoo#33350

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-05-16 07:02:06 +00:00
Olivier Dony 11f0d7cefa [FIX] mail: do not shadow SMTP errors with QUIT
When an exception is raised during the course of a normal SMTP session,
smtplib's `sendmail()` method will close the channel automatically,
so any further attempt at sending SMTP commands will fail with an
SMTPServerDisconnected error, even just calling `smtp.quit()`.
This will shadow the original error, and make debugging harder.

Fixes #1493
2019-05-16 07:02:06 +00:00
Josse Colpaert b66d84119c [IMP] l10n_ca: add PST number on partner for the invoice
If you have a PST number, certain taxes
don't need to be paid, but the number
should be indicated on the invoice however.

opw-1951352
Closes #31982

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-05-15 15:06:12 +00:00
jbm-odoo e967435b2d [IMP] mail: Change validation success message
If the connection test to mail server succeeds, we shouldn't see
"Oops something went wrong" and "User Error" either

Replace error generation to display success message by bus notify.

closes odoo/odoo#35292

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-02 11:47:35 +00:00
jbm-odoo 252609d375 [IMP] employee profile: Reload the view if language changed
When a user change his langage in employee profile, he doesn't see
the result before reloading manually the page.

With this commit, when a user change his language, the page is
reloaded on saving. And remove Create button on My Profile

closes odoo/odoo#34906

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-02 11:44:45 +00:00
Naglis Jonaitis 0fe2b4530f [IMP] *: remove digits attribute from Monetary fields
* account, hr_contract, hr_expense, point_of_sale, sale_margin,
website_sale_delivery, website_sale_wishlist

digits only works on Float fields, on Monetary fields it has no
effect:

- The column_type of a monetary field is always numeric
- It is not applied in `convert_to_column()` or `convert_to_cache()`
- It is not part of `description_attrs`, so it will not be included in
the output of `fields_get()`

closes odoo/odoo#35336

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-02 11:17:12 +00:00
Ravi Gohil 914a722f81 [IMP] l10n_th: replace VAT return report
- Added zero rated and exempted taxes
- Improved 7% tax label
- Removed unused tax group

opw-39083

closes odoo/odoo#35203

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-08-02 11:06:01 +00:00
Kevin Baptiste 6542f3c41f [IMP] website_livechat: improve general usability (back2basics)
Purpose
=======

Clean screens and improve onboarding

TaskID: 2029772

closes odoo/odoo#34543

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-02 11:33:22 +00:00
Martin Trigaux 66dea8bb7b [REF] web: remove raw_mode flag on export
The export is now always in raw_mode
Adapt the tests

Fixes odoo/odoo#18798

closes odoo/odoo#26724

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-02 08:53:24 +00:00
Robin Heinz 987951a8d4 [IMP] point_of_sale: Navigation as employee from frontend to backend.
We added a button for the front end closure to go back to the back end.
Before this, the only way to go back was to change the URL, now we can close the session with the frontend properly.

Also moved the css related to pos_hr in the good directory.
Task-id: 2032178

closes odoo/odoo#34948

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-02 09:33:05 +00:00
Pierre Masereel 2ef96ee8cc [FIX] stock_account: valuation layer access rights
When we try to validate a pos session without beinig administrator, we
don't have access rights on the valuation layer.

So we've extended this rev: 7ef11e3c96
2019-08-02 09:33:05 +00:00
Yannick Tivisse 690f457541 [IMP] hr_expense: Improve modifiers to allow inheritance
closes odoo/odoo#34553

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-02 07:47:32 +00:00
Swapnesh Shah 098a4ba67a [IMP] project: improve Warning message for task recursion
Use same as other _check_recursion error messages

closes odoo/odoo#33125

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-02 09:12:31 +00:00
Vincent Schippefilt 75aca37453 [IMP] web: listview remove extra style on click
Before this commit, when clicking on a cell in the listview, the cell
receives the focus, which makes it have an extra style (darker gray)
when waiting for the page to laod.

After this commit, the extra style will only be added when using the
keyboard to navigate between the cells and not on click.

task-id: 2041902

closes odoo/odoo#35303

Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com>
2019-07-30 14:21:46 +00:00
Naglis Jonaitis 0c413c26af [IMP] hr_attendance: drop redundant attribute
This appears to be leftover from a C/P from the line above, however
`type="html"` does not make much sense on `<p>` element.

closes odoo/odoo#35124

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-23 20:41:15 +00:00
Jinal Patel c8a30c2d81 [ADD] repair: add Responsible field on Repair Order
task- 1945878

closes odoo/odoo#35056

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-07-30 09:30:10 +00:00
Jinal Patel d9ac2e3485 [ADD] repair: add Graph view on Repair Order
- add Reporting > Repairs menu on Repair Order
 - also added pivot view

task- 1945878
2019-07-30 09:30:10 +00:00
Jinal Patel bc067ed388 [ADD] repair: add Tags field on Repair Order
- add Configuration > Repair Orders Tags menu
 - Configuration menu should only be available for Stock/Manager

task- 1945878
2019-07-30 09:30:10 +00:00
Jinal Patel 5006d48203 [ADD] repair: add Parts filter in Repair Order search view
task- 1945878
2019-07-30 06:33:06 +00:00
Martin Trigaux 294a857f4f [IMP] doc: add reference to _lt method
Was added at odoo/odoo#31211

closes odoo/odoo#35393

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-02 06:57:01 +00:00
Naglis Jonaitis f17f2e8336 [IMP] website_theme_install: typo in model class name
closes odoo/odoo#35389

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-01 20:27:30 +00:00
Naglis Jonaitis 7417d8fc13 [IMP] *: fix typos in field definitions
* account, crm, hr, im_livechat, l10n_ch, l10n_it_edi, mail,
mass_mailing, project, stock, base

- `String` -> `string`;
- `defaut` -> `default`;
- `defaults` -> `default`;
- `reandonly` -> `readonly`;
- removed redundant `placeholder` attribute for `Char` field;
- removed redundant `size` attribute for `Float` and `Integer` fields;
- changed to use `Selection` instead of `Char` for a field having a
defined `selection`.

closes odoo/odoo#35356

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-31 17:14:19 +00:00
Gert Pellin ef99ea2daa [IMP] product, sale, sale_management: move discount group on product
The group 'group_discount_per_so_line' is used on reports in
point_of_sale but is created in 'sale' module and point_of_sale doesn't
depends on sale. So we've move this group on product to be able to
properly use it in point_of_sale.

TASK-ID: 2008468

closes odoo/odoo#35041

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-02 07:19:47 +00:00
Pierre Masereel eba2d26e90 [FIX] point_of_sale: set back orders stat button
The stat button on the pos session that shows the different POS orders
linked to the session has been deleted by mistake in rev: 91532b7b13

So we've set it back.
2019-08-02 06:55:43 +00:00
Gert Pellin ccce07680f [IMP] point_of_sale: improve views of pos objects
We made here some small changes on the views of different object of POS
module, and set the field journal_ids required in the views, because
launching a POS without payment method won't magically assign one
anymore.

TASK-ID: 2008468
2019-08-02 06:55:39 +00:00
Pierre Masereel acbca1195a [IMP] point_of_sale: pos journal for each company
When the accounting localisation is installed after the POS config, the
values on the default POS config which is in data are not completed
because the POS config has been created before any journal exists.

So now, when a chart template is installed, we are completing the POS
config values, and creating the Sale POS journal. We also call the
creation of POS journal when the point_of_sale module is installed after
the template is installed on the database to be sure that we have a
default value for POS journal.

TASK-ID: 2008468
2019-08-02 06:55:37 +00:00
Gert Pellin a6b598e645 [IMP] point_of_sale: correcly set default values on pos config
When a pos config is created, default values set on it are not allways
correct, for the sale journal we are referencing a data, which mean
rthat it only worls in the first company. For the invoice journal, we
are referencing the wrong journal in the onchannge, etc

TASK-ID: 2008468
2019-08-02 06:55:30 +00:00
Pierre Masereel 56331c1a75 [FIX] account: unlink data when installing chart of account
When a chart of account is installed, it first remove all existing
existing data. If you don't have account_accountant module installed,
but you have create a bank or cash journal (through the POS for
example). Some accounts have been created and the installation of chart
template is trying to remove some models, but as the account_accountant
you don't have access write on model 'account.reconcile.model'.
2019-08-01 17:59:53 +00:00
Martin Trigaux f8ff7debdc [FIX] *: bad usage of _ method
No need for selection fields
If in global variable, the _lt should be used instead

closes odoo/odoo#31211

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-01 12:40:01 +00:00
Martin Trigaux f4319580e5 [ADD] tools: lazy translation method
Introduces the method _lt

The translation method is now evaluated lazily.
It allows to declare global variables with translatable content

e.g. this code will now work:

LABEL = _lt("User")

def _compute_label(self):
    context = {'lang': self.partner_id.lang}
    self.user_label = LABEL
2019-08-01 12:39:56 +00:00