- Jun 12, 2018
-
-
Subodh Dahal authored
Done at #22971
-
mehdi-ghezal authored
When updating the qty on a confirmed sale order line, we want the system to add new procurement qty for the cancelled procurements. That way you can leave the cancelled procurements for what they are.
-
Goffin Simon authored
It's a backport for https://github.com/odoo/odoo/commit/b795d69ce8aca2e88182c6d6d6b7af54d536f9dd It also backports this fix https://github.com/odoo/odoo/commit/c49265afa1b0610d52fd356df26491546f1905bf It also fixes #13578
-
- Jun 11, 2018
-
-
Yannick Tivisse authored
This reverts commit 05e91462 while waiting a clear commit message to justify an access right modification in a stable release.
-
Invitu authored
Fixes #10381 (wrong calculation on datetime) if worked hours > 24h, calculation is wrong because "seconds" funtion does not take into account days See: https://docs.python.org/2.4/lib/datetime-timedelta.html total_seconds() should be used instead of seconds function
-
RomainLibert authored
-
Martin trigaux authored
backport to 9.0 as asked at #25185
-
- Jun 08, 2018
-
-
Pedro M. Baeza authored
If you don't define an explicit address type, then the record is not going to be accessible. In the ORM: >>> env['res.partner'].create({'name': 'Test', 'type': False}) res.partner(44356,) >>> env['res.partner'].search([('type', '!=', 'private'), ('id', '=', 44356)]) res.partner() >>> env['res.partner'].search([('type', '=', False), ('id', '=', 44356)]) res.partner(44356,) due to the fact that NULL in the database is undefined and can't be compared to a specific key.
-
- Jun 06, 2018
-
-
Toufik Benjaa authored
- When merging partners with fields restricted to certain groups which the user doesn't belong, an access error is raised. To avoid this, we only merge fields that are accessible by the user. We do so by using the method fields_get() that only returns the fields accessible by the current user.
-
Oliver Laurent authored
Currently when connecting to a smtp server, if no response is returned and no error is raised, the `SMTP()` instantiation method never ends. This PR is inspired by 54a477d7 related to `fetchmail()`. Possibly, a better way exists but it has to change some methods signatures. Closes #24877 opw-1851030
-
Adrian Torres authored
Before this commit: * Module A defines a field X of model M * Module B inherits from model M without touching field X * Module C inherits from model M and extends field X by giving an INDEX / NOT NULL constraint. * Module B and C depend from Module A, but not each other If all three modules are installed and Module B is updated, the INDEX / NOT NULL constraint could be dropped. This happens because Module B can be loaded before Module C is loaded, if that's the case, then after the upgrade of Module B, during the schema checking, we verify that the field object we have and the field on the DB are the same, since Module B doesn't introduce the index then this check is false and we drop the index. When we get to loading Module C, we do not do any schema checking because the module is not marked as `to upgrade`, therefore the index is lost forever. To solve this, we re-init the models that belong to the set of the intersection between upgraded and modified models and loaded and modified models. Fixes #24958
-
Goffin Simon authored
Steps to reproduce: - Enable multi currencies - Make sure that the current rate of a foreign currency (i.e. $) is not 1.0 (i.e. 0.5) - Create a purchasable product with a cost (i.e. 100€) - Create a vendor bill in a foreign currency (i.e. $) - Add the product on the invoice Bug: The unit price was equal to 25$ instead of 50$ Technical reason: The function "_onchange_product_id" was called twice (the second time by function "_onchange_uom_id") and the price unit was converted twice in the currency of the vendor bill. The idea of this fix is to only convert in the currency when the unit price is set by the system. Fixes #24751 opw:1849212
-
- Jun 05, 2018
-
-
Olivier Colson authored
[FIX] account: dashboard: display latest statement balance for bank and cash journals only if it is different from the balance in GL. The condition to do that was already present, but it wasn't evaluated; the t-if needed to be oustide of the div.
-
Lucas Perais (lpe) authored
Backporting bed33e1c and 472c5a4f from v10.0 OPW 1853150 closes #25043
-
Nicolas Martinelli authored
If the `web.base.url` contains a trailing `/`, the replacement of the `/unsubscribe_from_list` link won't work since the string to replace will be `my_url//unsubscribe_from_list` instead of `my_url/unsubscribe_from_list`. Fixes #24731 opw-1848572
-
- Jun 01, 2018
-
-
Nicolas Lempereur authored
In 11.0, this change e9454e79 solved the use case of: - opening the registration of a ticket - discard => the page must be reloaded to register a ticket A new report is that since 9.0, if we try to register 0 ticket we would also have to reload the page. This commit backports e9454e79 and solves the 0 ticket registration. opw-1851622 closes #24966
-
Odoo Translation Bot authored
-
- May 31, 2018
-
-
Quentin De Paoli authored
Commit https://github.com/odoo/odoo/commit/2eb344f23b3a9daa8e7c7ddaead145a8b05b39bf changed the dependancies of l10n_fr_certification which is not acceptable on stable. Instead, the method to check is now moved in account module (to avoid duplicated) and it is called by l10n_fr_certification and account_lock module.
-
Laurent Smet authored
Module account_lock has been introduced by: https://github.com/odoo/odoo/commit/2eb344f23b3a9daa8e7c7ddaead145a8b05b39bf A new constrains appears on the lock dates: their must not be set after the last day of the previous month. Then, it breaks the test on closed period that set the lock date 'yesterday'.
-
Laurent Smet authored
Was task: https://www.odoo.com/web#id=38178&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720 Was PR #22094
-
- May 30, 2018
-
-
Lucas Perais (lpe) authored
Have a XMLReceipt with the line: <barcode encoding="CODE39">123456789</barcode> Print the receipt. Before this commit, jibbrish characters were printed and also kinda 'broke' the spacing between commands e.g. If you add an EAN13 barcode below the code39 it would have failed to print correctly too After this commit, everything prints correctly OPW 1849284 ref: https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=128 closes #24965
-
- May 28, 2018
-
-
qsm-odoo authored
When a t-field element was in an editable t-ignore environement, modifying it was leaving the edit mode style attached to it. This was because of: 1) When the t-field element was changed, it was marked dirty but also its parent editable container. Fixing this, only solves the case where only the t-field (and not one of its neighbors) is changed but it was worth fixing anyway. 2) Before saving an element, the potential 'o_editable' and summernote classes were not removed of its descendant and were thus saved. Bug found with task-38069, merged in stable as it might occur there too.
-
- May 24, 2018
-
-
Christophe Simonis authored
commit a3ab33f2 introduced invalid code
-
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.
-
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 18, 2018
-
-
Joren Van Onder authored
Mercury can partially approve transactions in case a card does not have enough credit available to cover the full amount. Before this the payment amount was kept as the full purchase amount leading to a difference between what Mercury charged and what Odoo registered as charged. opw-1840946
-
Christophe Simonis authored
-
- May 17, 2018
-
-
Fabien Meghazi authored
This patches fixes the untested and broken draft of inetd and systemd activation support in the threaded server. This patch also fixes the loss of the process environment in the `_reexec()` function when Odoo is respawning during the following events: - SIGHUP signal is received - one click install has been triggered - code reload needed when using `--dev=reload`
-
Lucas Perais (lpe) authored
Make an account move with two move lines. In those lines' label, just hit the space bar, and post your entry. Now, get the FEC report. Before this commit, the EcritureLib field was empty After, it has the value '/' closes #24734
-
- May 16, 2018
-
-
Christophe Simonis authored
Consequence of 19878d01 Backport of fb17edd0
-
- May 15, 2018
-
-
RomainLibert authored
We need to fix a problem with the users where someone might get informations on registrations.
-
Nicolas Lempereur authored
In 9.0, stages of a job position in recruitment are not share by default, there is a "New" stage and existing stages can be added in the form view (since 780f46ae). When creating a job position, the "New" is not working with the given widget type. This commit doesn't show stages in the form view until the record is created. opw-1839217 closes #24706
-
- May 14, 2018
-
-
Christophe Simonis authored
Attribute is different for country and continent objects.
-
Denis Ledoux authored
If the user configures a default `template_id` for the `mail.compose.message`, this template was used by the mass mailing to render the email, and, among others, it therefore used the `email_to` of this email template, to render the recipients, and it was configured empty or something else than `object.id`, it did not used the `active_ids` passed in the context to the `mail.compose.message` `create` call to compute the correct recipients To reproduce: - In developer mode (?debug) - Open the full mail compose message e.g. in app sales, open a so, hit new message, and hit the button to open the full message composer - Set the template to the quotation template is not there already - In the debug menu of the dialog, View > Set defaults, - Click the radio button to all users, and the default to Use template = ... - Then, try to send a mass mailing. It will fail because it cannot compute the `email_to` values correctly because the `email_to` of the quotation template is empty. opw-1840287
-
- May 11, 2018
-
-
Nicolas Lempereur authored
Backport of 57f7c681
-
- May 09, 2018
-
-
Christophe Simonis authored
Some IPs (like google-proxy ones) are not bound to a specific country. Legacy Database used to set country_code to 'EU' for these one. geoip2, on contrary, does not set the country. Read information from `continent` attribute in this case. opw-1844888
-
- May 07, 2018
-
-
Josse Colpaert authored
Steps to reproduce the bug: - Create a SO with 2 lines and confirm it - Set a Customer reference on the SO with "This is, a ref" - Deliver it - Create an invoice from it with all the invoicable lines Bug: The name of the invoice was: "This is, a ref, This is, a ref" Expected behavior: The name of the invoice is: "This is, a ref" opw:1840738
-
xmo-odoo authored
The built-in log rotation is *very* unreliable in a multiprocess context, which can lead to significant data loss (up to hours of log missing) right after rotation[0][1]. Technically, according to the cookbook even filehandler does not support multiprocess logging[2]. Either way, we should at the very least warn that logrotate is a Bad Idea in multi-workers scenario. Ideally we'd just fall back on regular file/stream logging but that likely could & would break existing deployments, so maybe implement that for master instead? Alternatively: implement it properly in multi-worker scenario with only the "root" process actually logging to whatever output was set up, and all workers sending stuff to log to it via a queue or network socket or w/e. [0] https://stackoverflow.com/questions/34186774/why-doesnt-timedrotatingfilehandler-work-properly-and-how-to-solve-this-issuer [1] https://github.com/odoo/odoo/issues/16566 [2] https://docs.python.org/3/howto/logging-cookbook.html#logging-to-a-single-file-from-multiple-processes
-