Skip to content
Snippets Groups Projects
  1. Apr 05, 2017
  2. Apr 03, 2017
    • Denis Ledoux's avatar
      [FIX] web: textarea of editable list above everything · 75949216
      Denis Ledoux authored
      When expanding a textarea of an editable list,
      by putting a long description for instnace,
      with multiple lines,
      some elements were put above the textarea,
      making the content partially hidden
      
      opw-709894
      Closes #16083
      75949216
    • Cédric Pigeon's avatar
      [FIX] stock: new cursor for orderpoint · a1aada9f
      Cédric Pigeon authored
      On large databases, the orderpoint calculation can fail due to the huge
      cache used diring the process.
      
      Instead of using one cursor for the transaction, we create a new cursor
      every 100 orderpoints, to limit the cache size and speed up the
      performances.
      
      opw-726711
      Closes #16158
      a1aada9f
  3. Apr 02, 2017
  4. Apr 01, 2017
  5. Mar 31, 2017
  6. Mar 29, 2017
    • Joren Van Onder's avatar
      [FIX] point_of_sale: round product.product price analogous to backend · 7f260ab5
      Joren Van Onder authored
      A rounding issue was resolved in
      ee335933. It however introduced
      another issue.
      
      Rounding functions (both round_precision in web.utils and float_round
      in openerp.tools) are not perfect due to IEEE floating point
      limitations. However both should produce the same output given the
      same input. An example: rounding 13.95 to 2 digits yields
      13.950000000000001.
      
      The additional rounding introduced in
      ee335933 on price lead to issues in
      certain cases. One example occurs when applying a 90% discount on a
      product costing 13.95. The POS will do the following:
      
      > 13.950000000000001 * 0.09999999999999998
      1.3949999999999998
      > round_pr(1.3949999999999998, .01)
      1.4000000000000001
      
      whereas the backend will do (as eg. in sale.order.line)
      
      >>> 13.95 * 0.09999999999999998
      1.3949999999999996
      >>> round(1.3949999999999996, 2)
      1.3900000000000001
      
      Causing a difference of 0.01.
      
      The core of the issue is that in the backend 13.95 is rounded
      differently. When a Float gets written to the database doesn't just
      pass through the regular float_round. It passes through
      _symbol_set_float which truncates characters exceeding the precision.
      
      This implements the same approach in the POS.
      
      opw-715506
      Closes #16119
      Unverified
      7f260ab5
  7. Mar 28, 2017
  8. Mar 26, 2017
  9. Mar 24, 2017
    • Christophe Simonis's avatar
    • Christophe Simonis's avatar
    • qsm-odoo's avatar
      [FIX] web: properly combine domains with "OR" in CompoundDomain · b2d66d0c
      qsm-odoo authored
      The CompoundDomain class allows to regroup several domains with an
      implicit "AND"; these domains can be either a string, an array or
      another CompoundDomain. A CompoundDomain can then be converted to
      an array thanks to pyeval.js.
      For example, if a CompoundDomain is initialized with `[A, B]` and
      `[C]`, the array conversion gave `[A, B, C]` (which is expected).
      
      However, a hackish method was used with CompoundDomain. If one of the
      domain of a CompoundDomain is equal to `["|"]` (an array with the
      OR operator in it), the two next subdomains were supposed to be joined
      by a OR operator. Indeed, for the case of a CompoundDomain initialized
      with `["|"]`, `[A]` and `[B]`, the array conversion gave `["|", A, B]`
      (which is expected). However, if initialized with `["|"]`, `[A, B]` and
      `[C]`, the array conversion gave `["|", A, B, C]` which is very wrong
      as what was expected is `["|", "&", A, B, C]`. The problem is that the
      given `[A, B]` contains implicit "&" operators.
      
      This commit fixes the problem by normalizing only if the CompoundDomain
      starts with a ["|"] or ["!"] array which is the standard odoo case.
      This allows to limit breaking custom code (e.g we want a simple "AND"
      of `[A]` and `[B]` to stay `[A, B]`, not become `["&", A, B]`).
      
      The commit also modifies a test so that it checks that the problem is
      properly solved.
      b2d66d0c
    • Fabien Meghazi's avatar
      [FIX] web/mail: many2many_tags_email widget returns erratic values (opw: 693067) · 874c7aa2
      Fabien Meghazi authored
      The many2many_tags_email's internal value change logic fails to process
      all its values. It is not concurrency proof either.
      
      The internal value change logic is now replaced by a mutex and deferreds
      are used for the partner's form view popups in order to allow concurrent
      events.
      874c7aa2
  10. Mar 22, 2017
  11. Mar 21, 2017
    • Goffin Simon's avatar
      [FIX] http: setup_lang in Safari · 5761b9a3
      Goffin Simon authored
      When not logged in the webstie on Safari and clicking on "Have a Question? Chat with us",
      it creates a mail.channel from get_mail_channel and it also creates a translation.
      But with Safari, the accept_languages is set with the value 'fr-fr', and this value was set
      in the context as the lang='fr_fr'. So when the translation was created, a bad insert query was
      raised in sql because the lang didn't exist in the res.lang table. When a translation is created,
      the function _get_languages checked that the language is in the table.
      So it was impossible to use the chatter when the user is not logged.
      
      NB: interseting functions to see:
      
      -setup_lang in odoo/http.py
      -_dispatch in addons/website/models/ir_http.py
      -get_mail_channel in addons/im_livechat/models/im_livechat_channel.py
      
      opw:716519
      5761b9a3
    • Lucas Perais's avatar
      [ADD] hw_screen: implement support for customer facing displays (#15303) · 1600216c
      Lucas Perais authored
      This adds the hw_screen module which is responsible for receiving
      rendered HTML from a POS client and sending it to a running Chromium
      browser. This is done by sending Remote Debugging Protocol messages over
      a WebSocket provided by Chromium. This allows hw_screen to evaluate
      arbitrary JS. This is used to seamlessly (without flickering) update the
      browser.
      
      This also includes changes to the POSBox. X, Chromium and some
      miscellaneous other programs were added. Functionality was added that
      automatically displays a fullscreen, UI-less Chromium browser when the
      POSBox starts up. This is accomplished through x_application.sh, which
      gets executed only when a display is detected. After the browser starts,
      it will display a specific screen until it receives the first order update
      from a POS client.
      Creates a public controller to be able to display the interface on an external
      device not connected to the posbox (e.g. tablet)
      
      Courtesy of JOV, LPE, ODO and MAT
      1600216c
  12. Mar 19, 2017
  13. Mar 16, 2017
  14. Mar 13, 2017
  15. Mar 12, 2017
  16. Mar 08, 2017
  17. Mar 05, 2017
  18. Mar 03, 2017
  19. Mar 01, 2017
  20. Feb 28, 2017
    • Martin Trigaux's avatar
      [FIX] server: avoid cron thread death · 18fd9fe0
      Martin Trigaux authored
      In case an exception (programming, out of memory or any other unexpected
      failure), the cron_thread would crash and not recover until server restart.
      
      Issue #15666 was an example of failure.
      
      Courtesy of Nils Hamerlinck
      Unverified
      18fd9fe0
    • Martin Trigaux's avatar
      [FIX] base: recover thread from down postgresql · 69e91f6a
      Martin Trigaux authored
      If postgresql database is temporarly down, the cron thread may fail.
      
      The cursor creation fails when trying to connect to the server which leads to
      the cron thread to die (uncatched exception) and will not restart when postgres
      is back.
      
      Fixes #15666
      Unverified
      69e91f6a
  21. Feb 27, 2017
  22. Feb 26, 2017
  23. Feb 20, 2017
  24. Feb 19, 2017
  25. Feb 17, 2017
  26. Feb 16, 2017
    • Denis Ledoux's avatar
      [FIX] sale: stuck workflow in invoice before delivery · 5de7500a
      Denis Ledoux authored
      With a sale order with:
      - a stockable product
      - the `Create Invoice` policy set to `Before Delivery`
      
      After the quotation validation and the invoice validation,
      if the user:
       - cancelled the invoice,
       - then validated it again,
       - then hit `ignore exception` on the sale order
       - then registered the payment on the invoice
      
      The picking of the sale order was not created automatically,
      and the sale order was therefore stuck.
      
      Actually, it was just a write trigger that was missing:
      The condition for the sale order workflow to go to the next state
      is that the `invoiced` boolean is set to True.
      
      It was, when the invoice of the sale order was paid
      (after having registered the payment), but since
      this is a computed field, not stored, no write operation
      was actually performed on the sale order, and the workflow
      wasn't "notified" that a change occured for the `invoiced` boolean.
      
      A simple write on the sale order (e.g. in its notes) would
      have unblock the situation, though.
      
      This trigger ensures the worfklow to be notified when
      the invoice of the sale order is paid, and therefore
      when the `invoiced` boolean is set to `True`.
      
      opw-706591
      5de7500a
  27. Feb 12, 2017
  28. Feb 08, 2017
  29. Feb 07, 2017
Loading