Commit Graph
140385 Commits
Author SHA1 Message Date
Aaron Bohy e35c5e044e [FIX] web: editable list: force min-width to some columns
Columns with an absolute width (e.g. '120px') must always have a
width of at least that value. When there are records in the list
the column's widths are computed by the browser according to the
content (in readonly). However, for some field types, the rendering
in edition is a bit wider (e.g. date(time) fields because of the
caret).

This rev. sets a min-width to those fields such that the rendering
is also correct in edition.
2019-08-23 06:28:35 +00:00
Aaron Bohy f00f7bf00d [FIX] web: grouped list: correctly compute col widths
Before this rev., a grouped list view with all groups folded
behaved like a list with records w.r.t. the computation of column
widths, whereas it should behave like an empty list, as there is
no record to help the browser to compute the optimal width for each
record.
2019-08-23 06:28:35 +00:00
Aaron Bohy dddaff8418 [IMP] web: list: keep widths when removing last record
When there were records in the list (and the browser computed the
optimal column widths according to them), and the user removes
them, we want to keep the widths as they are instead of forcing
them according to the field's types.
2019-08-23 06:28:35 +00:00
Aaron Bohy 1824020cc2 [IMP] web: list: keep columns width when adding records
Mainly, when adding the first record to the list, as this is when
we switch from forcing the column's widths (when there is no data),
to letting the browser optimally divide the available space.

Some other cases had to be handled, like the multi edition.
2019-08-23 06:28:35 +00:00
Aaron Bohy 4393b012a5 [REF] *,web: list: merge width and width_factor attrs
Having two attributes for this was probably overkill. We now have
a single attribute 'width' which can specify either a fixed width
(e.g. '120px') or a factor (e.g. '2.5').
2019-08-23 06:28:34 +00:00
Aaron Bohy b2c09b4d3d [FIX] web: list: determine width according to widget
On a list with no data, the width of each column is determined by
a heuristic. Before this rev., the heuristic was based on the field
type. It now takes the potential widget set in the arch into
account, and fallbacks on the field type.
2019-08-23 06:28:34 +00:00
Géry DebongnieandAaron Bohy bf3c1d3e0c [IMP] web: editable list: column's widths
This rev. refines the way we compute column's widths in editable
list views.

When there are displayed records, we let the browser compute the
width of each column (which is thus optimal with respect to the
content), and we then freeze those widths s.t. it doesn't flicker
when we switch a row in edition.

When there is no record, we keep the former heuristic based on
absolute and relative widths (depending on field types). However,
we set the same weight for all fields having a relative width (i.e.
all but boolean, date(time) and numeric), such that the remaining
space is evenly distributed between them.

Co-authored-by: Aaron Bohy <aab@odoo.com>
2019-08-23 06:28:34 +00:00
Aaron Bohy 43ad74798f [REF] web: list renderers: lint code 2019-08-23 06:28:34 +00:00
Aurélien Warnon 192a230d8e [FIX] website: remove create mode and form view on website.visitor[.page]
This commit cleans up website.visitor related views by removing unnecessary create mode.

It also removes the form view on the website.visitor.page model (="Visitor Page Views") as tree view contains all
necessary information and there is no point in creating/editing them.

Task#2057933

closes odoo/odoo#35978

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-22 14:11:19 +00:00
ryv-odoo 1b48730446 [IMP] website_rating : allow to comment message-based ratings
PURPOSE

Allow publishers to add a comment on frontend reviews with ratings. Purpose
is to allow to give some feedback or context on published reviews.

SPECIFICATIONS

In order to answer to a rating message (review) of a course (eLearning) or a
product (eCommerce) we add a way to the publisher to directly comment a review
inside the website rating chatter.

Any publisher can add/edit/remove comment of a rating message from the website.

The goal is not to enter into a discussion but just to give a feedback. This
comment is not sent or propagated to anyone, just displayed for information
purpose.

In portal chatter

* add 1 button below a review "Comment" (for publishers of the website only)
* only one comment possible by review/rating
* when the comment is added, display

* author name, date, comment
* 2 buttons, only visible by the website publisher: edit and delete

LINKS

Task ID : 2026911

closes odoo/odoo#35956

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-22 13:58:15 +00:00
Thibault Delavallée 796882b546 [IMP] website_rating: lightly lint portal chatter
PURPOSE

Allow publishers to add a comment on frontend reviews with ratings. Purpose
is to allow to give some feedback or context on published reviews.

SPECIFICATIONS

  * rename / reorder some methods according to JS guidelines;
  * split portal composer and portal chatter override to better understand
    module organization and ease future code additions;

LINKS

Task ID : 2026911
2019-08-22 13:54:45 +00:00
Robot Odoo 857a11ca64 eLearning: improve mail
PURPOSE

This PR rewords the mail template "slide_template_published", makes the
member of a course follower of the course, allow members to leave courses
and prevents the templates to crash on preview

SPECIFICATIONS

When a user subscribe to a course, the user is automatically follower of
the course in order to be notified when a new content is published.

The email that the members get when a new content is published on the course
is reworded and fixed to avoid preview crash.

A new widget is implemented allowing members to unsubscribe from a course
or to leave it directly from eLearning frontend.

LINKS

Task 1985511

closes odoo/odoo#35627

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-22 17:43:17 +02:00
mcm-odoo addaec1211 [IMP] website_slides: add modal to (un)subscribe or leave a course
- Before it was not possible to leave a course.
- This commit adds a modal to give the members the possibility to leave
  the course and also subscribe or unsubscribe to get notified or not.
  + Display a warning message when leaving if field enroll value is "payment".

task-1985511
2019-08-22 13:11:31 +00:00
mcm-odoo bc9c2aef16 [IMP] website_slides: improve and fix email templates
This commit improves the email that the members get when a new content
is published on the course and prevents the template to crash on preview.

task-1985511
2019-08-22 13:09:49 +00:00
mcm-odoo 453b9d5648 [IMP] website_slides: make member follower of a course
when a user subscribe to a course, the user is now automatically
follower of the course in order to be notified when a new content
is published

task-1985511
2019-08-22 11:51:58 +00:00
Kevin Baptiste 3ad8820276 [IMP] hr_holidays: reintroduce out of office (back2basics)
TaskID: 2057430

closes odoo/odoo#35952

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-22 07:33:20 +00:00
Pierre Masereel 7fa5e80f0e [FIX] pos_restaurant: remove verify_sync when opening table
When we open a table, the option verify sync is called, and doesn't
always work because of a race condition when we chack the status of
connecting, and the icon that has already changed.

As it doesn't really check anything because we check in python that the
orders are synchronised, we removed it.

closes odoo/odoo#35949

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-22 13:24:13 +00:00
Pierre Masereel 4645b07731 [FIX] pos_epson_printer_restaurant: call to super
The model PosModel is extended, and super is calaled as if it was
included, we have fixed it by calling the parent prototype correctly.
2019-08-22 13:24:13 +00:00
Pierre Masereel 7fa823977a [FIX] pos_restaurant: remove the closing of pos
In the tour of pos restaurant, we are closing the pos that will redirect
to /web, and we won't wait this redirection. That will lead to a
remaining request taking too much time.
2019-08-22 08:36:12 +00:00
Pierre Masereel d740221b74 [FIX] pos_restaurant: set tests assets in test assets
Until now the tours assets where in the backend assets, so we put them
in tests assets.
2019-08-22 08:24:22 +00:00
Pierre Masereel 5c32788655 [FIX] pos_restaurant: make test post install
There was ahack that was setting the module pos_restaurant to installed,
which is not necessary as we should simply put the test in post_install
2019-08-22 08:20:57 +00:00
Thibault Delavallée dfc8023b71 [REF] sms: make application auto install
Since the refactoring, SMS is no longer in auto install. This is a shame
because we want to put forward the SMS features. In any case, the user can
always disable SMS from the General Settings if it is too invasive.

FP / AJU request.

Task 2057705

closes odoo/odoo#35946

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-22 08:26:39 +00:00
Lucas Lefèvre 46e48055ed [IMP] account: Store customer/supplier rank on partners
Purpose
=======

To correctly choose in which account a line should be posted,
we have to know if the partner is a customer or a supplier.

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

Keep track of the number of account moves "in" and "out"
a partner has. These counts should be based on the posted
account moves. A customer that has been created from the
'Customer' menuitem will have a rank=1. When a customer
invoice will be created for him, the generated account moves
will be taken into account to compute its rank. The most
invoices we have for a partner, the higher his rank is.

Note: To avoid any concurrent update failures on the partner,
if one transaction has already locked a partner row, the count
update will be skipped that time.

This means the values may be approximative in the database!
The exact values will eventually be correctly computed at
the next successfull try.

Known limitation of this approach: The computation ignores
the set of currently selected companies. Actually, storing
context dependent values in the database is a bad practice,
and is avoided in that case by taking all the companies into
account.

Use the stored fields `customer_rank` and `supplier_rank`
to order partners when searching by name. This allows to show
best customers or best suppliers on top.

To choose if best customer or supplier are shown on top,
the context key `res_partner_search_mode` is used.
The context key can take two values: 'customer' or 'supplier'.
This decision partially reverts/revamps 8766f38 to only use
account moves instead of PO and SO

On actions showing partners, set a default filters to menus to
only display customers (customer_rank > 0) if the string is
"Customers", and only suppliers if the string is "Vendors" or
"Suppliers".

TaskID: 2049131

closes odoo/odoo#35942

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-22 09:29:26 +00:00
Pierre Masereel 3340d3a12d [FIX] point_of_sale: download invoice from POS
When you are creating an invoice from the POS, the report route is
called to download the invoice, since changes made in rev: 118190f3b3

The values for ids where empty, so we give them now the correct id list.

closes odoo/odoo#35926

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-21 09:59:57 +00:00
Kevin Baptiste 8440964141 [IMP] website_event_track: hide hidden tags from frontend
TaskID: 2056905

closes odoo/odoo#35914

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-22 11:12:34 +00:00
Raphael Collet 8918bbbb5e [IMP] fields: do not trigger recomputations on transient models from regular models
This is a performance optimization: modifying a regular record will not
trigger some recomputation on a transient record.  Most transient
records are simply waiting to be garbage-collected, so there is no need
to keep their fields up-to-date.

closes odoo/odoo#35909

Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-08-22 10:05:52 +00:00
Wolfgang Taferner 723a2682bc [FIX] event_sms: env has no company_id but company only
closes odoo/odoo#35623

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-22 08:28:11 +00:00
Florent Lejoly 4aa1749699 [IMP] crm: improve stage messages, some strings and fix some typos
As part of the back2basics, the stage messages were modified to be clearer

* when an opportunity is lost previously 2 separated messages where
created in the chatter (one for the reason, one for the active state)
now, one message is created with both infos;
* new message when an opportunity is restored;

There where also some fixes to typos, and an the probability of a lead
to be successful received a new title "estimated by Odoo".

Task 2026297

closes odoo/odoo#35308

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-22 09:17:42 +00:00
jem-odoo 8d0aee2293 [IMP] hr_expense: multicompany hard constraint
This commit provides hard constraints (SQL level) for expense to work in multi company
environement. This is related to a R&D task, the rest of the code need to be adapt, but
freeze is coming.
As expense implies accounting entries, it is required to generate them in the right
company, the company field should then be required.

Task-1999686

closes odoo/odoo#35953

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-08-22 07:37:23 +00:00
Toufik Ben Jaa a2c52e9efd [FIX] stock: remove a useless with_user
- Before the change of `sudo` and `with_user` the code was non sense, it
was doing a `self.sudo(self._uid).check_access_rights('read')` which
was doing nothing.

But now with `with_user`, doing a `self.with_user(self._uid).check_access_rights('read')` breaks the
flag `superuser`.
Meaning that if the code was called using `sudo` it was bypassing the
ACL tests.

closes odoo/odoo#35896

Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
2019-08-21 15:03:02 +00:00
Toufik Ben Jaa 0fe9a9ddd1 [FIX] account: adapt computed field to new ORM optimizations
- With the new ORM optimizations, the cache doesn't depend on the
  context and the key context that are really important for the
  computation of a value must be explicitly set.

  Setting `force_company` as a determinant will make sure that the
  company on the environment is taken in account.
2019-08-21 13:21:40 +00:00
David Beguin c5500e685a [FIX] tools : use babel to format timedelta
Babel is already taking the language into account while
formating a time delta into a readable string like '2 minutes ago'.

_format_time_ago was put in translate.py file to be able to use
the _ translate class. But it can be placed in misc like other
format function already using babel.

This fix the PR #34624
and is linked to Task ID : 2028059

Task ID: 2055847
Closes PR #35806

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-20 08:02:46 +00:00
Luis Torres b4ef0299db [FIX] account: Remove supplier/customer in default_partner_type
The fields supplier/customer was removed from the partner, then, they
cannot be used in the default for the views.

Avoid the next traceback in the next case:
'''raise ValueError("Invalid field %r in leaf %r" % (left, str(leaf)))
ValueError: Invalid field 'supplier' in leaf "<osv.ExtendedLeaf: ('supplier', '=', True) on res_partner (ctx: )>"```

1. Go to create a new payment for supplier
2. Try select the supplier

closes odoo/odoo#35743

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-08-21 15:07:23 +00:00
Jigar Patel 4a771a6763 [FIX] web: use correct avatar field for many2many_tags_avatar field widget
The issue has occurred after rename image fields https://github.com/odoo/odoo/commit/58a2ffa26f1a3b0f9630ce16d11b758d18e20a21

closes odoo/odoo#35596

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2019-08-09 11:21:09 +00:00
qsm-odoo e5235747c5 [FIX] web, website: start public widgets after all lazy loadings
Bug introduced with
https://github.com/odoo/odoo/commit/1f5c9e363b6f7cb9a2770e6247536803fd13e3f0

Before this commit, the public/website root was started as soon as
the bundle it is in was lazy loaded. It then started all the registered
public widgets. The problem was that some of those may be registered
by other lazy-loaded bundles. The public root would then not start
those if those bundles were lazy-loaded with a too long delay.

This commit fixes the bug by starting the public/website root once all
known bundles are fully lazy-loaded.

closes odoo/odoo#35118

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-08-06 11:09:43 +00:00
Pierre Masereel 29db04e8af [FIX] point_of_sale: multi company opening session
When you are lanching a POS session in multi-company, the allowed
companies in the user context when you open the route '/pos/web' are the
ones taken from your cookies which are the last thicked in any of your
tab.

So if you have a tab in company one, then open a new one and thick
company 2, the values in your cookies will be company 2. The you go back
in tab 1 and open a POS, when you'll arrive in the main controller,
you'll have a company 2 in allowed companies even if you are opening a
session which is in company 1.

So we are searching in the session with a sudo, as there is only one
session/user, and then we pass the company of the session into the
allowed_companies in session user_context for the frontend.

closes odoo/odoo#35487

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-08-07 07:49:52 +00:00
Meghna Jaswani 5fa3b43306 [FIX] crm: removed field allowing to install dead module
Module module_crm_phone_validation and its checkbox from py and xml file
because the module crm_phone_validation is moved to module crm since f60825b439 .

Also moved label of phone_international_format to help directly inside settings
view in order to have a nice looking configuration page.

Task 2036270

closes odoo/odoo#35377

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-06 15:03:40 +00:00
Laurent Smet 16dde23949 [FIX] account: Fix checking of 'account_id' in account.move.create
Since recent changes in the ORM, line.account_id will trigger a default_get on 'account_id'
instead of simply checking a value for this field has been provided. Then, as the move is
a 'new' record, check directly the presence of this field inside the cache.

Furthermore, this condition must not affect the lines having a display_type (section / note).

-task: 2040675

closes odoo/odoo#35283

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-08-06 12:59:18 +00:00
Gorash 8e4b8be4e6 [FIX] web_editor: remove virtual corrector/completion keyboard glitch
For the ours need, we can not let the contentEditable behavior. Indeed,
this one does not have the same behavior according to the browser. The
DOM node could be erase, merge, cut, in them according to the keyboard
interactions. The problem is that if we have to manage these behaviors,
we have to manage everything. It was already the case in the previous
version, however before we created an editor by zone and by a hack we
mix the history.
In the case of the virtual keyboard of some OS / Phone, the events are
different and the autocompletion does not update (bug that prevents
modification interactions with javascript). In order to solve these
problems, we use another event for the insertion of the characters.
However, we must also force the update of the corrector by forcing a blur
and a focus.
The current version is a temporary version. We are currently working on a
version that uses a virtual dom and does not need to do excessive prevent
default.
2019-08-06 10:45:04 +00:00
Christophe Simonis 4e21d6180b [FIX] web_editor: do to try to inline css for readonly html fields
closes odoo/odoo#35539

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-08-07 13:31:01 +00:00
Laurent Smet 053b77fc9e [FIX] account_voucher: Set tax_repartition_line_id on move.lines created from vouchers
closes odoo/odoo#35530

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-08-06 14:29:24 +00:00
Christophe Simonis c687bd9aed Revert "[FIX] web: hide dashboard tooltip on page change"
Mow that the Journal Dashboard use Chart.js, this patch is unneeded.

This reverts commit 6d9dabd5d9.

Oversight of previous forward-port.
2019-08-07 16:29:42 +02:00
Christophe Simonis 7d04dc1c7c [MERGE] forward port branch saas-12.2 up to 9e74730a26 2019-08-06 18:48:24 +02:00
Christophe Simonis 9e74730a26 [FIX] mail: use defined variable
Oversight of previous forward-port.
2019-08-06 16:13:06 +02:00
Christophe Simonis 0fadd586fa [MERGE] forward port branch 12.0 up to ff9ddfdacc 2019-08-06 15:57:57 +02:00
Christophe Simonis ff9ddfdacc [MERGE] forward port branch saas-11.3 up to 97d81f1220 2019-08-06 12:13:19 +02:00
Goffin Simon f93fcaffb5 [FIX] stock_dropshipping: Updating dropship product
Steps to reproduce the bug:
- Install stock_dropshipping module and enable Routes on SO lines
- Create a storable product P with a supplier S
- Create a SO with P and set this line with the route dropship
- Confirm the SO ( a PO has been created to S with P)
- Change P on the SO with an other product

Bug:

The product P stayed on the PO.
So a product linked to a PO line cannot be changed on a SO.

Do not forward-port in 12.0 and upper

opw:2040249

closes odoo/odoo#35454

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-08-06 08:23:44 +00:00
Lucas Perais (lpe) d91b1e5bd5 [FIX] account: payment cancel resets name
Make a transfer payment from bank to cash
validate, check the journal entries
You see that there are two moves, each with the name
given by their journal's sequence (one in bank, one in cash)

Now, unreconcile, and cancel the payment
set it to draft, re-confirm it

Before this commit, the entries created had the same name which was
the name of the previous journal entry
This was because, at cancel time, the move_name of the payment was not reset

After this commit, the move name is reset on cancel, and both
journal entries have a new sequence based name when
confirming the payment the second time

OPW 2046412

closes odoo/odoo#35478

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-08-06 08:01:29 +00:00
qsm-odoo dc0630833b [FIX] website: prevent multi checked options in the same group
In the customize theme modal, if one option enabled views which were
a subset of the views which are enabled by another option, both options
would be checked on modal opening if all the related views were active.

This is the case for the "choose an image" and the "choose a pattern"
options: the first one enables a view which adds an image on the body
and the second one enables the same view but also another which enables
the fact that the image must be repeated.

This commit solves the issue by always selecting the option enabling
the most views among the checked options in a same set.

opw-1958395

closes odoo/odoo#35465

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-08-05 15:57:25 +00:00
Christophe Simonis 97d81f1220 [MERGE] forward port branch 11.0 up to b8be821058 2019-08-05 17:12:30 +02:00