Commit Graph
117975 Commits
Author SHA1 Message Date
Christophe Simonis 320fd28f81 [MERGE] forward port branch 11.0 up to 25ac56eaf6 2017-10-13 15:36:03 +02:00
Yannick Tivisse 2651717251 [IMP] base_import: Defer parent computation after record creation/update
Currently when importing files, the parent left and right are recomputed on each record creation/update, which could lead to a lot a request.

This commit will defer the parent field recomputation to the end on the `load` function by recomputing the values from the MPTT and inserting directly the new values on the records.

Tested on a customer instance, this will reduce the execution time when importing a thousand stock.location from 15 minutes to several seconds.
2017-10-13 15:24:05 +02:00
Martin Trigaux 25ac56eaf6 [FIX] doc: undefined variable toctree 2017-10-13 15:21:16 +02:00
Rémi Rahir eba119b38f [FIX] iap: typo
typo missed during merge. We rename end_point to endpoint as it is the correct denomination.
2017-10-13 15:09:20 +02:00
Christophe Simonis 6df0bf2a67 [FIX] web: correct expectation in new test introduced by previous forward-port 2017-10-13 14:26:46 +02:00
Martin Trigaux 6286dc4809 [FIX] hr: force a name to employee creation
The name field is a stored related on the resource.resource record.
The name on the resource is required.

If no name (and no resource_id), the creation fails as trying to create a
resource without name (non-null constrain)

Force in the view to indicate to the user that a name is required but without
adding the constrain at the database level.
required=True on the fields adds a non-null constrain on the SQL column but the
related values are populated *after* the INSERT so it would fail depending on
the given values (e.g. a resource_id value but no name)

Fixes #20126
Closes #20128
2017-10-13 14:21:32 +02:00
Josse Colpaert 51861e889a [FIX] mrp: no propagation of stock moves when destination is a component of an mo
When you cancel or split a move, it will check the propagation setting
to see if it needs to cancel or split the next move too.  If this next
move is a raw material in a manufacturing order however, it does not
make sense to do this as a lot of logic is also on these moves related
to bill of material lines, workorders, ...

opw-770062
2017-10-13 13:49:10 +02:00
Christophe Simonis 1da064a1d3 [MERGE] forward port branch saas-16 up to 8ee9024a4c 2017-10-13 13:13:11 +02:00
Raphael Collet 7fc6205419 [FIX] base_import_module: retrieve message from exception (#20101) 2017-10-13 12:13:50 +02:00
Jeremy Kersten dc5bb0d6b2 [FIX] website_forum: add missing karma_answer field in form view
This commit closes #19672
2017-10-13 11:46:23 +02:00
Christophe Monniez 119ae9b5dc [FIX] packages: add the stdum module for the RPM 2017-10-13 11:34:07 +02:00
Jeremy Kersten c0a47980fc [FIX] base: change width by default for apps description 2017-10-13 11:04:45 +02:00
fda-odoo c68ad2e0cc [FIX] crm: remove duplicate filter in seach bar of pipeline report
The search bar of the pipeline report page had duplicate filters. For each, there was one with "selection" widget and one without the widget.

opw-771298
2017-10-13 10:50:51 +02:00
Martin Trigaux 8f1d889e50 [FIX] tools: correctly export the non-module translations
8ac39287 introdcude a way to export the source terms not located inside an
addons module (e.g. error messages in openerp/service/models.py)

0529a7f9 fixed a bug in the get_module_from_path with addons path with similar
names.

The above commit introduced a regression making files located outside of an
addons path to be wrongly considered as a module
e.g. openerp/service/models.py used not to match any module and was considered
correctly as belonging to base module
After, 0529a7f9, '~/openerp/service' being different than '~/openerp/service/'
the module was considered as 'models.py' (which is incorrect).

Compare correctly both parent path to have a correct match

Fixes # 19907
2017-10-13 10:35:57 +02:00
amoyaux e1769cbea9 [FIX] base_import: parse date and float for relational fields
Use case to reproduce:
-> Import a file with a float using a coma related to the model
(for example the product.supplierinfo/price)

It happens because the method that parse the date and float field
only compare them to the main imported model.

This commit complete the method by using a recursion on relational
model in order to also parse the relational subfields.
2017-10-13 09:43:11 +02:00
Yenthe V.G 1ea19d8bad [FIX] base_setup,auth_oauth: correct labels
Authentification is not English but French

Closes #20095
2017-10-13 09:28:13 +02:00
Richard Mathot 8ee9024a4c [FIX] hr_org_chart: lambda employees are not allowed to read jobs
If we want to display job titles in this marvellous widget, we then have
to read them with higher access rights.
2017-10-13 09:11:57 +02:00
Christophe Simonis aeae519a65 [MERGE] forward port branch saas-15 up to 945dd32eb0 2017-10-12 21:44:28 +02:00
Christophe Simonis 945dd32eb0 [MERGE] forward port branch saas-14 up to 91e2264b28 2017-10-12 18:43:14 +02:00
Simon Lejeune 38fbf04183 [FIX] mrp: bom structure tree view
The tree views were removed in the new webclient but the reference of
the bom structure tree view was still there.

Closes #20108
2017-10-12 17:38:16 +02:00
Christophe Simonis 91e2264b28 [MERGE] forward port branch 10.0 up to ba519bde84 2017-10-12 17:30:01 +02:00
Christophe Monniez 5dfa00cb6c [FIX] packages: fix docker images builds tests
The automated tests of rpm,deb and src packages are using docker
images and containers. Those tests were not working as expected due
to various small glitches:
* some debian python- packages were missing in the Debian image
* pip was called instead of pip3 for the src test
* a wrong addons path was given for the tests
* the containers id's were wrong due to a bytes implicitly converted
  to str
2017-10-12 17:24:36 +02:00
Josse Colpaert 855a56ba29 [FIX] mrp: lots of component should always be visible in move view of MO
When you open a move of a component in a manufacturing order, we cannot
see the move lines and so add a new on if there are no move lines in it
with finished lot. We now always display the list of move lines if
product is tracked by lot/serial or has finished lots.
2017-10-12 17:07:22 +02:00
Siddharth Gajjar df89473617 [IMP] mrp: change OEE color depending on the target of workcenter 2017-10-12 16:37:17 +02:00
Christophe Simonis ba519bde84 [MERGE] forward port branch 9.0 up to 40d4cdd39f 2017-10-12 16:23:17 +02:00
rde 47b376e66d [FIX] link_tracker: python3 can't concat bytes to str 2017-10-12 16:20:42 +02:00
rde a91a3a5633 [IMP] website: warn user about key change when editing special file name
The idea is to warn user if he created a special file (website.page with
supported extension) and he wants to change the file's name, which will at the
end also change the key).
If this special file has been t-called elsewhere, they t-call wont work anymore
This is why warning user is needed.

Note that this is different than the already existing page_search_dependencies
that is just checking if the URL is present in menus, templates, blog or pages.
This is about checking if the key is present somewhere. (we assume that if the
key is present, it is surely about a t-call.

Technically, the flow is:
1. Get supported extension
2. Get key dependencies
3. Check if user modify name
4. If name changed and it is/was a supported extension (special file) and it
   has dependencies (surely t-call) then warn user these call wont work anymore

--

search_page_dependencies is also improved by returning links to be clickable
(on delete dialog eg) and splitting template/page results.

it also refactor dependencies warning that was creating HTML in javascript into
using XML template
2017-10-12 16:20:42 +02:00
rde a8fc544c5c [TYPO] website: change some texts 2017-10-12 16:20:42 +02:00
rde 53920fae31 [FIX] website: key from page's view was not unique in every cases
Before this commit, if you created a page with the same name as another one
(which is allowed) it would set the same key for that second page.
Indeed, the code was setting correctly the path uniqueness but it was then
setting the key based on the name and not on the unique url we found free.

Now, the key is correctly uniquely set and even better, it is now completely
independant from the url and has its own 'find unique' method to be sure it is
correctly working.
It was not clever to have key & url being linked.

To be more clear:
1. Create page 'aboutus'
	key  is 'website.aboutus'
	name is 'aboutus'
	url  is '/aboutus'
2. Create page 'aboutus' ->
	key  is 'website.aboutus'
	name is 'aboutus'
	url  is '/aboutus-1'
Problem: key should be unique (for t-call for specific files & website_version)
Cause: key is set based on name which is not checking for uniqueness like url.
Two possible solutions:
	1. Set key based on url (which is being checked for uniqueness)
	2. Create & Use a specific method to get unique key
Fixed with solution 2 which is more clean.

--

It also fix an invisible 'bug':
Saving a page being in menu would cause the menu's URL to get it's trailing '/'
to be removed. It was only a problem when you were getting the warning about
dependencies (the menu wouldn't be recognized as dependencies because of the
removed '/')
2017-10-12 16:20:42 +02:00
rde 7692f52ad5 [FIX] website: page url were not checked anymore for uniqueness
Before this commit, if you created 2 pages with the same name/url it could
create both the pages with the same url.

Now, like before, it is correctly adding a suffix (eg '-1') when you create a
page with an URL already taken
2017-10-12 16:20:42 +02:00
rde 553e24ccd1 [IMP] website: button to easily back to page manager from form view
Before this commit:
When you were on the page manager and you were editing a website.page's
content, it would redirect you to the website.page's ir.ui.view's form view in
the backend.
From there, you would'nt have an easy way to get back to the page manager:
your only option was to go to the website module and click on 'go to website'
and then click on menu/manage pages.
It was not convenient when you were editing multiple page quickly or just
taking a look into some pages.

Now, you have a button on the ir.ui.view's form view to get directly on the page
manager.

Note: this back button is obviously invisible for ir.ui.view not related to a
website.page
2017-10-12 16:20:42 +02:00
rde 3549078ef4 [REF] website: function inverse on computed field is_homepage
Before this commit, we were using data[] array from json call to write on
website model accordingly of is_homepage value.

Now, we use the newly created inverse function of the computed field to handle
that to make it more clear
2017-10-12 16:20:42 +02:00
rde cd6c898643 [FIX] website_sale_options: public user can't add item to cart
Before this commit, clicking on add to cart as a public user* would throw an
error because it would access uom.name on which public user has no right.
*From the product page (/shop/product/xxx) having an optional product, the
access error is really on the optional product.

Now, we allow user to read name with sudo().
2017-10-12 16:20:42 +02:00
rde c400789d6e [FIX] website_sale_stock(_option): prevent negative stock & traceback
Before this commit, multiple tabs/session adding items to cart  could lead to
negative stock displayed in the quantity field.
In some case, it could throw a traceback because the wanted product had
became unavailable in the meantime, causing the cart to be updated and the
line to be deleted from the cart. But then, this line was being accessed again.

Now, negative values are prevented at the screen. And there is a check on the
line record to be sure it exists before accessing it.
2017-10-12 16:20:42 +02:00
Géry Debongnie d4cf4374d1 [FIX] web: allow widget many2many_tags to display more than 40 records
Before this commit, the widget many2many_tags only loaded the first 40
records. This was difficult to see, because there were not so many views
with a lot of tags.
2017-10-12 16:15:06 +02:00
Géry Debongnie 66b692a5eb [FIX] web: fix display issue with fieldSelection
When displaying a many2one values, in edit mode, the option did not
properly display some characters.
2017-10-12 16:14:49 +02:00
Géry Debongnie 7d448d57e3 [FIX] web: fix issue with default_get/onchange and one2many
Before this commit, there was a bug when creating a new record which
contains a one2many with an onchange.  The commands sent to the onchange
did not contain the full information.

Here is how you could reproduce the issue: install expense, go to the
expense list view, select the 2 lines, then, in the 'action' menu in the
control panel, choose 'Expense: submit to manager'.  In the new expense
sheet, you could see that there were two lines in the one2many
expense_line_ids.  However, these lines are empty.  The reason is that
the commands sent in the onchange were 2 commands 0, with {} as data.

So, in short, the BasicModel did generate the proper commands, but with
empty data, in the specific case when we have a non empty one2many in a
default_get, then an onchange.

To solve this issue, I had to fix 2 things: the internal data struture
was wrongly updated, and the commands should be generated with all the
data, and not only the changes.
2017-10-12 16:14:47 +02:00
qdp-odoo 945f05a310 [FIX] account: copy=False on account.move.line's payment_id field. 2017-10-12 16:14:40 +02:00
Josse Colpaert 055c03e899 [IMP] stock: no danger decorator for receipt
When a stock move is in reception, we don't want to color in red the
move in the picking as the reservation will always succeed.
2017-10-12 15:40:07 +02:00
Laurent Smet b44a482c53 [FIX] account: fix session.currencies in reconciliation js tests
In the JS tests environment for the reconciliation widget, session.currencies is missing.
Then, it causes some troubles for 2f3b469dee
2017-10-12 15:25:41 +02:00
Xavier Morel db0cb1b092 [FIX] doc: various
* fix Sphinx 1.6 compatibility leading to the "tiles" on the home page
  not working anymore: 1.6 replaces BuildEnvironment.reolve_toctree by
  TocTree().resolve(), while the method still exists it's not actually
  called anymore
* rejigger some CSS as the second section went from one big tile to 3
  smaller tiles, and got laid out as a row rather than a second 2x2
  block. Recode the entire mess with flexbox, remove some stuff which
  conflicted with boostrap (this screen should probably be
  de-boostrapped and completely converted to flexbox or grid)
* add building CSS from LESS to the makefile, all Odoo devs should
  have less installed locally (for assets)
2017-10-12 15:11:26 +02:00
Raphael Collet ebd8206555 [10.0][FIX] pos_cache: unable to refresh cache in a multi-company context 2017-10-12 14:51:49 +02:00
Martin Trigaux ae9ed02f38 [I18N] remove fuzzy Portuguese translations
Was leading to errors with missing %s
opw-776243
2017-10-12 14:09:12 +02:00
qdp-odoo 8c8af672dd [FIX] account: removed deprecated-and-broken menuitem 2017-10-12 13:59:42 +02:00
qsm-odoo 03ef19e40c [FIX] web, hr_timesheet_sheet: make m2o friendly-usable outside of views
Before this commit, m2o external button was always floating outside the
m2o main DOM element, on the right. This induced problems when using the
m2o outside of views (like in Odoo Studio). Now, the m2o design is made
so that this button is inside the m2o, except in form views where we
expect the button to overflow in the tables' right paddings.
2017-10-12 13:39:17 +02:00
qsm-odoo e3dd0dee42 [FIX] web_editor: restore iframe editor code view mode
Broken since https://github.com/odoo/odoo/commit/2972976962617d4b8a0113bae58c640ab41cdff8
2017-10-12 13:33:25 +02:00
qsm-odoo c1156915c1 [FIX] website: load xml dependencies of website.prompt
The deprecated-but-still-used website.prompt requires some static XML
to be loaded to work. In the case of creating a new website page, this
XML was implicitely loaded by the "Content" menu... but when the user
is on a translated page, this menu is not there. Anyway, this static
XML loading should be done by the website.prompt function itself if
necessary.
2017-10-12 13:31:36 +02:00
Carlos Dauden 40d4cdd39f [FIX] account: Field total_invoiced in res.partner doesn't include archived children 2017-10-12 13:20:57 +02:00
Nicolas Martinelli 179de9b55f [FIX] sale: layout sequence
- Create 2 companies A & B (not linked)
- Create a user Demo allowed in both companies
- Create a Sale Layout Category ('TEST')
- In company A, create a SO and add 'TEST' to the line
- Switch to company B, create a SO and add 'TEST' to the line
- In the Sale Layout Category, change the sequence of 'TEST'

An access error appears.

On a SO, `layout_category_sequence` is a stored related. It means that
when we change the sequence of the layout, all SO are updated, including
the SO to which we don't have access (in this case, the SO of company A,
since our user has switched to company B).

While it seems that `layout_category_sequence` was intended to be used
in order to keep the historic value of the sequence, this is not the
actual behavior. Indeed, the method `order_lines_layouted` uses the SO
lines in their original order, which doesn't use
`layout_category_sequence`.

In summary, this related field causing an access error is never used.

opw-774787
2017-10-12 13:02:33 +02:00
Yenthe V.G df124080b6 [FIX] web_calendar: Instantiate moment correctly
Without instantiating the moment it will throw errors to some users.
Desired behavior after PR is merged: No longer undefined errors for end users
Fixes #18994
Fixes #18618
2017-10-12 12:33:11 +02:00