Skip to content
Snippets Groups Projects
  1. Dec 03, 2014
  2. Dec 02, 2014
  3. Dec 01, 2014
  4. Nov 28, 2014
  5. Nov 27, 2014
    • Olivier Dony's avatar
      [FIX] product: remove unnecessary UoM rounding step, add missing test · fc85a7ee
      Olivier Dony authored
      Remove the intermediate rounding inside _compute_qty(), as it
      is not necessary after rev. fa2f7b86 and has undesired side-effects.
      
      An extra float_round() operation inside _compute_qty()
      had been added at rev. 311c77bb 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 fa2f7b86 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 311c77bb 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
      fc85a7ee
    • Denis Ledoux's avatar
    • Sandy Carter's avatar
      [FIX] base: avoid having 'False' in name of a bank · 043f7b84
      Sandy Carter authored
      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 #3590
      043f7b84
    • Mohammad Alhashash's avatar
      [FIX] stock: prevent serial number deletion on stock.move · 2461baa0
      Mohammad Alhashash authored
      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 #3560, lp:1176912
      2461baa0
  6. Nov 26, 2014
  7. Nov 25, 2014
  8. Nov 24, 2014
    • Martin Trigaux's avatar
      [FIX] product: creation of reference uom · 4ce7af35
      Martin Trigaux authored
      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.
      4ce7af35
  9. Nov 19, 2014
    • Denis Ledoux's avatar
      [FIX] mrp: perform location chaining for kit exploded moves · 529e920b
      Denis Ledoux authored
      This rev. 73072272 ensured to not (re-)set the state 'confirmed' to exploded moves with a more advanced state (for instance, 'assigned')
      Nevertheless, the location chaining is performed on the move confirmation, through the action_confirm method of the stock.move model. Besides, the resulting moves of the _action_explode method had the state 'confirmed' on creation, the 'confirmed' state wasn't set by the method 'action_confirm', meaning that the moves were confirmed without having the location chaining done. Allowing moves to go through the action_confirm method even if the state was 'confirmed' or further triggered the location chaining.
      
      Preventing already confirmed moves to go through the action_confirm method prevented the location chaining, thus.
      
      We now create the resulting moves with the 'draft' state, and then confirm them through the procurement workflow signal 'button_confirm'. Thus, the resulting moves are confirmed by going through the action_confirm method, writing the confirmed state and triggering the location chaining at the same time. We then write the 'assigned' state if necessary.
      
      opw-617235
      529e920b
  10. Nov 18, 2014
  11. Nov 14, 2014
    • Denis Ledoux's avatar
      [FIX] web: date autocompletion should not harcode 'date' · 922a52dc
      Denis Ledoux authored
      But should use date or datetime according to the widget type
      
      This fix is related to 69d60465
      922a52dc
    • Martin Trigaux's avatar
      [FIX] purchase: keep PO currency on picking · 0a7633c1
      Martin Trigaux authored
      The delivery of a purchase order was not keeping the currency and cost price
      from the purchase order for the reception. This was problematic for orders where
      the invoice was generated from the picking (Invoicing Control: Based on incoming
      shipments). The currency of the purchase order was kept while the cost was the
      one in the company's currency.
      It's better to keep the currency of the purchase order to make the invoice as
      it's usually the one expected (and not convert everything to the currency of the
      company). opw 615555
      0a7633c1
    • Denis Ledoux's avatar
      [FIX] web: do not set the one2many dirty on field validation · da15c9d2
      Denis Ledoux authored
      This rev. 06104ba5
      
      Added the dirty flag on the o2m field when the editor of the editable list was enabled (meaning that the editable list has been altered)) because the dirty flag was not set correctly by the one2many during the edition, at the time.
      
      It looks like this is now the case
      
      Besides, as now, we valid all the editable list of the form, wether or not the editable list was altered, we must not set the o2m as dirty anymore.
      da15c9d2
    • Denis Ledoux's avatar
      3613b74d
    • Denis Ledoux's avatar
      [FIX] product: more accurate name_search · 5b2f13ab
      Denis Ledoux authored
      First, name_search searches on default_code, then, if the limit is not reached, it searches on the product name
      The results found from the default code search must be removed from the search domain when doing the search on the product name, to avoid having results already found by the search on the default_code
      
      opw-618015
      5b2f13ab
    • Martin Trigaux's avatar
      [FIX] stock: multicompany reception · cf488682
      Martin Trigaux authored
      When a picking is confirmed, the generated account.move(.line) should take the
      company, accounts, journals and period with the same company as the picking,
      not the one of the current user.
      
      This was problematic if a user in a company confirm a picking linked to
      a purchase order done in another company.
      For real time valuations, the generated accounting entries were mixing both
      companies.
      
      Fixes #3466
      cf488682
    • Martin Trigaux's avatar
  12. Nov 13, 2014
  13. Nov 12, 2014
  14. Nov 10, 2014
    • Martin Trigaux's avatar
      [FIX] project_timesheet: accept work without date · ab5ecef4
      Martin Trigaux authored
      date field on a project.task.work is not required while it is on the hr.analytic.timesheet (with default value).
      Avoid error if fill a task work without date, fallback on context_today.
      ab5ecef4
    • Martin Trigaux's avatar
      [FIX] mrp: prevent suppression of bom if used in mo · e27afc13
      Martin Trigaux authored
      The field bom_id is required on a manufacturing order and deleting a mrp.bom would block the current mo.
      Restrict the suppression for manufacturing order in progress.
      Fixes #3417
      e27afc13
    • Dhruti Shastri's avatar
      [FIX] project_timesheet: missing timesheet for tasks without project · c200ffd7
      Dhruti Shastri authored
      Timesheet activities (hr.analytic.timesheet) are generated when a work activity (project.task.work) is logged on a task.
      These are updated if the project of the task is modified.
      This patch applies the same behaviour for tasks without project, the timesheet activities are generated once a project is set on the task.
      To avoid redundency in the code, extract the computation in a distinct method.
      Fixes #701, opw 609481
      c200ffd7
  15. Nov 06, 2014
Loading