Commit Graph
127505 Commits
Author SHA1 Message Date
Jinal PatelandMohammed Shekha 756aa60ecf [IMP] web, project: improve examples background on kanban quick create column
This commit makes the use of the kanban more intuitive by changing the view's
example background columns labels.

kanbanExamplesRegistry will have object as a value instead of array,
ghostColumns and examples will be the key where ghostColumns defines column
titles for example background on column quick create and examples will be array
of examples which will be displayed on click of See Examples link in quick
create column
If ghoseColumns are not defined then dynamically ghost columns will be generated
with titles like Column 1, Column2...

task- 1937198

closes odoo/odoo#30911

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>


Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-06-18 09:28:23 +00:00
Juhil Somaiya 7bf0994e19 [IMP] purchase: added more meaningful error message
While confirming the quotation if there is no seller
who's matching the requirements at that time error
message was not clean.
So that, changed that message to a more meaningful
new message.

TaskID - 1948751

closes odoo/odoo#32644

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-06-04 08:37:44 +00:00
Sapan Zaveri 2e3b6b144d [FIX] payment_alipay: fix the broken alipay tests
The test case of alipay payment is going to failed due to:

1) Now the redirect_url from the return_url is removed in commit :
https://github.com/odoo/odoo/commit/0aefe72b773a21bdd38fdc86779d3030bd5127c6
but it's still it's there in test cases so removed from test case.

2) To make the transaction done it must be in  draft, pending or authorised
state but in first test case payment process the transaction state is set to
cancel and in another payment process use the same transaction again to set
it success so before use the same transaction again just set the state to draft.

task- 2005926
closes- #34132

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-06-14 09:17:11 +00:00
Christophe Simonis 9035fb8a2a [MERGE] forward port branch saas-12.4 up to 618ea1ab67 2019-06-18 10:24:25 +02:00
Robot Odoo 0fc33c37c3 [MERGE][IMP] *_timesheet: customer portal for timesheets
Impacted modules: hr_timesheet and sale_timesheet

This merge provides the customer portal part to display timesheets. Timesheets
can be seen from 3 differents points of view: list of timesheets, timesheets on
tasks, and timesheet linked to invoices (only for delivered qty policy).

When tracking time (sale_timesheet not installed), all timesheets can be displayed
to portal. When sale_timesheet is installed, if the timesheet is billed (billable_type
field), we only display the ones coming from a delivered qty policy selling. Indeed,
it makes no sense to display the 'ordered qty' timesheets, as it can reveal you sold
more time than required to your customer.

To do, we decided to remove access rules for portal user: timesheet (analytic line
model) is now technical and is given with `sudo` to portal. Admin can still restore
some of them to allow third part application with XML RPC.

See subcommits for more details

Task-1932488

closes odoo/odoo#31703

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-06-17 20:15:26 +02:00
Christophe Simonis 618ea1ab67 [FIX] test_mail: bump query count
For unknown reason (I didn't manage to find the culprit), the previous
forward-port generate more queries than before.
2019-06-17 18:27:28 +02:00
Christophe Simonis 0da246ef55 [FIX] core: not all falsy objects have an origin attribute
It avoid `X.browse([0]).exists()` to blow up.
2019-06-17 14:44:25 +02:00
Christophe Simonis 93b0f9ad2a [FIX] uom: define reference UoM first 2019-06-17 14:15:58 +02:00
Christophe Simonis 8fa477cbd9 [FIX] web_editor: use only ES5 compatible code 2019-06-17 14:10:03 +02:00
Christophe Simonis b6f7fe9a81 [IMP] test_lint: correctly format es-check error message 2019-06-17 14:09:31 +02:00
Christophe Simonis 65cc06e3ab [FIX] mail: use defined variable
Oversight of previous forward-port.
2019-06-17 14:08:45 +02:00
Hiral Bhavsar 3cd7ed07a2 [IMP] *: remove 'view_type' on window actions.
The old tree views don't really exist anymore, this odd pseudo-flag to
dispatch between "list" and "tree" tree views has no reason to remain.

Task 1937686

closes odoo/odoo#31243

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-17 11:34:17 +00:00
Christophe Simonis 25e3f27062 [MERGE] forward port branch saas-12.3 up to 48a9f5a633 2019-06-17 13:20:35 +02:00
Andrea Ulliana 3ab5612e4f [IMP] website_forum: add sequences
When you had several forums, they were displayed according to the
creation order. Now, you can define a sequence on them and order forums.

task-2007173

closes odoo/odoo#34184

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-17 11:02:38 +00:00
Sébastien Theys e05442fe19 [IMP] product, *: clean test and demo set up with attribute lines
* = account, mrp, purchase_stock, sale, sale_product_configurator,
stock_account, website_sale

It is always better to create the product template attribute lines before
creating the variants. In a following commit, this will become mandatory.

The variants that are created should always match the combination of attributes
set on the template.

Finally explicitly call `create_variant_ids` when possible instead of reassigning
the attribute lines to implicitly call `create_variant_ids`.

closes odoo/odoo#34122

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-17 10:52:01 +00:00
Odoo Translation Bot 48a9f5a633 [I18N] Update translation terms from Transifex 2019-06-16 06:15:35 +02:00
Christophe Simonis ced0e5becf [FIX] test_lint: also ignore js files in static/src/tests directory 2019-06-14 18:09:58 +02:00
Christophe Simonis 131e478ae6 [FIX] account: avoid usage of this in closure
Oversight of previous forward-port.
2019-06-14 17:29:51 +02:00
Christophe Simonis 34a8754d4f [MERGE] forward port branch saas-12.2 up to 498b4b4350 2019-06-14 15:20:01 +02:00
sri-odoo 498b4b4350 [FIX] website_slides: add missing <h1> tag (seo)
closes odoo/odoo#34137

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-14 10:16:58 +00:00
Jeremy Kersten 856685d640 [FIX] website_slides: use bigger image for shared content
Before this commit, share a slide was done with a small picture and so ugly

closes odoo/odoo#34133

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-14 09:42:03 +00:00
Sébastien Theys 7316111aaf [FIX] product: better handle of product template copy with variants
Before this commit, copying a template with variants would not copy the
attributes lines, so it didn't work as expected.

closes odoo/odoo#34128

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-14 09:02:37 +00:00
Christophe Simonis 5b2f64fd5d [MERGE] forward port branch 12.0 up to 4870251f0b 2019-06-14 10:15:49 +02:00
Priyanka Kakadiya 0cf5c87ed7 [IMP] sale_timesheet: show all timesheets related to respective invoices
purpose of the commit is to show the timsesheet related to respective invoice
when invoicing based on delivered quantities,
only show those that have been invoiced

and also allow portal user to see
"(timesheet of visible task OR linked to portal's invoices) AND (billable_type in [billable_time, non_billable])"

task-1932488
2019-06-14 04:49:21 +00:00
Priyanka Kakadiya d74ee9a0cf [IMP] hr_timesheet: added a timesheet for portal user
Purpose of the commit is to add a timesheet section on portal
where you can see all the timesheets and user can see and use the filter
options on them (available when only hr_timesheet is installed)

task-1932488
2019-06-14 04:49:21 +00:00
Priyanka Kakadiya 562997b2bc [IMP] hr_timesheet: remove timesheet rule and access right for portal
Purpose of the commit is to clean the current portal right of
timesheet(analytic account line) and analytic account(no more ir.rule).

the idea is to remove ir.rule since the domain will be difficult with ir.rule
extension mecanism. Moreover, as this is "technical" data, we will use 'sudo' controller.
as we don't want to customize what is shown in portal.
End user is free to create its own ir.rule to connect odoo in xmlrpc
he will be the only responsible for that.

task-1932488
2019-06-14 04:49:21 +00:00
Sébastien Theys 382989c341 [FIX] product: remove useless create_from_tmpl context change
Since 0477bdb75a

The last use of `create_from_tmpl` was removed therefore it is better to not
change the context for no reason.

closes odoo/odoo#34107

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-06-13 13:59:04 +00:00
rhe 6a2f83a08e [FIX] point_of_sale: fix binding model reference
You are not able to install pos_sale because of a wrong reference to a
model in the action "pos_session_action_from_crm_team".

It was referencing the module 'crm' instead of 'sales_team'.

Thi behavior has been introduced in the revision: 10f1a1a0c4

closes odoo/odoo#34119

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2019-06-14 08:16:52 +00:00
Nicolas Martinelli 4870251f0b [FIX] payment: save credit card
- Set a payment provider with:
'Save Cards': 'Always'
'Payment Flow': 'Redirection to the acquirer website'
- Process an order on the eCommerce

The payment token is not saved.

The `save_token` value is based on the checkbox which is only added in
'ask' mode:

https://github.com/odoo/odoo/blob/4b8f72eb2315e675ca6d5a0d0961272fc024c475/addons/payment/static/src/js/payment_form.js#L162

We hide and pre-check the checkbox in this case.

opw-2008441
opw-2008275

closes odoo/odoo#34106

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-13 13:52:03 +00:00
Nicolas Martinelli 5af6928107 [FIX] google_spreadsheet: boolean
It seems that Google Spreadsheet only recognizes `true` and `false` as
valid boolean values.

opw-2000623

closes odoo/odoo#34100

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-13 12:10:20 +00:00
Christophe Simonis a526ff3f70 [FIX] mail: use correct variable
Oversight of previous forward-port.
2019-06-13 18:20:47 +02:00
Christophe Simonis a0a11fd5e2 [MERGE] forward port branch saas-11.3 up to 8a19a6a2a3 2019-06-13 18:18:17 +02:00
Christophe Simonis 8a19a6a2a3 [MERGE] forward port branch 11.0 up to ec8c66991d 2019-06-13 16:52:40 +02:00
Christophe Simonis ec8c66991d [MERGE] forward port branch saas-15 up to 641ca4f7f4 2019-06-13 16:22:23 +02:00
Christophe Simonis 641ca4f7f4 [MERGE] forward port branch saas-14 up to 6a247212f8 2019-06-13 15:32:55 +02:00
Christophe Simonis 6a247212f8 [MERGE] forward port branch 10.0 up to 818d34630d 2019-06-13 15:25:43 +02:00
Julien Castiaux dad9265d69 [FIX] project: correct filename on portal attachment
Create a project visible to a portal customer, create a task and attach
an attachment. As a portal user, go to the task and download the
attachment, the downloaded filename is the numeric identifier of the
document instead of the document filename.

The `?download=true` force the download of the attachment and correctly
set the filename.

opw-2008517

closes odoo/odoo#34098

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-06-13 13:22:22 +00:00
Nans Lefebvre ea064c81c9 [FIX] website: fix access error at settings save
Let a database with company C1, C2,
and a website W belonging to C1, used for both companies.
Settings in C2 cannot be saved without setting a website.
At settings load W is removed from C2 because it belongs to C1.
So reset C2's website to W.
This triggers a (useless) write of company_id (C1.id) on W.
Then we have w.user_id.company_id.id != self.env.user.company_id.id, (C1 != C2).
So if contacts are not shared, then accessing w.user_id.company_id would cause
an access error because of record rules, preventing the save.
As a result, settings are unusable for company C2.

opw 2008887

closes odoo/odoo#34102

Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
2019-06-13 12:41:15 +00:00
Olivier Colson 13f5dc905b [IMP] l10n_lu: remove unnecessary space at the end of some tax report line name
closes odoo/odoo#34094

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-13 10:59:05 +00:00
Aurélien Warnon bf1149c1b6 [FIX] crm: fix 'Won' filter in 'Activities' reporting view
The 'predictive lead scoring' task (#1925439) changed the way stages are marked as 'won'.
This introduced a bug in the 'Won' filter of the crm 'Activites' reporting view.

This commit correctly applies the domain on the 'is_won' property of the crm.stage.

Task #2009515

closes odoo/odoo#34087

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-06-13 07:53:18 +00:00
Nicolas Vannieuwerburgh 818d34630d [IMP] stock: noupdate on stock location
Stock.locations should be in no-update:
Limit the impact of recompute fields during the upgrade of stock module. (especially method _compute_product_availability)
Limit the impact on migration

Method _compute_product_availability is triggered during an upgrade of module and during migrations.
This may take a lot of time of big databases

closes odoo/odoo#34074

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-13 07:09:42 +00:00
Parth Choksi 2f8f832cee [FIX] mail: traceback on opening chat full composer
When full composer is opened it checks for partner information by calling
get_partner_info controller, if information are missing then it opens missing
partner information popup to fill missing partner information,
currently if partner information is missing and if try to open full composer it
throws traceback, this is due to commit:
https://github.com/odoo/odoo/commit/957c99abd53b42fa82903ad7ad03300797a706cf
here this._rpc is used in inner function which is wrong, it should be self._rpc

Scenario: we go to an opportunity and set the email but
we do not set a customer, and then when we open the chat composer
by sending a message, we're getting the traceback.

It will be fixed in this commit.

task-2005890

closes odoo/odoo#34084

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-06-13 05:07:43 +00:00
Christophe Simonis efc64edf70 [MERGE] forward port branch 11.0 up to 242e485b4a 2019-06-12 19:18:42 +02:00
wan d215bd81ca [IMP] account: update the journal items lists
Task 2003965
*** New menuitems for the accounting menu:
Miscellaneous
Journal Entries       (default search on misc op journal, like in v12)
Journal Items         (debug mode, same as V12)

Journals                (=journal items)
Sales                 (group by entry, filter sales journal)
Purchase              (group by entry, filter purchase journal)
Bank & Cash           (group by entry, filter bank,cash journal)
Miscellaneous         (group by entry, filter misc journal)

Ledgers                 (=journal items)
General Ledger        (group by account)
Partner Ledger        (group by partner)
Taxes                 (no group by)

*** Expand group by by default
*** Adapt the name of the groups for group by moves
*** Fold the attachment viewer
*** Correct the optional tree fields on invoices

closes odoo/odoo#34083

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-06-12 16:13:53 +00:00
wan 79a8269821 [IMP] web: allow to use python expr in tree's expand
Before it was only possible to set 0 or 1 as value for expand. This constrained the creation of adaptable views with regard to to context
2019-06-12 16:13:42 +00:00
Julien Castiaux 306abd0131 [FIX] mail: send same attachment multiple times
In the Discuss app, using Chrome or IE11, try to send the same
attachment to different channels. The first attachment is correctly
detected but not the next ones.

The problem is due to a browser inconsistency, on firefox selecting the
same file in an `<input type=file>` triggers the `change` event. This is
not the case on Chrome/IE, selecting the same file doesn't triggers an
`onchange`.

opw-2006647

closes odoo/odoo#34076

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-06-12 14:36:03 +00:00
sri-odoo ed7b3b0fa4 [FIX] website_slides: design, questions margins
Slightly increase margins between questions in a test.

closes odoo/odoo#34055

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-12 14:09:15 +00:00
Denis Ledoux 242e485b4a [FIX] http: Unreachable server when db_maxconn reached during registry loading
On `WebRequest` `__exit__`, when an exception occured,
(in `self.registry.signal_changes` or `self.registry.reset_changes`)
cursor were left unclosed as `self._cr.close` was not called
in such cases.

Having exceptions in the above mentioned method do not happen
often, but when it does it left unclosed and unusable cursors
in the connection pool, and in the extreme case explained below,
it left the connection pool with only unclosed and unusable cursors.
The entire server was then unusable as it no longer had working cursors.

Case:
- Start a multi-thread server with db_maxconn set to 5
- Ensure you do not send any request to the server,
not even with a left open tab on `http://localhost:8069` in your browser
- Send 6 parallel HTTP requests to `/web/login`
thanks to an external thread python script
(See below, at the end of this long commit message)

According to your registry state (if you have a lot of modules installed or not),
and the native Python Garbage Collecting state,
you might end with
- either warnings telling some unclosed cursor were garbage collected,
and therefore closed (by a kind of luck thanks to the Python garbage collecting),
- either, a server completely blocked not accepting any other request
(you can try for instance `curl http://localhost:8069`
and you end up with a `500 Internal Server Error`

This observed issue looks to appear only in 11.0. Not 10.0 or 12.0.
This is because only 11.0 clear the cache during registry loading:
`https://github.com/odoo/odoo/blob/f1706c848d41c47646dabca771996e9b9f788241/odoo/modules/loading.py#L236`
This cache clearing doesn't happen in 10.0 nor 12.0
(in 12.0, thanks to e181f592f3)

When sending the 6 parallel requests,
it uses instantly all the 5 available cursors of the connection pool to handle these requests,
and when each request exits, in `__exit__`, it calls `self.registry.signal_changes()`
which tries to open a new cursor because of
- `self.cache_invalidated` which is True, for all the 6 requests, thanks to the call to `clear_caches`
explained above during the registry loading and the fact all requests have been treated in parallel,
- `with closing(self.cursor()) as cr:`, `self.cursor()` attempting to use a new cursor
(the `closing(...)` does not have any incidence on this issue, despite it could look like guilty)

The attempt to use a new cursor fails, as there is no more available (`db_maxconn` is reached),
raising a `PoolError('The Connection Pool Is Full')` exception.

In the request `__exit__` method, because of this exception raised when calling `signal_changes`,
`self._cr.close` is never reached, and the parallel request therefore left only unclosed
cursors in the connection pool,
therefore leaving the server in a state where it only has unusable cursors
and therefore can't do anything more.

This might look like really bad luck to land in such a state,
but we observed multiple actual case on Odoo.sh,
the one referenced in this commit (opw-2008340) was because of an Outlook client
which launched 18 parallel requests to fetch the email images,
and the server wasn't spawned, therefore neither was the registry.
The server registry was therefore just loaded when it received the 18 parallel requests,
and it therefore triggered this extreme use case.
The server was left unusable for several minutes, until a forced restart.

For reference, here is the script that has been used to trigger the 6 parallel requests:
```
import requests
import threading

threads = []
for i in range(6):
threads.append(threading.Thread(target=lambda: requests.get('http://localhost:8069/web/login')))
for thread in threads:
thread.start()

```

opw-2008340

closes odoo/odoo#34071

Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
2019-06-12 13:10:45 +00:00
Christophe Simonis 92ef6daa19 [MERGE] forward port branch saas-15 up to e14fd457b9 2019-06-12 15:46:40 +02:00
Martin Trigaux 52936ec260 [I18N] *: export saas-12.3 source terms
closes odoo/odoo#34068

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-06-12 12:39:50 +00:00