Skip to content
Branch: 12.0
Commits on Apr 15, 2019
  1. [FIX] mail: upload_attachment without model

    nle-odoo committed Apr 15, 2019
    The method /web/binary/upload_attachment may be used (eg. it is the case
    in enterprise documents module) without res_model (eg. if folder_id is
    Thus we should make it work (that was not possible since a26496b).
    closes #32692
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 12, 2019
  1. [FIX] account: style account dashboard if groupby

    nle-odoo committed Apr 12, 2019
    If we use a group by on the account dashboard, the kanban tiles have the
    size of a normal kanban card so all graphs and so on are overlapping
    which is a little ugly.
    With this changeset, we have the same base width as in the non-grouped
    view (which in the non grouped view may change with flex).
    On {0,MD} screen size, we get in one column full width and ignore this.
    closes #32659
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [FIX] web: checkbox readonly is RO in list editable

    nle-odoo committed Apr 12, 2019
    Since f4fbaf1 the structure of checkboxes has been improved, now we
    have something like:
     <input type="checkbox" id="checkbox-18" class="custom-control-input">
     <label for="checkbox-18" class="custom-control-label">&#8203;</label>
    With the first input invisible (whilst before it was visible and the
    clickable element).
    This cause an issue in an editable list view:
    - we have a boolean readonly field in a cell
    - we are on focused on a line (not in the boolean field cell)
    - we click on the boolean field
    => the check mark is toggled
    This is because when we switch cell, we try to activate the widget of
    the other cell. Before f4fbaf1 this issue did not happen since the
    browser do not generate a click event when clicking a disabled checkbox.
    With this changeset, a disabled FieldBoolean is not focusable as is the
    case for other fields, so we can't "activate" it.
    Without the fix, the added test fails with:
     [clicking disabled checkbox did not work]
    closes #32652
    Signed-off-by: Aaron Bohy (aab) <>
Commits on Apr 9, 2019
  1. [FIX] sale_management: translate quote template t&c

    nle-odoo committed Mar 29, 2019
    On a quotation template, the "Terms and conditions" (note) field may
    override the company terms and conditions.
    The company terms and conditions is translatable is translatable at
    least since 2013 (a510050) but the quotation template terms and
    conditions has never been translatable.
    With this changeset the quotation template terms and conditions are
    translatable (so when used on a partner in the lang of the partner for
    the quotation).
    closes #32236
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [FIX] account,sale: colspan revert part of e2e27b4

    nle-odoo committed Apr 9, 2019
    In e2e27b4 variable `colspan` and several `<t t-set="colspan"/>` were
    removed replacing `t-att-colspan="colspan"` with `colspan="99"`.
    - sale_management.sale_order_portal_content_inherit_sale_management has
      `<t t-set="colspan" t-value="colspan+1"/>` overidding the portal view
      sale.sale_order_portal_content which so may result in error 500
      because colspan variable does not exist
    - when doing a customization adding a column, adding:
      `<t t-set="colspan" t-value="colspan + 1"/>` was the expected behavior
      which after colspan change would break
    So this changeset reintroduce `<t t-set="colspan"/>` tag up to not
    including master, they will have no effect but possible existing xpath
    or use of the variable colspan will no longer cause an error.
    note: for 12.0 up to saas-12.3 (not necessary in master)
    closes #32539
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 8, 2019
  1. [FIX] web_editor: no lose tooltip on selection

    nle-odoo committed Apr 5, 2019
    The editor has a tooltip editor wizard "Change media description and
    tooltip", but when selecting an image there is also a tooltip:
      "Double-click to edit"
    added by the editor.
    The combination of the two break the functionality, eg:
    - if a tooltip is set with editor, then selecting the tooltip: we see
      the set tooltip and not "Double-click to edit"
    - if a tooltip is set with editor, then selecting the image back, then
      opening the tooltip editor => the set tooltip is lost
    With this changeset, we just do not show "Double-click to edit" tooltip
    if there is a tooltip set on the element.
    closes #32482
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 5, 2019
  1. [FIX] stock: return's return ok package location

    nle-odoo committed Apr 5, 2019
    If we create a package X transfering from location A to location B:
    - we create a stock.quant for package X in location B
    => The package is on location "B" (OK)
    If then we do a transfer of that package from location B to location A:
    - we set the location B / package X quant to 0 size
    - we create a stock.quant for package X in location A
    => The package is on location "A" (OK)
    If then we do a transfer of that package from location A to location B:
    - we set the location A / package X quant to 0 size
    - we set the location B / package X quant to package size
    => The package still is on location "A" (wrong)
    This is because:
    - since c0d7a05 stock.quant.package field `quant_ids` is a view over
      related stock.quant but filtered on domain:
         ['|', ('quantity', '!=', 0), ('reserved_quantity', '!=', 0)]
    - stock.quant.package fields `location_id`, `company_id`, `owner_id` are
      updated when a related stock.quant has fields `package_id`,
      `location_id`, `company_id`, `owner_id` modified
    Thus when the `quant_ids` change by changing quantities, `location_id`
    are not updated even if it should be.
    closes #32466
    Signed-off-by: Arnold Moyaux <>
Commits on Apr 4, 2019
  1. [FIX] payment_authorize: >1m partner ok transaction

    nle-odoo committed Apr 4, 2019
    When creating a customer profile in Authorize.Net we specify a field
    merchantCustomerId that is composed of:
    But the limit of this field is of 20 characters:
    So if we have 1 million partner, we may have eg. a partner 1000005 that
    would result in an ID `ODOO-1000005-af123c5b` that is too long and
    results in an error.
    With this changeset, the generated ID is truncated to 20 characters so
    this should theorically be alright for up to 9.99*10^15 partners (the
    postgres limit for an integer is 2.15*10^9 so this should be safe
    closes #32423
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 3, 2019
  1. [FIX] point_of_sale: allow connect proxy https error

    nle-odoo committed Apr 1, 2019
    Since 79af654 if we had unexpected configuration of usage such as
    being in HTTPS, having a POS hardware in HTTPS but an error is received
    (eg. the device is closed) => the POS interface can't be opened being
    blocked on an error:
     Https connection to IoT Box failed
     Make sure you are using IoT Box v18.10 or higher.
     Navigate to {proxy_ip} to accept the certificate of your IoT Box.
    With this changeset, we have a popup that does not prevent to open the
    point of sale interface (and  the red disconnected status in the top
    left allow to retry connection as before) on first load.
    closes #32306
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [FIX] point_of_sale: background layout header iframe

    nle-odoo committed Apr 3, 2019
    When a report with header is displayed in iframe with layout
    "Background", part of the header maybe outside of the page.
    For example on /my/invoices portal show of an invoice, the max width
    report iframe can set at 210mm (+/- 793.7px normally), the header in
    background layout has `min-width: 900px` so is wrongly centered and may
    have content outside of shown page (eg. company tagline).
    The same issue happen when using HTML rendering of the report in
    backend, but depends on the viewport width.
    This may be the expected configuration when printing (wkhtmltopdf should
    unzoom if something was too large to fit) but not when displaying html
    closes #32373
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 2, 2019
  1. [FIX] website: language prefixed URL on website bis

    nle-odoo committed Mar 25, 2019
    Reintroduces 5324284 that was reverted because in the case of an URL
    like /payment_stripe/static/src/js/stripe.js directly inside a QWeb
    template, we would possibly get:
    Which is not accepted by werkzeug SharedDataMiddleware we use to serve
    static data in /{module_name}/static/ directories.
    Added test without changeset failed with:
    - test_process_att_no_request_lang: <AssertionError>
      line: self._test_att('/en_US/', {'href': '/'})
      wrong result: {'href': '/en_US/'}
    - test_process_att_with_request_lang: <AssertionError>
      line: self._test_att('/', {'href': '/fr_FR/'})
      wrong result: {'href': '/'}
    - test_process_att_matching_cdn_and_lang: <AssertionError>
      line: self._test_att('/en_US/a', {'href': 'http://test.cdn/a'})
      wrong result: {'href': 'http://test.cdn/en_US/a'}
    - test_process_att_no_route: <AssertionError>
      line: self._test_att('/my-page', {'href': '/fr_FR/my-page'})
      wrong result: {'href': '/my-page'}
    - test_process_att_url_crap: <IndexError: list index out of range>
    closes #32095
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [FIX] mail: send mail.mail ->nofail updating notif

    nle-odoo committed Apr 2, 2019
    When we go on a failed mail.mail and do "Retry" -> "Send Now", if there
    is an existing notification that is not to the current user, we may get
    an error or get the email in error.
    This is because on a notification only:
    - the superuser
    - the targetted user of the notification
    have write permission by default in Odoo.
    So with existing notifications resending (by the mail.mail views, the
    alternative mail.resend.message wizard works as expected) only worked
    if they were current user's notifications or if user is superuser.
    closes #32346
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Apr 1, 2019
  1. [FIX] website: tooltip width analytics chart

    nle-odoo committed Apr 1, 2019
    On the line chart of google analytics account, we have a tooltip with
    lines ({date}
    sessions: {number of session}) overlapping and going
    outside of the modal width.
    This does not happen on google examples, the only fix found is to
    display the tooltip in HTML instead of SVG.
    closes #32285
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 29, 2019
  1. [FIX] website_sale: pricelist ecommerce 1st install

    nle-odoo and Romain Derie committed Mar 29, 2019
    Since 2d97094 it is possible among other improvments to have a
    pricelist on all website if it has a "code" or is "selectable" and has
    no specified website.
    Following this, the default "Public Pricelist" is not associated to a
    website but since it is not selectable and has no code, we would get no
    pricelist on the website on default installation without demo data.
    With this changeset, the "Public Priclist" is set to selectable when
    website_sale is installed.
    closes #32254
    Signed-off-by: Nicolas Lempereur (nle) <>
    Co-authored-by: Romain Derie <>
  2. [FIX] website: "Visits" no overlap "active users" in dashboard

    nle-odoo committed Mar 29, 2019
    The current style on "Active users: {number}" placed it 60 pixels over
    were it should be, so this was:
    - overlapping "Visits" title
    - not sparing vertical size (since we use "position:relative")
    closes #32245
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 27, 2019
  1. [FIX] delivery: picking weight not updated sometime

    nle-odoo committed Mar 27, 2019
    The delivery lines (move_lines) have two way to be displayed in a view:
    - with move_lines (all move line of a stock.picking)
    - with move_ids_without_package (same but removing packages)
    But so if we write directly on move_ids_without_package we would not
    trigger the stock.picking @api.depends('move_lines') _cal_weight method
    thus the picking weight was not updated in some instances.
    With this changeset, we adds the move_ids_without_package as depends so
    on move_ids_without_package onchange the total weight should be set to
    the correct weight or 0 (if move_lines is not in the view) and on write
    the correct weight should be computed.
    closes #32157
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 26, 2019
  1. [FIX] web: drag & drop month calendar->keep time

    nle-odoo committed Mar 26, 2019
    In fullcalendar, we have in f5b7ad8 fake moments date with UTC time
    that are the local time, thus when we move an event to another day, we
    need to set it as:
    - the selected year-month-day
    - the original utc hours (real local hours) -> local hours
    - the original utc minutes (real local minutes) -> local minutes
    - the original utc seconds (real local seconds) -> local seconds
    When it is sent to server, timezone offset will be removed so we will
    transfer to server the expected datetime in UTC.
    With this changeset we send server the correct time when a fullcalendar
    event is "all_day" but the original event was not (eg. drag and dropping
    event on the month view).
    Added test without change failed with:
     - 4. event moved to 27th nov 16h00 +40 hours timezone
          (expected "2016-11-29 08:00:00", result: "2016-11-27 16:00:00")
     - 5. expected: "event|6|11/27/2016|16:00:00"
          result: "event|1|12/09/2016|08:00:00"
     - 6. expected: "event|1|12/09/2016|08:00:00"
          result: "event|3|12/10/2016|23:55:05"
    closes #32136
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 25, 2019
  1. [FIX] web: modal in modal => no block mobile

    nle-odoo committed Mar 25, 2019
    On a form view:
    - we open a modal form view
    - in this modal we open a modal form view
    - we close that second modal
    => the modal is closed and the first one is still opened, but on mobile
    we can't scroll to above or below the modal.
    This is because bootstrap remove .modal-open class on body when we close
    the second modal, but this class is necessary to scroll (this is not
    much an issue on desktop since scroll is often not necessary).
    We already had a fix that was weakened in 02a063f.
    With this changeset, we keep .modal-open as long as a modal is opened.
    Without the change, added test failed with:
      10. Modal is said opened (expected: true, result: false)
    closes #32106
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [REV] "[FIX] website: language prefixed URL on website"

    nle-odoo committed Mar 25, 2019
    This reverts commit 5324284
    This reverts commit ad826f5.
    If for example we had in a template:
     <script type="text/javascript" src="/payment_stripe/static/src/js/stripe.js"></script>
    it has been reproduced to be gotten as:
     <script type="text/javascript" src="/de_DE/payment_stripe/static/src/js/stripe.js"></script>
    which is unexpected and could cause an error.
    closes #32090
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 22, 2019
  1. [FIX] http_routing: ignore # when checking multilang URL

    nle-odoo committed Mar 22, 2019
    With 953a693 when a route is not found we assume it is a
    that can be multilang.
    But with #31792 we should once again prefix URL by the language if
    The combination of the two cause issue when an url like `/web#home` is
    tested since we do not take `#` into account, we check if the route is
    multilang but no route `/web#home` is found => so we get
    With this fix, `#fragment` is not taken into account when searching
    related to #31792
    related to opw-1922051
    closes #32059
    Signed-off-by: Nicolas Lempereur (nle) <>
  2. [FIX] website: language prefixed URL on website

    nle-odoo committed Mar 12, 2019
    In 10.0 and before, if we were eg. on website page /fr_FR/contact, if
    `fr_FR` language (french) is installed and not the default website
    language we would have all URL towards translated content (route with
    multilang=True) prefixed with /fr_FR/ (the language code).
    With 9cd982b some improvments were done to CDN but this also breaks
    language prefixing, so this cause an unecessary redirect:
    - we are on /fr_FR/contact and click on "Shop"
    - we go to /shop
    - odoo redirects US /fr_FR/shop
    With this PR, URLs are prefixed with language once again.
    note: the added test is hackish but the function tested depends on a lot
    of odoo.http things that are hard to use for test (request.render,
    request.context, request.httpreqest).
    closes #31792
    Signed-off-by: Christophe Simonis <>
Commits on Mar 21, 2019
  1. [FIX] payment_stripe: regression 98fe505

    nle-odoo committed Mar 21, 2019
    closes #32026
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 19, 2019
  1. [FIX] payment_stripe: open>exit>open opened 1 time

    nle-odoo committed Mar 18, 2019
    If using Stripe we did "Pay Now" -> close modal -> "Pay Now" we would
    get 2 modals and possibly be blocked by infinite loading.
    With this changeset, we only execute one time our strip.js file so we do
    not declare multiple MutationObserver.
    We also only open one checkout at a time from stripe when closing and
    opening it or multiclicking click (the later one that could block the
    interface with several stripe iframe opened and one with a infinite
    loading wheel).
    closes #31928
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 15, 2019
  1. [FIX] l10n_be_intrastat: typo EXTRF now 29/19

    nle-odoo committed Mar 15, 2019
    Intrastat was modified on january 2019 to backport some features for new
    regulation of belgian intrastat in c5a8e39.
    There was a coding typo so EXTRF was <Report/> code attribute instead.
    closes #31875
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 14, 2019
  1. [FIX] mail: activity document name=>updated name

    nle-odoo committed Mar 14, 2019
    The activities "Document Name" (res_name) are computed and stored by
    getting them on original document, so if we change name of original
    model => the activity names are not updated.
    Thus the document name we see we showing the "Activity" view is the one
    that was used when activities were created with an odd heuristic (by
    inverse order of activity type and max alphabetical value) and not
    With this changeset we ignore "Document Name" and directly get names of
    records when display "Activity" view.
    note: the changeset also filter out activities on document we can reads:
    this was done when a domain was set but not otherwise so access error
    could be easily gotten.
    closes #31850
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 13, 2019
  1. [FIX] stock: lot action => str to prevent traceback

    nle-odoo committed Mar 13, 2019
    In a report a lot could be opened with an action that was a number
    instead of expected string or falsy value.
    In web and web_studio, we sometime expect the action name to be a string
    or falsy (calls to `bc.title.trim()` in breadcrumbs code).
    closes #31816
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 12, 2019
  1. [FIX] website_sale_comparison: no compare variant=False

    nle-odoo committed Mar 7, 2019
    When comparing product, there was already an exceptions that would not
    list the attributes if they were only "create_variant=False" type.
    But if we mix attribute create_variant False or not on a product, we
    could get an error.
    With this changeset, create_variant=False attribute are ignored also
    when mixed with create_variant=True attributes.
    closes #31680
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Mar 6, 2019
  1. [FIX] web: pivot no result no remove groupbys

    nle-odoo committed Mar 6, 2019
    Since f8b38f6 dictionaries "groupbys" are the same object between the
    pivot model instance and the headers menu.
    But this causes an issue in 12.0 since when there is no results, the
    headers menu groupbys is truncated and now being the same object, the
    pivot model instance is also truncated.
    So succedding search that find results would possibly have lost the
    groupbys which is unexpected and breaks some 12.0 tests not expecting
    With this changeset, the groupbys are not truncated anymore.
    Without the change, the added test fails with:
     Column groupby not lost after reload after empty results
      expected: { "pivot_column_groupby": [ "customer" ],
                  "pivot_measures": [ "__count" ], "pivot_row_groupby": [] }
      result:   { "pivot_column_groupby": [], "pivot_measures":
                  [ "__count" ], "pivot_row_groupby": [] }
    closes #31644
    Signed-off-by: Nicolas Lempereur (nle) <>
Commits on Feb 28, 2019
  1. [FIX] stock: show product qty on searched location

    nle-odoo committed Feb 27, 2019
    The location_id and warehouse_id fields on product.template are just
    dummy field intended to add something in the context that will be used
    to compute the data being rendered (eg. for location, the quantity
    displayed is the quantity of the product in the searched location).
    But the feature was broken at a point, and has been solved in 11.0 with
    This solution was not implemented in 10.0 up to saas-15 since this is
    not acceptable for a stable version.
    This changeset is only for 10.0 up to saas-15 to implement the fix
    closes #31475
  2. [FIX] point_of_sale: no black bottomed receipt

    nle-odoo committed Feb 27, 2019
    On some devices and chromium with printing option "Background graphics",
    a printed receipt on the point of sale could have a black bottom below
    the receipt content.
    This is caused by the point of sale black background and happen rarely
    because most frequently browser printing remove backgrounds.
    Co-authored-by: Romeo Fragomeli <>
    closes #31472
Commits on Feb 26, 2019
  1. [FIX] web: keep col group by on 2nd reload

    nle-odoo committed Feb 25, 2019
    In 187c32c some improvements were made for conserving/restoring group
    bys on the pivot view.
    This introduced an issue on the column group by:
    - before reload, if we set manually a column group by (+ icon in the
      header) it would be saved and not lost (unless a context or filter
      in the search view override it)
    - after reload, the following manually set column group by are not saved
      anymore on subsequent reload (the column group by at the first reload
      are set back)
    This behavior is not normal since the behavior (conserving or losing
    column group bys) should be the same at first reload or second reload.
    The issue was caused by the duplication of group bys that were not
    synchronized (one on the column root header, one on the pivot model
    Without the change, the added test failed with: "Column groupby not lost
    after second reload" and product_id is hidding from the object
    pivot_column_groupby dictionary (having only "customer").
    Using _.clone on initialRowGroupBys was necessary change because without
    duplication of "groupbys", the initialRowGroupBys would be changed on
    expandHeader which is unexpected.
    closes #31407
Commits on Feb 20, 2019
  1. [FIX] web: ie11 autocomplete field no open itself

    nle-odoo committed Feb 20, 2019
    On IE11, in 10.0 up to master in some instance when creating a record
    under some conditions the dropdown may be automatically opened and need
    to be closed.
    This has been pinpointed to 90c1af1 so it seem that a combination of
    fields/code/autocomplete and changing the placeholder at one time causes
    the issue.
    Since IE11 lie and say it is mozilla 11.0 we just apply the 90c1af1
    when the browser is chrome (we did no did this at first to have the same
    behavior accross browsers).
    note: there is an opened bug in chromium if
    solved the hack could be removed completely.
    closes #31271
Commits on Feb 15, 2019
  1. [FIX] crm: no context default user crm.lead

    nle-odoo committed Feb 15, 2019
    default_user_id on the crm.lead window actions is not needed since the
    current user is already the default on the field.
    So all it does is prevent user-defined values to work and possibly
    affect custom code that may not expect the behavior.
    closes #31151
Commits on Feb 13, 2019
  1. [FIX] web_editor: focus lost with inline editor

    nle-odoo committed Feb 13, 2019
    When an inline editor is eg. in a form view, the focus is always stolen
    by it.
    This is because we trigger a mouseup on the editor to update its
    toolbars values and informations.
    note: backport of 11.0's 7a453b0
    In 10.0 this trigger could cause a "blur" which in some instance is not
    wanted (eg. inside a newline of a list view).
    closes #31078
  2. [FIX] web_editor: html widget empty value stay empty

    nle-odoo committed Feb 13, 2019
    The html widget automatically replace an empty field value by
    `<p><br></p>` to be able to add content.
    But this may cause unintended "onchange", since the value has "changed"
    and the onchange themself could cause error when triggered at the wrong
    time (eg. inside a list view with required fields).
    With this changeset, the onchange is averted when the value was false
    and is now `<p><br></p>`.
    closes #31078
You can’t perform that action at this time.