- Dec 04, 2017
-
-
Adrian Torres authored
When doing a group_by in a tree view, and then ordering by an aggregated field which contains at least one capital letter in its name, you will get an error and won't be able to ordery by this field. Why? read_group is called when sorting a group by, which calls _read_group_raw which then goes to call _read_group_prepare, which will return order by terms in this manner ['id asc', 'x_Test desc'] the problem with this is that postgres automatically converts non-quoted/non-qualified column name to lowercase, of course this means that if we have a field "x_Test" but no field "x_test", it will try to look up "x_test" instead of "x_Test" and since the column doesn't exist, it will throw a ProgrammingError. This commit changes this behavior by wrapping the order_by terms generated in _read_group_prepare with double quotes, which postgres interprets correctly. Fixes #21348 Cherry-Pick of c338e24e as previous forward-port has been badly done...
-
Christophe Simonis authored
-
Josse Colpaert authored
When updating the quantity of an MO, the qty we are producing on a work order should possibly be updated. When the finished product is tracked by serial number it should be 1.0 when some quantity is still to be treated. (and not 0 as before) opw-785190
-
Adrian Torres authored
When doing a group_by in a tree view, and then ordering by an aggregated field which contains at least one capital letter in its name, you will get an error and won't be able to ordery by this field. Why? read_group is called when sorting a group by, which calls _read_group_raw which then goes to call _read_group_prepare, which will return order by terms in this manner ['id asc', 'x_Test desc'] the problem with this is that postgres automatically converts non-quoted/non-qualified column name to lowercase, of course this means that if we have a field "x_Test" but no field "x_test", it will try to look up "x_test" instead of "x_Test" and since the column doesn't exist, it will throw a ProgrammingError. This commit changes this behavior by wrapping the order_by terms generated in _read_group_prepare with double quotes, which postgres interprets correctly. Fixes #21348
-
Lucas Perais (lpe) authored
Before this commit, when a product category had a similar name than an other e.g. ALL / Exp and ALL / Expenses When entering the list view of its products, it displayed the product linked to the category with the similar name e.g. When opening ALL/Exp products list, it displayed its products **plus** the products of ALL/Expenses After this commit the list view just contains the active category's products OPW 782905
-
Lucas Perais (lpe) authored
Before this commit, the smart button on the form of product category only displayed the number of product for the current category, whereas the list view of products (when you clicked on the smart button) displayed all sub-categories products. After this commit, the behavior is harmonized: all sub-categories products should be accounted for and displayed OPW 782905
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Lucas Perais (lpe) authored
Before this commit, when editing the shipping id of a partner having a company_id, an Error 500 was thrown because of recursive hierarchies. On top of that, since no employees should be able to modify its company's address, we hide the dit button in that case BUT we display addresses type=other (the one that a child of a company has anyway) meaning that the billing address appears also as a shipping one. OPW 782524
-
Nicolas Martinelli authored
Mixing positive and negative values in a pie chart is not possible. However, in this case, a crash occurs instead of displaying an error message. opw-786137
-
Nicolas Martinelli authored
Archive the associated analytic account when a project is archived. Once a porject is archived, it is assumed that we don't want to use the analytic account anymore. Moreover, it might be tempting for a user to delete these "useless" analytic accounts, and therefore it would delete the archived projects and tasks without notification. Closes #21224 opw-784685
-
Lucas Perais (lpe) authored
Let's have: - on res.company a binary file field named x_file - on res.users a related binary field to company_id.x_file, and make it readonly On the res.users form view, display the new field Before this commit in create mode, upon clicking on download the file, the server crashed, because the record id was empty. Then, the JS crashed in turn because of the unhandled 404 from the server. Since the id of a new record will always be unset, we choose to disable the download event in this very specific case OPW 777042
-
Christophe Simonis authored
-
qsm-odoo authored
/!\ This commit *must* be "forced" forward-ported /!\ Recent commit(s) broke existing databases making website videos disappear / not be saved / ... Original code was broken then fixed by a succession of commits which solved some errors to create new ones. Hopefully, this one is the right stable one. Existing databases should be restored while allowing new videos to be added correctly no matter the version. In master, a solution must be found to smoothly migrate old videos to a new better system. See: https://github.com/odoo/odoo/commit/8749410b1033ddec1207ce1db42d1889a0d2ea33 https://github.com/odoo/odoo/commit/45e0cd564afdae71e9525193250744e88076da71 https://github.com/odoo/odoo/commit/6d2bf44fee76a8b73ebad206cd7a283c88b6c4ef (opw-783233) opw-786165
-
Alex authored
Closes #21387
-
Luc De Meyer authored
default_get expects ids, not recordset (e.g. called by webclient) Closes #21358
-
Maximilien Tantin authored
Log In and Sign Up was not translatable Closes #21333
-
Adrien Dieudonne authored
Before this commit, it was not possible to save a page containing a snippet with a SVG tag. To support SVG elements, we need to use 'Element.getAttribute' and 'Element.setAttribute' as mentionned in the documentation: https://developer.mozilla.org/en-US/docs/Web/API/Element/className For more information, see GH-14485
-
Nicolas Martinelli authored
- Create 2 FPos (1 & 2) - Create 3 customers: Customer A has no FPos Customer B has FPos 1 Customer C has FPos 2 - Set-up the POS so that FPos 1 is the default FPos (FPos 2 is not accepted in the POS) Issue 1 - Select Customer A The FPos is set to blank, while one would expect to keep the default FPos. Issue 2 - Select Customer B - Deselect Customer B The FPos is set to blank, while one would expect to keep the default FPos (as it was before selecting B). Issue 3 - Select Customer C The FPos is set to blank, while one would expect to keep the default FPos since his FPos is not accepted. opw-782855
-
- Dec 03, 2017
-
-
Odoo Translation Bot authored
-
- Dec 01, 2017
-
-
Adrian Torres authored
Commit 763d714f introduced cron job locking for databases which had modules with states set to 'to x', however if an installation/uninstallation/upgrade fails, the state will stay at 'to x', and it may stay in that state for an indefinite amount of time, meaning that cron jobs could stay locked forever. This commit fixes this in part by adding a cleanup function to loading.py that will be executed whenever load_modules fails, the function will change every 'to x' module to their original state, effectively unlocking the execution of cron jobs. This however only works to prevent "zombie" transient states for brand new databases, however for existing databases which already contain some modules in a zombie state it won't do anything unless a module is installed/uninstalled/upgraded, which may never happen. This is where the second part comes in (ir_cron.py), when failing to execute crons, we check if the failure was due to bad module state and if an arbitrary amount of time (5 hours as of this commit) has passed since the last time it was supposed to be executed, if it is the case, it means that the cron execution failed around 5 * 60 times (1 failure per minute for 5h) in which case we assume that the crons are stuck because the db has zombie states and we force a call to reset_module_states.
-
David Vidal authored
Was added at 78014ff3 Closes #21372
-
Odoo Translation Bot authored
-
- Nov 30, 2017
-
-
Christophe Simonis authored
-
Thibault Delavallée authored
-
Christophe Simonis authored
-
- Nov 29, 2017
-
-
Danimar Ribeiro authored
This commit closes #14058
-
Jairo Llopis authored
This commit closes #20722
-
Jeremy Kersten authored
At this step, Order is not always confirmed
-
Jeremy Kersten authored
Without this patch, the user will see a button 'create a new page' on the 404 for the controller /event/<event_id>/page/<page>
-
Martin Trigaux authored
Courtesy of Visti Kristensen, IT-konsulent
-
Romain Derie authored
Before this commit: 1. If user wrote text in the quantity field to add to his cart, it would crash and show a server error. Now, if the user insert a non-valid quantity in the field, we set it to 1 Step to reproduce: With website_sale only - Go to a product page on the shop - Insert 'abc' in the quantity field and click 'Add to Cart' - Server will throw an error 'Can't parse float..' With website_sale_options - Go to a product page on the shop - Insert 'abc' in the quantity field and click 'Add to Cart' - Popup confirmation with optional product will show with 'NaN' in the qty - Click 'Proceed to checkout' - Server will throw an error 'Can't parse int..' 2. On the checkout, if user typed text in qty field it would create infinite quotations. Some modules (eg: website_event_sale) would hide this behavior because they override the RPC call to '/shop/cart/update_json' and throw an error on the RPC. Now, if user type incorrect integer quantity, we set the quantity to 1. Step to reproduce: 1. On base (website_sale only) - Add an item to your cart - On checkout page, set qty to 'abcd' or whatever text - Check your browser console, every 500ms their will be a RPC call - Check your quotations in backend, their will be a new one every 500ms 2. On db-all - Add an item to your cart - Set qty to 'abcd' or whatever text - Check your browser console, it will throw an error on the second call This closes #20482, closes #20904
-
Ivan Yelizariev authored
-
Ivan Yelizariev authored
It's needed in phantomjs tests. Without this commit it printed only error stack, which doesn't provide enough information to fix it. This is a problem when the error is not reproduced on running tours manually in browser.
-
- Nov 28, 2017
-
-
Nicolas Martinelli authored
`_check_lock_date` is defined on a `account.move`, while in this case `move` refers to a `stock.move`. We re-implement a logic similar to the original commit 287b2932. Fixes #20913 opw-782395
-
adekock11 authored
Closes #21234
-
adekock11 authored
Done at #21234
-
flyingL123 authored
Fixes #21264 Closes #21266
-
flyingL123 authored
Done at #21266
-
Rémi Rahir authored
Before this commit, one could edit its company_name (char) at will but this has no effect on the actual company name (commercial_partner_id that is a company). Thus once the partner is linked to a company, the information entered in the 'details' form will not be in synch with the details info on the '/my/home' page. After this commit, we only allow edition of the 'Company name' field while the partner doesn't have a company set and display the company name once it is set.
-