Commit Graph
132759 Commits
Author SHA1 Message Date
7dfc79252d [MERGE] hr_timesheet: Improve Timer, Access Rights and Validation
Access rights
=============

Purpose
-------

Currently, the lowest access right level for Timesheets allows a user
to see the timesheets from all employees. Some companies do not want
to have this information shared.

As we already have three levels of access rights, creating a new one
would be too much. Instead, we are using this opportunity to
clean/simplify the current access right levels.

Specification
-------------

Remove the current access rights and replace them with the following:
- 'See own timesheets' the user can:
    - read/write/create/delete his own timesheets only
    - cannot timesheet on projects whose Visibility is set on
      'Invited employees' if the user is not a follower
    - see the 'My Timesheets' and the 'Timesheet App' menus
- 'See all timesheets' the user can:
    - read/write/create/delete all timesheets
    - cannot see the Timesheets of Projects whose Visibility is set
      on 'Invited employees' if the user is not a follower
    - see the 'My Timesheets' + 'All Timesheets' + 'Timesheet App' +
      'To Validate' menus
    - validate the timesheets of whom he is the 'Timesheet
      Responsible' or the 'Manager'
- 'Administrator' the user can:
    - read/write/create/delete all timesheets
    - see all menus
    - validate the Timesheets of all employees
- Write tests

New Validation Process
======================

Purpose
-------

Currently, timesheets are validated by employees as a whole. However,
as a manager, it is difficult to evaluate the timesheets of an
employee for projects you know nothing about. Therefore, it would make
more sense for a manager to validate the timesheets of his projects
and to leave the rest to the other managers.

In addition, having a date on the employees leaves room for error and
performance issues, so we are introducing a new checkbox at the
timesheet level.

Specification
-------------

Remove the 'Timesheets Validation Date' field on the employee
- replace it with a 'Timesheet Validated' checkbox (hidden field) on
  the timesheet entry
    - By default, this field is set to false
    - Once the manager validates the timesheets, switch the field to
      true
- Filtering on 'Validated' timesheets should display timesheets for
  which 'Timesheet Validated' is true
- Filtering on 'Non-Validated' timesheets should display timesheets
  for which 'Timesheet Validated' is false

Rename the title of the validation menus into:
- To Validate > Last Weeks -> Timesheets from Last Week to Validate
- To Validate > Last Month -> Timesheets from Last Month to Validate

Grid view: display projects on which the user timesheeted in the
past 30 days (group_expand), or the employees who timesheeted in the
past 30 days for the 'To Validate' menus)

Open the 'To Validate' menus on the oldest non-validated timesheet
you can find.

Clicking on 'Validate' should validate all the timesheets displayed
on the screen. List all the elements displayed in the view based on
the group by applied in the 'Validate the timesheets' modal.

When validating timesheets, bypass timesheets that were already
validated in the past in order to avoid performance issues

Timer list
==========

Purpose
-------

Have an overview of the timesheets you need to do during the day.
Easily track time spent on tasks using the timer instead of having to
write down somewhere at what time you started an activity. Allow more
flexibility if an activity if interrupted by another one (so you
don't need to do mental arithmetic to determine how much time the
first activity took substracted by the time spent on the second
activity).

Specification
-------------

- Move the time from fsm to hr_timesheet.
- Add fa-play-circle and fa-stop-circle icons in the 'My Timesheets'
  menu:
    - on the left of the 'Duration' field in the list view
    - on the top right corner of the kanban card in the kanban view
    - on the right of the first column in the grid view
- Display these icons
    - for non-validated timesheets only
    - if the Encoding Unit is Hours
- Clicking on the play button should start and display the timer and
   switch to the stop icon
- Clicking on the stop button should halt and stop displaying the
  timer and switch to the play icon
- While the timer is running, the 'Duration' field should not
  be editable
- Only one timer can run at the same time. If the user clicks on the
  start button of timesheet B while the timer is running for
  timesheet A, timesheet B should start and timesheet A should stop.

Time selection when invoicing
=============================

Purpose
-------

Allow selecting a timeframe to invoice when the user is invoicing on
a periodical basis. For instance, the user invoices each time at the
end of the month. For some reason (he got sick, there was a bank
holiday...), he only invoices of the 4th of the following month.
Now the timesheets that are about to be invoiced include some that
were recorded in the meantime.

Specification
-------------

- Add an 'Invoice timesheets up to mm/dd/yyyy' field on the Invoice
  Creation modal
    - display this field only when creating an Invoice for a Service
      whose Invoicing Policy is on 'Timesheets on tasks'
    - not required
    - Set today's date by default
    - if this field is set, the quantity to invoice should only
      include the not yet invoiced (and validated) timesheets up to
      this date (included)
    - if this field is not set, include all not yet invoiced (and
      validated) timesheets without distinction.
    - Add the following tooltip: Only timesheets not yet invoiced
      (and validated, if applicable) up to this date included will be
      invoiced. If no date is indicated, all timesheets not yet
      invoiced (and validated, if applicable) will be invoiced
      without distinction.

Miscellaneous
=============

Purpose
-------

Small usability improvements.

- Move 'Create SO from Task' to sale_timesheet -> Means Enterprise to
  Community).
- Add the pivot view to the 'All Timesheets' menu
- Add the 'Today' button on the grid view of all menus (see the
  Reporting > Timesheets by Project menu for reference)

closes odoo/odoo#40495

Taskid: 2088586
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Co-authored-by: Lucas Lefèvre <lul@odoo.com>
Co-authored-by: Yannick Tivisse <yti@odoo.com>
2019-12-19 17:58:35 +01:00
Yannick Tivisse 1bf2bfd2a1 [IMP] hr_timesheet: Small cleaning and linting 2019-12-19 17:21:17 +01:00
Robin Heinz ffd2502fb4 [IMP] point_of_sale: Show customer only and increase customer ranking.
Following the removing of the vendor and customer field, when we wanted to display customer in the back end, we saw all. We added a default filter when clicking on the menu button that displays only customer with a customer rank higher than 0.
We also increase their customer ranks everytime they make an order in the front end.

closes odoo/odoo#41769

Task-id: 2092483
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-12-19 12:46:09 +00:00
Xavier Bol (xbo) 954e428fc9 [MOV] hr_timesheet: move timer from timesheet_grid to hr_timesheet 2019-12-19 10:20:28 +01:00
Xavier Bol (xbo) d1329e2de9 [IMP] sale_timesheet: compute correctly the timesheet_total_duration
TaskID: 2088586

When the user has the access right : 'See my timesheets'. He can only
see his timesheets. Thus, in sale order, we want to display the real
total number of hours spent on the 'Hours Recorded' stat button.

When the encoding is in Days and not Hours, the total number on this
stat button is not correct. This commit correct the total number.
2019-12-19 10:20:28 +01:00
Xavier Bol (xbo) 9a8aad356f [IMP] hr_timesheet: add empty list tooltip
TaskID: 2088586

In 'My Timesheet' menu, in grid view when there is no record, the view
displays an empty list tooltip. With this commit, the 'All Timesheets'
menu, the empty list tooltip is also used when no record is displayed.
2019-12-19 10:20:28 +01:00
Xavier Bol (xbo) d7d980b58b [FIX] hr_timesheet: unit_amount not editable when timer is running
TaskID: 2088586
2019-12-19 10:20:28 +01:00
Xavier Bol (xbo) b673e3aee4 [MOV] sale_timesheet: move 'create sales order' button on tasks
TaskID: 2088586

Move this button from sale_timesheet_enterprise to sale_timesheet
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 2d3a44e6bd [FIX] hr_timesheet: problem desynchronization time between server and client
TaskID: 2088586

When we launch the timer, if the clock of the client isn't correctly synchronize
with internet, we can't correctly display the timer,
because the clock of the server can be in advance.

The solution is to call the server to have this time and use the timer
only with the time of the server.
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 15e41f59c7 [MOV] hr_timesheet: move timer from timesheet_grid to hr_timesheet
TaskID: 2088586

The timer use in project > task can be usable in community and not only in enterprise.

move timer constraint from sale_timesheet_enterprise to hr_timesheet
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 2ace7893f0 [IMP] hr_timesheet: add by default "See own timesheets" group to user demo
TaskID: 2088586
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 68851c0530 [IMP] sale_timesheet: improve project overview to match with the access rights of hr_timesheet module
TaskID: 2088586

Some changement in project overview to match with the access rights
in Timesheet.

When the user has the lowest access right, the user may not see the
timesheets of other users in the project overview. The total of hours
spent must be equal to the number of recorded hours. But the
remaining hour of the sale order must be corresponded to the reality
and not only depending of the record that the user may see.

Move the _domain_employee_id method from timesheet_grid into this
module. Because this method is used for project overview into
sale_timesheet module.
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 46d70e30ef [IMP] sale_timesheet: improve invoicing sale order with timesheets
TaskID: 2088586

Add an 'Invoice timesheets up to mm/dd/yyyy' field on the Invoice
Creation modal. This field is only visible when we want to create an
invoice for a Service whose Service Policy is set on 'Timesheets on
tasks'.
This field allows to invoice the timesheets of a service up to the date
set on this field.

Before this commit, when we create the account.moves.line records, we
link timesheets of a service to an invoice. Now, we need to check which
timesheets are invoiced, because with the adding of the date for the
creation of invoices, we cannot invoice the timesheets after to this
date. Then, the process is done at the end of '_create_invoices' in
'sale.order' model when the invoices are created.

Override an ir.rule in accout module, because this rule accept all
account.analytic.line in its domain and we don't want to accept all
timesheets when the user has the access right : "See own timesheets".
Therefore, we need to override this rule to apply the others rules in
this model for the timesheets.
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 3cff5808f9 [FIX] account: remove the override _order in account.analytic.line
TaskID: 2088586

Beside this override, the records in timesheets often change order
because the date field is a date type and then, many timesheets can
have the same date, thus the order isn't the same every time.
When we remove this override in account module, the default order is
restore for account.analytic.line model and it's 'date desc, id desc',
with this order, we keep the same order every time in the different
views of timesheet.
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) c9da157149 [IMP] hr_timesheet: add timer into list and kanban views for timesheets
TaskID: 2088586

Timer in the list and kanban views :
----------------------------------
In kanban and list views, It's possible to update the 'unit_amount'
field with a timer. The user can easily launch the timer in these views
for one of his timesheets.
One timesheet can be launched at the same time, when the user start a
timer for a timesheet and start another timer for another timesheet, the
first timer stop and the new timer start.

The timer is usable only if the encoding unit is 'Hours' and the
timesheet is not validated. To do this : a new computed field 'display_timer'
is created in account.analytic.line, this field is set to True is the
encoding unit is 'Hours'. With this field, we can easily hide and display
the timer in different views.

The user can only use the timer for his timesheets. Because the user
with the access rights to see all timesheets might launch and/or stop a timer of a
timesheet of other user. That is the timer must be accessed only in 'My Timesheets' menu.

Add pivot view for 'All timesheets' menu.

Creation a timer_mixin :
----------------------
With this timer mixin, we can have a generic timer to use in other
models that they need to use a timer like account.analytic.line and
project.task models
The timer in account.analytic.line model has changed to use the timer
mixin.

Specific behaviour of the timer :
-------------------------------
When the user use the timer and the minutes spent with the timer is less
than 1 minute, we don't add in unit_amount of timesheet. If the
unit_amount is equals to 0 and minutes spent of timer is less than 0.
Then the timesheet created by the timer is deleted because it is useless to
have a timesheet with unit_amount set on 0.

Misc :
----
Add some styles for the timer button and for the 'unit_amount' field when the
timer is running.

remove duplicated fields in tree view (record
id='timesheet_view_tree_user')
2019-12-19 10:20:27 +01:00
Xavier Bol (xbo) 2f20b9437a [IMP] hr_timesheet: Improve access rights
TaskID: 2088586

The low level access right is now "See my timesheets".
This access disallow to a user to view and manage the timesheets of others users.

When the visibility of a project is set on "Invited employees",
the users with the access rules : 'See my timesheet' and
'See all timesheets' can show the timesheets, if these users
follow the project.
2019-12-19 10:20:27 +01:00
Jason Van Malder 073839c6ce [FIX] website: fix background video widget on mobile
Issue

    - Download the customer db: stargue-inc
    - Go on the website in mobile mode

    Traceback & the second item in the carousel is not displayed.

Cause

    Traceback: we use `this.$iframe` without checking if it's defined
    Second item not displayed: the first video promise is overriden
    by the second video promise.

Solution

    Check if this.$iframe is defined and resolve the old promise
    instead of overriding it.

OPW-2152690

closes odoo/odoo#42139

X-original-commit: f5f569b4705f37865cb976a4df10a0d9f388fae2
Signed-off-by: Jason Van Malder <jvm-odoo@users.noreply.github.com>
2019-12-18 10:20:44 +00:00
Arnold Moyaux cdaf785ef7 [FIX] stock: same package in different location
- Create a move line from stock to shelf1 with PACK1
- Create a move line from stock to shelf2 with PACK1
- Validate

It should be be blocked. The contents of a package should all
be in the same location since the pack itself is in a location.

It's due to commit 78d6f46 that fix a rounding error.
However it should check for quants that have quantity since they
represents the package content.

closes odoo/odoo#42134

X-original-commit: 78fba949790f2b1ecd3ba1bf60fb34c30d17769e
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-12-18 13:32:22 +00:00
qsm-odoo 04bd016116 [FIX] website, *: fix tabs breaking when increasing number of columns
* web_editor

Previously, increasing the number of columns on the tabs snippet would
cause the newly created tabs to toggle the original tabs instead of its
own, this was caused by an oversight where the columns were clone
directly using jQuery, and the snippets' the onClone method was not
called on the newly created columns (here, tabs). This commit move the
responsibility to clone onto the SnippetsMenu so that it can create the
appropriate snippetEditor if needed and call its onClone method.

task-2070643

closes odoo/odoo#42130

X-original-commit: 77ebadfe6ada8ad1fa4d6e476b9534f252499d92
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-12-18 13:16:31 +00:00
Mathieu Duckerts-Antoine 9d539cd8c5 [FIX] web: take care of "groups" attribute in search view arch
The attribute "groups" on filters and fields in a search view arch was not taken
into account anymore.
Now items that should be invisible are not anymore available for selection
in the interface (as expected) but are still activable as search defaults
(and the corresponding facets appear if needed).

Task ID: 2081450

closes odoo/odoo#42125

X-original-commit: ca2514a9fbcd693752367cb566d5c11165b40bd4
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-12-18 13:13:10 +00:00
Francesco Apruzzese 2312905fcf [CLA] signature for OpenCode
closes odoo/odoo#42184

X-original-commit: e2aed4ca0675949c3f939b007314004e315bda84
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-17 07:09:27 +00:00
Katherine Zaoral 8777e4960c [REF] l10n_ar, l10n_latam_invoice_document: replace staticmethods with api.model methods
closes odoo/odoo#42177

X-original-commit: 4854bef072807828f66ada7d2996f70ad01ec506
Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-12-18 19:48:59 +00:00
William Henrotin bd80ea51d7 [FIX] stock: free_reservation performance
Validating a move line will remove the reservation on other move line
that will take quantity on the same quant.
The querry searching for those move lines needs the state of their
relative stock move to be neither 'done' nor 'cancel'. This constraint
add a join in the SQL querry that slow largely the request

This commit removes the `move` state in the querry and replace it by the
the move line state to speed it up.
Thanks to
https://github.com/odoo/odoo/commit/39b65efbad36a0b63de5d148bc575eaf15b60653
and
https://github.com/odoo/odoo/commit/23e77b80336514d07504c35d717d4573bed90071,
it's will give the same result as the
move line state is related stored of its relative move.

opw 2126433

closes odoo/odoo#42170

X-original-commit: dbc664e5d5f28d6fdd8f791ee349a842fd7d22d0
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-12-19 09:52:56 +00:00
Nicolas Seinlet 6b751f12f3 [FIX] point_of_sale: permit accountant to change lock date
Accountant who change the lock date is not always a pos user, and then
cannot read pos sessions.

closes odoo/odoo#42156

X-original-commit: 8c6aa24525eca434b6f85b56c10c45b33cc05a43
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-12-17 11:10:30 +00:00
wan 00a341f467 [FIX] l10n_ar: missing field for dynamic domain
The domain introduced in 1881999b89 needs
the field company_partner to be in the view

closes odoo/odoo#42171

X-original-commit: c6bdb22901dbd223fecabce78e6a41427a165040
Signed-off-by: wan <william-andre@users.noreply.github.com>
2019-12-19 10:11:18 +00:00
wan 21c653ecda [FIX] l10n_ar: missing adaptation for changes in move reversal
Commit 2106dd3cd1 changed the model of
account.move.reversal but didn't change the demo data of l10n_ar

X-original-commit: ea4bfe662c4a9f5a033712ed3e4d17e9e8252ca0
2019-12-19 10:11:18 +00:00
Pedro M. Baeza 18d7bb1007 [FIX] l10n_es: Give a tax group to IVA 10,5% REAGYP
Not having a tax group, we can have a side effect. It hasn't failed before because
the field is required only on screen, but not on DB.

closes odoo/odoo#42100

X-original-commit: 21c89aade534ba41bb492934d9795e3f0bb13f5f
Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-12-18 08:46:59 +00:00
Olivier Dony e63fd04b51 [FIX] ir.attachment: make filestore GC yield to other transactions
If a long-running transaction holds a write-lock on any row in
ir.attachment, the GC job can wait an indefinite amount of time to
acquire its table-wise SHARE LOCK.

While sitting in the queue for this lock, it will conflict with any
future transaction that tries to acquire a write-lock on any row [1].
So the GC transaction, which would normally execute very fast and
immediately release its lock, will start to block other transactions and
cause severe delays in response time. It basically depends on how long
the tx holding the lock takes to complete... which is unknown.

As a workaround, we force an arbitrary (but short) lock_timeout in the
GC tx before attempting the lock. If it fails to acquire it, it will
fail and raise, causing the whole operation to abort. The cron job will
be rescheduled quickly because it failed to complete, giving the GC
another chance to complete.

10 seconds seems a reasonable compromise, as it gives the blocking
transaction(s) some time to complete before bailing out, yet should
not be long enough to bring the system to a halt due to other
transactions blocked by the GC one. I have no hard data to back this
claim, though.

[1] See the LOCK conflict table in the documentation:
      https://www.postgresql.org/docs/10/explicit-locking.html

closes odoo/odoo#42128

X-original-commit: 8a093c74c209d492f066c927cc4ac61325aee3ae
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
2019-12-12 18:44:32 +00:00
David Beguin dc101d12a5 [IMP] website_crm_livechat : link visitor to lead on /lead command
If an operator executes the /lead commands, the visitor was not linked to the
lead. This commit fixed that. The visitor is now linked to the lead but the
visitor does not take the lead's name.
(As '/lead leadName' creates a lead with 'leadName' as name but not as contact
name and the visitor needs the contact name of the lead)

Task ID: 2081534
PR #38706

closes odoo/odoo#41960

X-original-commit: 8c257a6219f72118af4e81c14fb2c6c9f320df17
Signed-off-by: David Beguin <dbeguin@users.noreply.github.com>
2019-11-20 13:33:08 +00:00
David Beguin 75dc514955 [FIX] website_crm_livechat : restrict livechat sessions to livechat users
Only the livechat users can see the livechat sessions linked to the lead.

Task ID: 2081534
PR #38706

X-original-commit: 3ae0f1564cb64afc7c2d9be6a427b75e0f13acd0
2019-11-20 13:33:05 +00:00
David Beguin 83a170360e [FIX] website_crm : add acls to salesmen to see visitors and page views
The security file was not loaded in the manifest.
also, the tracking model name has changed to website_track.

Task ID: 2081534
PR #38706

X-original-commit: 0f46998b2b1209eb57cd164b4a5b861f9d2ff71f
2019-11-20 13:32:59 +00:00
qsm-odoo 2cd95e0c75 [FIX] web_editor: right-align inputs only if they got an unit
Part of https://github.com/odoo/odoo/pull/42136

closes odoo/odoo#42136

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-12-19 10:07:08 +00:00
qsm-odoo ea8f516ca0 [FIX] web_editor: align row content on the right
Part of https://github.com/odoo/odoo/pull/42136
2019-12-19 10:07:00 +00:00
qsm-odoo 2ebe088def [FIX] web_editor: missing use of applyTo param for visibility update
Part of https://github.com/odoo/odoo/pull/42136
2019-12-19 10:06:54 +00:00
qsm-odoo d08023f06a [FIX] web_editor: close widgets before updating the left panel
Part of https://github.com/odoo/odoo/pull/42136
2019-12-19 10:06:29 +00:00
Victor FeyensandRaphael Collet e51358b8ce [FIX] base: ir defaults in multi company.
Company used to get defaults was user.company_id and not current company
in the environment.

Fixes #41679

closes odoo/odoo#42153

X-original-commit: af50c694445d49f1098de4236b6e8bdd9b1c93f2
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
2019-12-17 17:13:52 +00:00
Nicolas Lempereur 525e3626be [FIX] project: access to portal task give access to attachment
If a visitor has access to a task through access_token, he should have
access to the task attachments. He already see the list of attachment
and their name, but since the task access_token is not propagated to the
attachment he doesn't have the rights to see them.

In this PR, we generate the attachments access_token and provide them to
the user that is viewing a task with an access_token.

opw-2125252
closes #41881

closes odoo/odoo#42121

X-original-commit: e7984c4968cde2019edca6c767d2acce2f7fe3f4
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-12-17 17:27:26 +00:00
Ivan Yelizariev d807e07949 [FIX] website: use localized date format
If getLangDateFormat is called right in loading the js file, it returns
default format. We now call it when translations are ready.

closes odoo/odoo#42126

X-original-commit: e7a58430a382ca1161131e562d53bef3ea0e6ce0
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
2019-11-18 15:31:46 +00:00
Ankita Raval 1a364b4eeb [IMP] Product: Improve demo data
In this commit,
-Change the price of the three-seat sofa 60.000 to 1.500
-Change invoicing policy based on ordered qty

closes odoo/odoo#41980

Task-id: 2153140
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-12-17 10:25:49 +00:00
Samuel Degueldre ed5aa6be63 [FIX] web_editor: fix background postion option on columns
The background position snippet option makes a copy of the snippet to
use in the overlay, such that it is over all content and the user can
easily see the end result of dragging the background. However, an
oversight in the CSS didn't account for the possibility of the copied
element to have a relative max-width (% of its container), because of
this, the overlay for those items was incorrect. This commit fixes that
issue by overriding the max-width and max-height properties of the
copied item.

closes odoo/odoo#42106

X-original-commit: 3b8cadd579f3309640a938bcce39ac83ac7a6942
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-12-17 13:05:06 +00:00
Nicolas Martinelli 5661b48cfb [FIX] account: loop correctly
opw-2157568

closes odoo/odoo#42108

X-original-commit: 0d6a370f08b981737e7796055628955e82fdb19c
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-12-18 09:16:14 +00:00
Xavier Morel a3371a467b [FIX] core: ask OS to pick CDT port
When running multiple odoo on the same machine (in order to test
multiple things concurrently, etc...) it's easily enough to start them
on 8069, 8070, 8071, ... and that *seems* to work, but then they start
walking on one another and *losing* chromes entirely, so you end up
with hundreds of chrome processes: right now with 2 Odoo running tests
my machine is at 365 Chrome processes, 550 process and 3180 threads
total (should be ~160 and ~700 with 2 chrome processes at most).

Instead, ask the OS to ask for a devtools port, then close the socket
and pass that to the child process. There's a race of sort for the
instant between closing the socket and Chrome reopening it, but:

* the window is very short
* we got a random port from the ephemeral range, it's possible
  somebody else gets it inbetween but unlikely (the 50% on a birthday
  attack is 200 for Linux's ephemeral range, it's a somewhat lower 150
  for the IANA range used by BSDs and Windows)

Sadly chrome doesn't stop if it can't bind to the port it's given.

closes odoo/odoo#42102

X-original-commit: 897ded1cb8b675024d75c6975ca171dbefdfc333
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-12-18 06:56:24 +00:00
jeffery 陈帆 f26760e2f4 [CLA] add new signature for jeffery9
closes odoo/odoo#42093

X-original-commit: 6e30f036d1105a0a8724428839e6ab692ef01cb1
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-18 08:38:20 +00:00
jev-odoo b308a173a6 [FIX] payment_paypal: Less confusing transaction logs
Before this commit, the log displayed "set as done"
before actually trying to put the transaction in done.
If an error then occurred in the'_set_transaction_done'
function and the transaction could not be processed,
this could lead to a misinterpretation of these logs.

This log is therefore moved after the transaction is
processed and is only displayed if it is actually successful.

This is valid for'done','pending' and'cancel'.

closes odoo/odoo#42089

X-original-commit: dd7552b1a48020f3f48cd40a5fc1cbc4c38a7f90
Signed-off-by: jev <jev-odoo@users.noreply.github.com>
2019-12-18 07:06:31 +00:00
Christophe Simonis 1f8706edd4 [FIX] test_main_flows: auto expand buttons in "More" dropdown
We are looking for the "Bom Count" stat-button, which can be hidden
behind the "More" dropdown, depending on the number of installed modules
and views inheritance order loading.

closes odoo/odoo#42085

X-original-commit: dc4a40cc130175a60aa77a0660613b23c4bb916f
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-12-17 18:58:30 +00:00
Nicolas Martinelli 55d82393dd [FIX] stock: prevent crash on availability
opw-2157386

closes odoo/odoo#42081

X-original-commit: bd6631f0dff3433d70d4279c336f132d4c46441c
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-12-18 06:59:21 +00:00
Alexandre Díaz 37138a8977 [FIX] web: Changed mobile message html element in multi-company dropdown
Without this commit the multi-company dropdown breaks the page on mobile

closes odoo/odoo#42080

X-original-commit: e074dca861bedb89952d3788e711e261ce903295
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-12-18 02:17:04 +00:00
Martin Trigaux da66138f58 [IMP] doc: restore canonical URL
Was added at 958f9106dd but lost during design change

closes odoo/odoo#42061

X-original-commit: 560dba5313c5ca5265190dacc3bce7cbe509d30a
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-12-12 14:06:34 +00:00
Odoo's Mergebot 91f5fd0df3 [MERGE] website: reorganize website folder
Reorganize the website folder to gather the large amount of snippets
that will become standard. Also prepare for a new system of snippet
versioning.

Note: this merge contains a lot of commits because the files were
split in such a way the history is not lost. A better way could
exist to achieve this with less commits but in the end all the
commits are gathered in an unique merge commit anyway.

task-2158361

closes odoo/odoo#42067

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-12-18 04:15:12 +01:00
qsm-odoo 5a8c2c7a4a [FIX] website: remove css bundle for s_facebook_page added by mistake 2019-12-18 03:44:42 +01:00