Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.0 [IMP] product: improve store for field name_template #3277

Closed
wants to merge 5 commits into from

Conversation

lmignon
Copy link
Contributor

@lmignon lmignon commented Oct 24, 2014

Add store to field name_template to avoid unecessary browse and write.
Done by back-porting 2 commits from 8.0 and improving the store declaration to restrict the trigger for product on the field product_tmpl_id

csnauwaert and others added 3 commits October 24, 2014 10:19
bzr revid: csn@openerp.com-20130412130856-3g5e67v2r7y6ep5v
bzr revid: csn@openerp.com-20130415102121-u74t7zd3zct3q3ts
@yvaucher
Copy link
Contributor

👍

@guewen
Copy link
Contributor

guewen commented Nov 27, 2014

The name is translatable so the stored value will potentially be wrong in
all but one language.

@guewen
Copy link
Contributor

guewen commented Nov 28, 2014

The name is translatable so the stored value will potentially be wrong in all but one language.

My remark applies to the existing code too. This trigger is anyway better than store=True as soon as the field is stored.

csnauwaert added a commit that referenced this pull request Dec 3, 2014
Recompute the name_template field if the template changes.

backport of 41628fc + f25c5d8 to 7.0 plus some optimisations in triggers
Fixes #3277
@mart-e
Copy link
Contributor

mart-e commented Dec 3, 2014

Thanks for the patch, it was integrated in 7.0 at d6daf5f

@mart-e mart-e closed this Dec 3, 2014
aab-odoo referenced this pull request in odoo-dev/odoo Dec 11, 2014
Squashed commit of the following:

commit 58104563587ea96f5da1116494b5beb1fe0c043b
Author: Aaron Bohy <aab@odoo.com>
Date:   Fri Dec 5 10:17:53 2014 +0100

    [REF] Packaging: backport of a7ab5a4

commit e10a8c434f188f73cfbfcf6f01d561914c14ae89
Author: Aaron Bohy <aab@odoo.com>
Date:   Mon Dec 8 09:13:17 2014 +0100

    [REF] Packaging: backport of a700a11

commit bcbcf27d06d3bde079ab688043a60048f41d1476
Author: Aaron Bohy <aab@odoo.com>
Date:   Fri Nov 28 16:19:58 2014 +0100

    [REF] Packaging: backport of 9d0bd28

commit fb2e0a027dc5616ca91fdb64d54a093bb052efc7
Author: Simon Lejeune <sle@openerp.com>
Date:   Thu Nov 27 14:29:43 2014 +0100

    [REF] Packaging: backport of b0722d3

commit 3dc10d9015cc29b3c5db3a1af88561762dc3f757
Author: Simon Lejeune <sle@openerp.com>
Date:   Wed Nov 26 21:40:12 2014 +0100

    [REF] Packaging: backport of 24b2c93

commit ceeb6e02006a84944091dd1ae43959b7a04ac343
Author: Aaron Bohy <aab@odoo.com>
Date:   Wed Nov 26 17:45:39 2014 +0100

    [REF] Packaging: backport of e874cda

commit e17cd84ad0ccefba3fe70b0e0523cd506922dc5b
Author: Simon Lejeune <sle@openerp.com>
Date:   Wed Nov 26 15:53:36 2014 +0100

    [REF] Packaging: backport of 56b61da

commit bdaa228e20f0b8aeb8d75e0e2cb082667a336975
Author: Simon Lejeune <sle@openerp.com>
Date:   Wed Nov 26 14:08:05 2014 +0100

    [REF] Packaging: backport of be96dd8

commit a778f3c189b81b15ad5aa6f8fdb646c902c05467
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Nov 25 12:25:01 2014 +0100

    [REF] Packaging: backport of 50a4da9

commit 0dc959c7662ddf9a8b47f92940ceb9b8b85d432d
Author: Aaron Bohy <aab@odoo.com>
Date:   Mon Nov 24 16:24:46 2014 +0100

    [REF] Packaging: backport of 1c41f36

commit dca446408f66f448c29fbf16cae6165f1a97147b
Author: Aaron Bohy <aab@odoo.com>
Date:   Fri Nov 21 13:40:17 2014 +0100

    [REF] Packaging: backport of cc11331

commit 5c5adf75d4b0ddeac9f0072be890fb5f74b10036
Author: Simon Lejeune <sle@openerp.com>
Date:   Mon Nov 10 12:05:14 2014 +0100

    [FIX] Packaging: backport of 1347163

commit ffe002603fa6c4f7b7083fa211e0cd909b509ec6
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Nov 4 10:45:58 2014 +0100

    [FIX] packaging: debian: use python2.7; tgz & rpm: make it work
    [FIX] packaging: debian: set /var/lib/odoo as odoo user home dir

commit bd1c3b5b6e5181965640a1abf966bf21f126f3e5
Author: Simon Lejeune <sle@openerp.com>
Date:   Thu Oct 9 18:03:26 2014 +0200

    [FIX] packaging: include RML & xsl in manifest.in

commit a3ae3c0849177f16921e1485698a545c96cf9319
Author: Simon Lejeune <sle@openerp.com>
Date:   Fri Oct 3 21:03:38 2014 +0200

    [REF] Package: backport of 93845d6

    [FIX] Package: split the version to not include the latest commit's hash included by the package script

commit 5cb8b0a33d5011bee3f0c0d71f6a71a789fa1bff
Author: Simon Lejeune <sle@openerp.com>
Date:   Fri Oct 3 21:02:51 2014 +0200

    [REF] Package: backport of 012bc01

    [FIX] Package: Debian: finally a correct Packages generation

commit f399edd8c671576c0ffb08278201f8497a93589d
Author: Simon Lejeune <sle@openerp.com>
Date:   Fri Oct 3 20:59:57 2014 +0200

    [FIX] Package: partial apply of d9e72a3

commit cfd56fbbf739df73a70183300c926fb5397e235c
Author: Simon Lejeune <sle@openerp.com>
Date:   Wed Sep 3 17:37:39 2014 +0200

    [FIX] Packaging: local configuration to build a v7 version

    Note: please do not forwardport this commit

commit 102519a4aeb9e683905cd0b8c9ac453590fbb9c6
Author: Simon Lejeune <sle@openerp.com>
Date:   Wed Sep 3 14:03:38 2014 +0200

    [REF] Package: backport of 67036fe

    [FIX] Windows packaging: AGPL license

commit 70d8200dc4d875f011d8768e7b90d07c3ea3769f
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 17:25:18 2014 +0200

    [REF] Package: backport of 73de013

    [FIX] Windows packaging: correct Makefile.version writing and remove useless lib installation

commit 6b5ee740517dd832c5d9aa87740ccb6c73e81174
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 14:05:43 2014 +0200

    [REF] Package: backport of 30d987e

    [REF] Package.py: refactoring including cleanup, lint, and use of docker to test unix releases

commit 3ac189565366758a2745cb6e1b7a6116074e8eaf
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 14:02:37 2014 +0200

    [REF] Package: backport of 2913266

    [REF][FIX]: Windows packaging: lint, cleanup and make it work

    setup.nsi: make it build and use postgresql 9.3
    win32_se*: lint and simplified
    Makefile: only one mode

commit 256e5288dea1905ef0e470556cf24177a9ee9bc0
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 12:34:49 2014 +0200

    [REF] Package: backport of 7db12dc

    [ADD] RedHat: defined the dependencies and added a post-install script to create the odoo user, the odoo configuration file, ...

commit 8a46d548befffb982796d2e13b65d67e37b7eb23
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 12:19:28 2014 +0200

    [REF] Package: backport of f668f9c

    [FIX] Debian: updated informations and dependencies, refactored debhelpers scripts to allow easy name change, simplified debhelper rules

    Conflicts:
    	debian/control
    	debian/postrm

commit b2435840c1787347d11c1c0c1b67aa87ac099859
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 12:06:39 2014 +0200

    [REF] Package: backport of 2cf4051

    [REF] Debian: renamed debhelpers scripts to not contain openerp in their filenames anymore, removed run_all_with_tests.sh script

commit 4cafddb6dfd9a805f915f06de592f52814335dcc
Author: Simon Lejeune <sle@openerp.com>
Date:   Tue Sep 2 11:29:14 2014 +0200

    [REF] Packaging: backport of 7359248

    [REF] setup: cleanup and linting of setup.py, reworked MANIFEST, added requirements.txt

commit 727490ebd1389c17d9d264ad1839bc8dbf6f2869
Author: Simon Lejeune <sle@openerp.com>
Date:   Mon Sep 1 18:28:31 2014 +0200

    [REF] Packaging: backport of f2598ec

    [REF] Packaging: moved all the windows-related files into an unique win32 directory + cleanup

    Conflicts:
    	setup/setup_rpm.sh

commit db9243e8d8ea0cbeadc15429a72a6e2e9d09097d
Author: Antony Lesuisse <al@openerp.com>
Date:   Mon Jun 23 12:37:07 2014 +0200

    [REF] Package: backport of fd21912

    [FIX] move back setup to root

commit e27112435c0e1224a7f5075c8425518b5a97c48f
Author: Nicolas Bessi <nicolas.bessi@camptocamp.com>
Date:   Fri Jun 6 09:08:03 2014 +0200

    [REF] Package: backport of 9a8cdf4

    Move setup.py in previous root in order not to break community tools based on it.
    It should not causes any trouble as it is not used in odoo.py

commit d228df6e707c4a6efc3626e3c44f9ba5162cadbf
Author: Antony Lesuisse <al@openerp.com>
Date:   Fri May 30 01:52:07 2014 +0200

    [REF] Package: backport of 2f4984b

    [IMP] packaging v8 part1, tgz deb and rpm

    Conflicts:
    	README.md
    	setup/MANIFEST.in
    	setup/openerp-server.1

commit dadb6d1ee949d5ec5a5f79eed565edc84882a24d
Author: Antony Lesuisse <lesuisse@gmail.com>
Date:   Thu May 29 18:51:59 2014 +0200

    [REF] Package: backport of 6e9edee

    [FIX] odoo.py setup deps and readme.md

    Conflicts:
    	README.md
    	doc/git.rst
    	odoo.py
    	setup.py
    	setup/debian/control

commit 0de6232624754ca717c7e08ce4d452ab9b49d402
Author: Antony Lesuisse <lesuisse@gmail.com>
Date:   Thu May 29 18:33:04 2014 +0200

    [REF] Package: partial backport of d4624fa

    [IMP] repository cleanup

    - move packaging stuff to setup
    - remove historical stuff
    - remove oe, odoo-cmd-fme will be merged with the convered commands
    - add an odoo.py script to run odo and boostrap it
    - simplify README
    - prepare to move documentation to the github wiki

commit 77c4dcafbf16626ace24d770d8acf5b248b681d8
Author: Дмитро Катюха <Dmytro.Katyukha@jbm.com.ua>
Date:   Mon May 19 12:45:47 2014 +0300

    [REF] Package: backport of 9f13722

    Added openerp-gevent and oe to 'scripts' section in setup.py

commit 9f9e7ef
Author: Denis Ledoux <dle@odoo.com>
Date:   Tue Dec 9 12:40:32 2014 +0100

    [FIX] web: user lang has the priority on partner lang

    Potentialy, the timezone too.

    On item action click (such as menus in More.. and Print..), the data in form view had the priority on user context (through the sidebar_eval_context)

    Therefore, if a field "lang" was present in the form view (like in partner form), the web/action/load xmlrpc call was using the partner language instead of the user language.

    Example of wrong use case before the fix:
     - Set the user language in French, then go to a partner form of a partner with English set as language
      - Click on any button of the partner form, such as the "Invoices" button, notice that the last item of the breadcrumb is in English, instead of Frenh (the user language)
      - Click on any menu opening a wizard in the More.. dropdown menu, notice that the wizard title is in English instead of French
      - Print any report from the Print dropdown menu, notice that the report file name is in English. If you print the same report for the same partner but from the list view, the report file name is in French.

commit eba1c56
Author: Denis Ledoux <dle@odoo.com>
Date:   Mon Dec 8 15:33:43 2014 +0100

    [FIX] web: ensure one2many field destruction on button cancel

    The destruction of one2many fields is forced with the event change:effective_readonly
    This revision add the forced destruction for cancel(discard) button as well

    Otherwise, one2many fields are not properly destroyed when hitting the button "discard" (from save or discard).
    This can be problematic for one2many editable list views (such as invoice lines) if you discard while having a mandatory field not filled in the invoice line: You can't recreate an invoice, the one2many editable list is messed up

    Use case: Create an invoice, create a line, leave the description, required field, empty. Then, discard. Then, click on create.

    opw-616946

commit 284ca73
Author: Denis Ledoux <dle@odoo.com>
Date:   Mon Dec 8 14:46:11 2014 +0100

    [FIX] pad: etherpad limits pad id length to 50

    See ether/etherpad-lite#1116

commit aa10972
Author: Sandy Carter <sandy.carter@savoirfairelinux.com>
Date:   Tue Nov 18 09:33:47 2014 -0500

    Raise error on read of a browse object with bad id

    Check if id is valid by searching record columns when a key error is raised
    If the record has the column, the key error is actually an error on a
    missing or inaccessible id.

    Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>

    Closes odoo#3658

commit 6629729
Author: Denis Ledoux <dle@odoo.com>
Date:   Thu Dec 4 11:34:42 2014 +0100

    [FIX] account_analytic_analysis: tree fields access rights

    Add invoicing related fields on anlytic account tree view for the invoicing group only
    Otherwise, when a user not having the invoicing access rights displays the analytic account list, he gets an access right error.

    opw-619485

commit d6daf5f
Author: Cedric Snauwaert <csn@openerp.com>
Date:   Fri Apr 12 15:08:56 2013 +0200

    [FIX] product: add store=dict to field name_template

    Recompute the name_template field if the template changes.

    backport of 41628fc + f25c5d8 to 7.0 plus some optimisations in triggers
    Fixes #3277

commit a765876
Author: Martin Trigaux <mat@odoo.com>
Date:   Wed Dec 3 14:57:56 2014 +0100

    [IMP] web: do not fully hide pager in grouped view

    When the list view is grouped, the page count should be hidden as irrelevant.
    However if it's fully hidden, the limit can no longer be changed.
    Instead of hidding the pager, this commit hides the arrows and replaces
    the content by the current limit to allow to be changed.

commit bc2a52f
Author: Benoit Guillot <benoit.guillot@akretion.com>
Date:   Mon Dec 1 13:13:51 2014 +0100

    [IMP] mrp: add prepare method for manufacturing orders to allow override

    Fixes odoo#3973

commit 5f9280e
Author: Julien Legros <jle@odoo.com>
Date:   Fri Nov 28 13:45:11 2014 +0100

    [ADD] purchase: average price computation test

commit bfadcdd
Author: Julien Legros <jle@odoo.com>
Date:   Fri Nov 28 13:39:37 2014 +0100

    [FIX] stock: compute average price on action_done

    The average price computation is now deduplicated and moved to
    a separate function called in stock_move action_done.
    This makes sure it is always called when a stock.move is
    processed, even without going through the partial picking wizard.

    Fixes #2991
    Closes odoo#3949
    OPW-615491

commit 13d0934
Author: vrenaville <vincent.renaville@camptocamp.com>
Date:   Fri Nov 28 14:01:50 2014 +0100

    [FIX] account: chart of account opening period selection

    If a special period is present, it must be selected fist
    Fixes odoo#3946

commit 419d934
Author: Eddy Ernesto del Valle Pino <eddy@merchise.org>
Date:   Thu Nov 20 13:38:40 2014 -0500

    [FIX] base_calendar: meetings email notification recipients

    Reminder emails are generated based on the list of attendees.
    The email_to field used to be a string with a list of emails separated by spaces
    while the comma is the valid separator (RFC2822).
    Fixes odoo#3933 odoo#3784 #2033

commit 29f895f
Author: Géry Debongnie <ged@odoo.com>
Date:   Mon Dec 1 10:29:00 2014 +0100

    [FIX] fix editing one2many in some cases (web)

    See issue odoo#3964 for more detail.  Main problem was caused by commit
    f0e331e.  It set the key name+'__display' to false when reloading
    a record for all field types, but it was only concerned with many2many.

commit cdce2e2
Author: Loïc Bellier <lb@numerigraphe.com>
Date:   Fri Oct 31 15:07:08 2014 +0100

    [FIX] stock: Never hide the invoice control on pickings

    Invoice control field was invisible, and we cannot change value if none selected or copy picking in.
    Fixes odoo#3636

commit de07c64
Author: Andrius Preimantas <andrius@versada.lt>
Date:   Fri Nov 28 11:39:36 2014 +0100

    [FIX] base: delete parent partner reset use_parent_address

    When deleting a partner with some contacts, if the contacts had selected
    the "use parent address" checkbox, the address of the contacts was stucked in
    readonly mode (no checkbox to disable it).
    Disable use_parent_address for orphan partners.

    Fixes odoo#3611 odoo#3613

commit fc85a7e
Author: Olivier Dony <odo@openerp.com>
Date:   Thu Nov 27 12:36:28 2014 +0100

    [FIX] product: remove unnecessary UoM rounding step, add missing test

    Remove the intermediate rounding inside _compute_qty(), as it
    is not necessary after rev. fa2f7b8 and has undesired side-effects.

    An extra float_round() operation inside _compute_qty()
    had been added at rev. 311c77b to avoid a float representation
    error in UoM factors that could bias the ceiling() operation
    done as the last conversion step.

    Example 1:
    Dozen has a factor of 1/12, which was previously stored in the
    database with a decimal accuracy of 12 significant decimal digits.
    This meant the factor was exactly stored as 0.08333333333333.
    When reading this back into a Python float, the precision was not
    sufficient, and the UoM conversion of 1 Dozen to Units gave a
    result of 12.00000000000047961...
    After the final ceiling() operation to Unit's rounding, the
    converted value ended up as 13.

    This problem was initially solved using an extra rounding.

    However at revision fa2f7b8 the decimal precision used to store
    UoM factors was increased to preserve all significant digits.
    This added the extra precision necessary to read the Dozen factor
    back into an accurate float value of 1/12, and the conversion of
    1 Dozen now gives 12.0 Units, even without the intermediate
    rounding operation. (Works for other factor values too)

    At the same time that extra rounding operation has undesired
    side-effects, as it requires a fixed precision derived from
    the rounding precisions of the UoMs. But there is no given precision
    that would work in all cases for this intermediate value. It is
    always possible to find a valid combination of UoM roundings
    that breaks that intermediate step, e.g. by forcing integer
    roundings.

    Example 2:
    Let Grams have a rounding precision set to 1 because no smaller
    quantities are allowed, and Kilograms a rounding of 0.001 to allow
    representing 1 Gram. (gram factor = 1000 and kilogram rounding = .001
    by default)
    If we try to convert 1234 Grams into Kilograms, the extra rounding
    introduced in 311c77b will cause a rounding of 1234.0/1000.0 at
    the precision of Grams (1), which gives 1.0 as a result.
    The net result of this conversion gives 1234.0 Gram = 1.0 Kilogram,
    while the correct result (1.234 Kilogram) is perfectly compatible
    with the UoM settings.

    Similar errors could be triggered with various rounding settings, as
    long as the intermediate rounding needs a finite precision.

    Two extra tests have been added to cover Example 1 and Example 2.

    --
    Related to #2072, #1125, #1126, #2672
    Closes #2495, #2498

commit 2080ea0
Author: Denis Ledoux <dle@odoo.com>
Date:   Thu Nov 27 13:25:54 2014 +0100

    [FIX] stock: on stock picking invoicing, allow to pick a journal if no move line

commit 043f7b8
Author: Sandy Carter <sandy.carter@savoirfairelinux.com>
Date:   Wed Nov 12 13:56:41 2014 -0500

    [FIX] base: avoid having 'False' in name of a bank

    The name_get of res.partner.bank uses the format_layout to generate the name
    of the bank. As every field is not required, we may get 'False' in the name.
    Replace these missing values by an empty string.

    Fixes odoo#3590

commit 2461baa
Author: Mohammad Alhashash <alhashash@alhashash.net>
Date:   Tue Nov 11 14:48:48 2014 +0200

    [FIX] stock: prevent serial number deletion on stock.move

    prodlot_id field may be required due to constraint `_check_tracking`.
    When a stock.production.lot is deleted, the constraint on linked stock.move is
    not checked. To avoid inconsistency, restrict the suppression.
    To allow the modification of existing stock.move, remove the states attribute on
    the field definition.

    As removal of serial may impact the traceability, it makes sense on buisness
    point of view to force the modification of previous stock.move, even if the
    constraint would not have been violated.
    The list of linked stock.move is present on the serial form view making
    the operation easier.

    Fixes odoo#3560, lp:1176912

commit f0e331e
Author: Pierre Verkest <pverkest@anybox.fr>
Date:   Thu Nov 6 16:18:33 2014 +0100

    [FIX] correctly update many2many in listview (web client)

    Fixes the issue #1216 (follow the link for more information). The issue
    was caused by a hack in list view: the magical suffix __display is used
    in render_cell to determine if a many2many field should be updated. This
    commit simply makes sure that old many2many fields + __display keys are
    cleared.

    A better way would be to redesign/refactor the list view to avoid that
    hack in the first place.  But this would be a much more complex task.

commit e2dd18f
Author: Denis Ledoux <dle@odoo.com>
Date:   Wed Nov 26 12:28:45 2014 +0100

    [FIX] mrp: prevent recursion from phantom boms with no lines

    if the bom is phantom and has no line, we attempt to find a new bom with the default product uom
    This is possible that we find the same bom that the current one
    In such a case, we must not explode, to avoid recursion.

commit 34da02e
Author: Danimar Ribeiro <danimaribeiro@gmail.com>
Date:   Tue Nov 25 16:25:03 2014 -0200

    [FIX] l10n_br: remove reference to old base.group_extended group

    Fixes odoo#3879

commit 9f66f98
Author: Denis Ledoux <dle@odoo.com>
Date:   Wed Nov 26 10:06:22 2014 +0100

    [FIX] marketing_campaign: typo in manifest

commit 4ca389a
Author: Denis Ledoux <dle@odoo.com>
Date:   Tue Nov 25 18:18:23 2014 +0100

    [FIX] account: prevent invoice line duplication on partner duplication

    If a company contact (a partner with a company set as parent) had invoices, and the company of this contact was duplicated, all the invoices lines were duplicated,  on the original invoice moreover (new lines were added on existing invoices)

commit 73f7a2b
Author: Denis Ledoux <dle@odoo.com>
Date:   Tue Nov 25 12:33:28 2014 +0100

    [FIX] project_timesheet: date of created analytic line not in user tz

    When the user was in timezone UTC + 1, and added a project.task.work which created an analytic entry line (timsheet activity), if the datetime was set to 11/25 00:00:00, the date on the analytic line was set to 11/24, because this was the truncated stored value(UTC Time), which was 11/24 23:00:00

commit 4ce7af3
Author: Martin Trigaux <mat@odoo.com>
Date:   Mon Nov 24 10:51:23 2014 +0100

    [FIX] product: creation of reference uom

    Set a default value for factor when creating a new uom.
    Could not create a new UoM with type reference (if creates a reference uom, no need to pass a factor).

    Change the readonly filter to (type = bigger) to make the field writable for reference uom.
    This is needed to force the reset of the factor when switching of type (onchange_type).
    As the field was readonly, kept the old value for factor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants