- May 28, 2018
-
-
Lucas Perais (lpe) authored
Have a decorated (conditional on field) editable list, with a default_order. Have more records than the pager allows. Add an item, and hit escape to cancel addition. Before this commit, the cancellation crashed because the first record on the other page was trying to evaluate the decoration for its row, which is wrong in the first place. This was because creating a record increases the limit of the list, to be able to see the record being created. At cancellation though, that limit was never decreased. After this commit, the whole flow happens without problem. OPW 1844495 closes #24682
-
- May 27, 2018
-
-
Odoo Translation Bot authored
-
- May 25, 2018
-
-
Fabien Meghazi authored
Before this patch, early connections made to a 11.0 Odoo server running on Python 3 and deployed in threaded mode with socket activation would generate invalid registries. With this patch it is now possible, when this deployment mode is used, to opt-out addons preload by setting the following environment variable: ODOO_PRELOAD_ADDONS=no Note: this environment variable is only available for v11.0 as later versions does not preload anymore (cf: 1a39c9b)
-
Nicolas Lempereur authored
Since 953a693d link not corresponding to a route are tought multilang by default. Thus in the mass mailing, if the user had not the default language on the website he would have eg. a /fr_FR/unsubscribe_from_list placeholder in the mail. The placeholder is replaced by a real link pinpointing to the items the given person would unsubscribe to, but having /fr_FR/ part prevented that. With this PR, there is a dummy route so /unsubscribe_from_list is explicitely known as not multilang. opw-1850696 closes #24912 Co-authored-by:
Goffin Simon <sig@odoo.com>
-
Christophe Simonis authored
-
Aaron Bohy authored
Let's assume the following scenario in a Kanban view with a default filter. The user removes the filter, and quickly adds a new one. On a slow network, it may happen that the second reload request returns before the first one. On odoo.com, this is easy to reproduce on the tasks Kanban view. Before this rev., when this occured, the result of the first request was displayed, whereas it should have been ignored as another request was done later on.
-
- May 24, 2018
-
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
commit a3ab33f2 introduced invalid code
-
LofbergValentin authored
closes #1800442 Purpose ======= Odoo sessions are expired when no action has been triggered for the last 7 days. For kiosk mode, this doesn’t make sense. It means that once a week, a person with the rights to the employee under kiosk mode, has to come to the screen and log in again. Specification ============= Trigger an action to keep the Odoo session alive.
-
Christophe Simonis authored
-
Goffin Simon authored
To avoid a division by zero. Courtesy of @tbe-odoo opw:1850023
-
Jérome Maes authored
product.product inheritS from product.template, and they both define the 'standard_price' field, but implement it differently; - product: the field is a company dependent one (so non stored) - template: the field is a computed one based on tis variants For the first case, since the field is not stored in database, when doing SQL query, we have to get the value from the table ir_property. That is what purchase report does, but instead of searching on resource 'product.product', it does it on 'product.template'. There are obviously no entries in ir_property table for 'standard_price' field on product template. As consequence, the "product value" (cost) is always null in purchase reporting. This commit fixes that by modifying SQL query to get the good value from ir_property table.
-
Yannick Tivisse authored
This is a backport of commit https://github.com/odoo/odoo/commit/2f15a5fa647d55df36c9019df467802a3aa9b4e3 Purpose ======= Add the possibility to create private addresses, only accessible for a subset of users. Specification ============= - Add a new 'Private' partner type - Add a res.groups in base 'Access to Private Addresses' - Add ir.rules for the following behavior: - Every employees/internal users can read non-private addresses - Only users in group_private_addresses can access private addresses - Add in base a simplified form view for private addresses The following points won't be backported: - A HR Officer is automatically granted in group_private_addresses - Use the simplified form view to open the address_home_id form on employees That's because it requires to update 'base' to make it work. If a user only update 'hr', this will break his instance while 'base' isn't updated. But these modifications can be applied manually quite easily.
-
Rémi Rahir authored
-
Goffin Simon authored
When installing the website with a lang different than the one set on the user, the button unsubscribe in the mass mailing snippets didn't work because the unsubscribe link contains the code of the language. The function send_get_email_dict in model mail.mail didn't expect this behavior and so couldn't set the right unsubscribe link in the mail. opw:1850696
-
- May 23, 2018
-
-
Joren Van Onder authored
Stable version of 65a589eb (reverted at 935043dd) that doesn't cause the following errors: odoo.modules.graph: module website_quote: Unmet dependencies: sale_payment on existing databases without sale_payment installed. A downside of this approach is that sale_payment can be uninstalled without uninstalling website_quote. Adding an uninstall_hook to sale_payment could solve that, but it wouldn't warn the user website_quote would be removed in the "Uninstall module" wizard. Keeping in mind this is only a temporary hack for stable, keeping sale_payment installed in this case shouldn't cause any issues. opw-1847977
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
Followup of 4e71bd5c
-
Josse Colpaert authored
In a warehouse, mostly most of the products have no lot. It stays important however to avoid having old products in stock, certainly if we can distinguish them by pack or location. As now in stable, in_date is not put on the quant for non-tracked products, databases might mix quants with and without in_date of the same product. We should see those without in_date as the oldest. That is why we need to be able to apply a ASC NULLS FIRST (ASC is NULLS LAST by default) for FIFO or DESC NULLS LAST for LIFO. In order to do that, we copied the code from the _search method of the ORM to be able to do this special order as the orm itself is restrictive as it supposes the order itself has no spaces. We adapted and added some tests to check it handles the combination of NULL/NOT NULL well.
-
Nicolas Martinelli authored
- Set up as a shipper with the highest priority one which will cause an error (e.g. service not available for customer address) - Order a product on eCommerce, go to Payment page Nothing prevents to click on the 'Pay Now' button, although the shipper rating has failed. Moreover, the error is not displayed in the label of the shipper. Workaround: we force a click on the selected default shipper to trigger the update. The good solution would probably be to have a completely dynamic shipper rating integration, instead of some processing at first rendering and then extra dynamic processing. opw-1838765
-
Goffin Simon authored
When clicking on button "Invoices" from a payment, it always displayed the supplier views instead of taking care about the type of the payment. opw:1849397
-
Alexandre Kühn authored
Revision on 8ac98fc7 The commit above does not check whether the list contains data or not. As a result, if there are no data in the list, there is no reason to fetch `name_gets`. In fact, there could be a traceback because some parameters of this rpc are computed from data in the list. So if there are no data in the list, the parameters of the rpc are undefined. This was the case for a test in enterprise.
-
Alexandre Kühn authored
Revision on https://github.com/odoo/odoo/commit/9a9da5763b38a3bce54e9c4870af0032e38cacc3 The intent of the commit above was to no abandon records in a list on discard when these records have been created from a `default_get`. Also, the `default_get` may also perform an `onchange` that could create more records. The records from this `onchange` must also be included in the "do not abandon" rule. However, the rule was too relax, so that any following `onchanges` from a user interaction was also considered into this rule. As a result, it was not possible to abandon such records. With this fix, we restrict the rule to `default_get` (already the case) and only the `onchange` right after a `default_get`. Any record created on an `onchange` from a user interaction after a `default_get` should be abandoned on discard. Representation of creating the list: savepoint |----------|-----------|-------||--------|-------> create default_get onchange1 onchange2 record in the list is created by default_get or onchange1 => do not abandon on discard record in the list is created by onchange2 => abandon on discard
-
len-odoo authored
When seeing the work orders view, it would display an empty black box instead of the proper message. The message is not displaed since creation is deactivated. opw 1839001
-
Lucas Perais (lpe) authored
Have a delivery for a client, with pack operations Connect on this user's portal Go on the SO and then on the delivery Before this commit, there was an Error 500 because access to fields of pack_operations was forbidden After this commit, the report downloads well OPW 1849520 closes #24849
-
David authored
Before this commit, if you enable website_form_enable_metadata, that will crash with a "KeyError: 'meta'" This commit closes #24848
-
len-odoo authored
datetime.date(year, month, day).weekday() is undefined for year > 9999. When creating a google recurrent event that is set to never end, Odoo tries to create 100 individual events. If in Google calendar the user sets a recurring event to a custom interval, of say a century, then the hundredth event is in 100x100 years, so in 12018. Since 12018 > 9999, we get a traceback and synchronisation never happens. opw 1845311
-
Adrian Torres authored
No dependency change in stable version, instead, an installation hook should be used. This reverts commit e9e0f4af.
-
Ivan Yelizariev authored
The module uses web_settings_dashboard, but doesn't have it in dependency
-
Josse Colpaert authored
- Create the following BOM structure: ``` Prod 1 (Manufacture) | --- Prod 2 Prod 3 (Kit) | --- Prod 4 Prod 5 ``` - The BOMs for Prod 1 & 3 must have a routing set, to generate workorders - Create a MO for 1 unit of Prod 1, process to the end 2 units of Prod 1 are created instead of 1. This is due to the WO for Prod 3 not having a `next_work_order_id`. Therefore, `record_production` adds an extra quantity at: ``` production_move.quantity_done += self.qty_producing ``` To prevent this, we set as `next_work_order_id` of the BOM of Prod 3 the WO of Prod 1. Closes #19527 opw-1817398
-
- May 22, 2018
-
-
Christophe Simonis authored
When an header contains surrogates, an Header object is returned when read headers from Message objects. Also, correctly join header parts in python3.
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Christophe Simonis authored
-
Randall Castro authored
[FIX] l10n_cr: adapt state code Change res.country.state code to follow ISO 3166-2:CR https://www.iso.org/obp/ui/#iso:code:3166:CR Backport asked at #24673
-