Skip to content
Snippets Groups Projects
  1. Jul 05, 2018
    • Christophe Simonis's avatar
      45329c0c
    • Christophe Simonis's avatar
    • Christophe Simonis's avatar
    • Martin Trigaux's avatar
      [FIX] mail: multi-company access to TZ · a978a364
      Martin Trigaux authored
      - Create 2 Companies A & B
      - Set User B in Company B
      - Record some `mail.activity` for User B on a lead belonging to Company
        B.
      - With a manager user in Company A, go to Kanban view of leads and
        remove filters => all leads, including leads in Company B, are
        displayed
      
      An access error occurs.
      
      `read_progress_bar` method, tries to access the field `activity_state`
      which is: `states = record.activity_ids.mapped('state')`. The state of
      a `mail.activity` is using the tz of the partner. To read the
      `activity_state` of a lead, one needs to access
      `record.activity_ids.user_id.partner_id.tz`
      => multi-company security rules raised
      
      opw: 1850984, 1859470
      a978a364
    • Christophe Simonis's avatar
      92e5da6b
    • len-odoo's avatar
      [FIX] web: handle onchange on a on2many with an embedded one2many on multiple pages · 7764db7a
      len-odoo authored
      Suppose there is a one2many field embedded in a one2many,
      (say we are viewing record A with one2many field B itself with a one2many C).
      Furthermore, there is a second page of the one2many field B.
      If an onchange is applied on B, then the server replies with a 1 command for all
      B records attached to the currently viewed object A.
      This includes a list of commands [[5], [4, C_id]*] for each B record,
      in particular B records that are on the second page.
      Since they are on the second page, they might not have been fetched by the
      frontend; in that case the corresponding C_ids are thus unknown.
      As a consequence, on save the frontend sends a command 0 to create the records
      for all unknown C_ids.
      Since it doesn't have any value to give to the 0 command, the row creation
      usually crash in the backend.
      
      Another wrong behaviour is fixed at the same time: if the server sends an update
      on the list of C ids with 4 commands.
      In that case, if the record has not been prefetched, we have no way to know
      if the list changed or not.
      
      To solve this, when we receive the 4 commands by the server, we send back 4
      commands.
      
      coauthored by @aab-odoo
      
      opw 1835936
      7764db7a
    • Christophe Simonis's avatar
      26e7d5d8
    • Alexandre Kühn's avatar
      [FIX] web: no concurrent reload on basic model · 7af09db8
      Alexandre Kühn authored
      Before this commit, there was a traceback in the following scenario:
      
      Let's have a kanban view with groupby and a domain.
      If we clear the domain then clear the groupby, there could be a crash.
      
      This crash occurs because when we clear the groupby, it performs a `reload`,
      and assumes that the datapoint contains grouped data. However, if this
      computation takes some time, it is possible to overwrite the datapoint so that
      there is no longer grouped data.
      
      This commit fixes the issue by enforcing at most 1 execution of the method
      `reload` active at any time. Consequently, successive reloads operations are
      now much slower.
      
      Note that it uses the single non-reentrant mutex on the basic_model to enforce
      this rule, which means:
      
        - No more concurrent `reload` and `save`.
        - If an execution having the mutex in `reload` come accross the same mutex,
          it is blocked forever. This is hopefully not the case at the moment,
          however a reentrant mutex should be considered in the future.
      7af09db8
    • Nicolas Lempereur's avatar
      [FIX] barcodes: documentation in description · b27d009a
      Nicolas Lempereur authored
      The barcodes modules had documentation only available on apps.odoo.com,
      following a recent change, odoo modules are not displayed on
      apps.odoo.com anymore.
      
      Thus this commit merges the documentation onto the module description so
      it is available on the module page.
      
      opw-1846035
      closes #25621
      b27d009a
    • Romain Derie's avatar
      [FIX] website: new content links not triggered · 21f1a593
      Romain Derie authored
      Clicking outside the new content options should close the overlay.
      Every options are triggering a JS event (mostly opening a modal) that works
      fine.
      
      But the 'New Job offer' options is simply a href link which is not going
      through anymore since there was a call to `preventDefault`.
      
      opw-1860196
      21f1a593
    • Christophe Simonis's avatar
      [FIX] core: set up registry before running migration scripts · b5c50fa8
      Christophe Simonis authored
      As `pre-` migration scripts may use the registry, we must ensure that
      all fields are set up before execution in order to have a consistent
      registry.
      
      This is required when loading a registry which contains modules to
      install/upgrade without `-u` flag. In this case, the setup was only done
      *after* module loading.
      b5c50fa8
  2. Jul 04, 2018
    • Shubham Johar's avatar
      [FIX] website: leave 'create screen' when click outside · 26d384ef
      Shubham Johar authored
      The purpose of this commit is to hide the Create menu when the user click on
      any area other than the link icons.
      
      Note: It was already the case in V10.0 since the options were inside a modal.
            Natively bootstrap would close the modal when clicking outside of it.
            We lost that behavior while refactoring in V11.0 with 29729769 that
            replaced the modal by a pseudo-dropdown
      
      opw-1860196
      Closes #25389
      26d384ef
    • Goffin Simon's avatar
      [FIX] pos_sale, sales_team: Timezone problem in dashboard graph · 30ede6a1
      Goffin Simon authored
      The function _get_graph computing the dashboard graph must take the timezone of the user
      into account to compute the right start_date S and the right end_date E.
      
      The query  made on model 'report.pos.order' by read_group in _graph_data must take the
      timezone of the user into account to substract the right offset to compute the start_date S
      and end_date E in UTC because the result returned by read_group is formated in the timezone
      of the user afterwards.
      
      Example:
      
      In function _get_graph:
      
      Start_date in 'Asia/Ulaanbaatar' timezone = 2018-06-05
      End_date in 'Asia/Ulaanbaatar' timezone = 2018-07-04
      
      So End_date - Start_date + 1 = 30
      
      In function _graph_data:
      
      Start_date in 'Asia/Ulaanbaatar' timezone = 2018-06-05 00:00:00
      End_date in 'Asia/Ulaanbaatar' timezone = 2018-07-04 23:59:59
      
      So in UTC -9 hours:
      
      Start_date in UTC = 2018-06-04 15:00:00
      End_date in UTC = 2018-07-04 14:59:59
      
      SELECT min("report_pos_order".id) AS id,
             count("report_pos_order".id) AS "date_count" ,
             sum("report_pos_order"."price_total") AS "price_total" ,
             date_trunc('day', timezone('Asia/Ulaanbaatar',
             timezone('UTC',"report_pos_order"."date"))) as "date:day"
      FROM "report_pos_order"
      WHERE (((("report_pos_order"."date" >= Start_date)  AND
            ("report_pos_order"."date" <= End_date))  AND
            ("report_pos_order"."config_id" in (1,2,3)))  AND
            ("report_pos_order"."state" in ('paid','done','invoiced')))
      GROUP BY date_trunc('day', timezone('Asia/Ulaanbaatar', timezone('UTC',"report_pos_order"."date")))
      ORDER BY "date:day"
      
      And the result of this request will be between 2018-06-05 00:00:00 and 2018-07-04 23:59:59 but
      before the fix the result was between 2018-06-05 00:09:00 and 2018-07-05 08:59:59 and then
      End_date - Start_date + 1 was equal to 31. That's why a "IndexError: list index out of range"
      can be raised in _get_graph.
      
      In this way, no mismatch is possible between the datas computed by _graph_data and the dict
      "values" allocated by _get_graph.
      
      opw:1862996
      30ede6a1
    • Goffin Simon's avatar
      [FIX]purchase: A duplicated shipment is not associated with the original PO · ab5fcb29
      Goffin Simon authored
      When duplicating a shipment, the shipment was not linked to the original PO.
      
      opw:1854387
      ab5fcb29
    • Mykhailo Panarin's avatar
      [CLA] create mpanarin · 80b325bb
      Mykhailo Panarin authored
      Backport to 9.0 of #23708
      
      Closes #25595
      80b325bb
    • Olivier Dony's avatar
      [IMP] mass_mailing: add missing indexes · 43e4d63d
      Olivier Dony authored
      These two columns are used to compute the mailing statistics, to be
      displayed in the kanban dashboards. Adding them makes the dashboards
      a lot faster on large databases (e.g. a few milliseconds instead of
      several seconds)
      Unverified
      43e4d63d
    • Olivier Dony's avatar
      [IMP] mass_mailing; speed up kanban view · a5edf6e0
      Olivier Dony authored
      The kanban view displays mailing statistics for all mailings that are
      sending or done. To compute these statistics, it uses the `total` as the
      expected number of emails to send. This `total` used to be computed as
      the number of records matching the mailing filter.
      This is both slow (filters are seldom written in an optimized way), and
      incorrect because the recipients were frozen when the email was sent.
      The number of matching records may have changed since then.
      
      To fix both problems, introduce a new `expected` computed field that
      simply returns the number of emails that were put in queue at the time
      of sending, and thus represent the real number of expected emails.
      This field is computed along with the rest of the statistics.
      Unverified
      a5edf6e0
    • Olivier Dony's avatar
      [IMP] mass_mailing: simplify read_group column expansion · c1de5b84
      Olivier Dony authored
      The framework supports a special `group_expand` attribute on fields,
      to provide a helper method that expands the list of columns in a
      read_group (typically meant to display empty columns in kanban views)
      See rev. 580e78ad
      
      More efficient, and less code.
      Unverified
      c1de5b84
    • Maulik Raval's avatar
      [CLA] signature for maulik-raval · 578edc04
      Maulik Raval authored
      Closes #25489
      578edc04
    • Lucas Perais (lpe)'s avatar
      [FIX] web: mock fieldsViewGet don't delete raw attrs · daedcd92
      Lucas Perais (lpe) authored
      Have a view with a field as:
      <field name="stuck_in_the_middle" attrs="{'readonly': [('with_you', '=', False)]}"/>
      
      Before this commit, the contents of attrs were parsed and merged into the modifiers
      and the attrs attribute of the node was deleted
      which might cause divergence between reality and tests
      
      After this commit, the mock server does what the server does in this case
      
      closes #25583
      daedcd92
  3. Jul 03, 2018
    • Toufik Benjaa's avatar
      [FIX] survey: Remove the deadline constraint · 000bcd7c
      Toufik Benjaa authored
      - The deadline constraint is causing issues to the appraisal module.
        It causes appraisals not being able to be sent with a deadline set on the past.
      000bcd7c
    • Cédric Snauwaert's avatar
      [FIX] account: fix select partner problem in reconciliation widget · 775fbcda
      Cédric Snauwaert authored
      Problem: create a bank statement with a line that has a positive amount
      and a line that has a negative amount. Both line does not have a partner
      Then click on reconcile to open the reconciliation widget, notice the
      message stating that we have to select a partner or choose a counterpart.
      
      Select a partner on both line, behavior is different for the line with
      credit > 0, the message still says "select partner or choose counterpart"
      
      This commit fixes this problem.
      775fbcda
    • Adrian Torres's avatar
      [FIX] base: properly unlink child views · bca2926b
      Adrian Torres authored
      Before this commit:
      
      * Install module A
      * Edit a view from module A, add a custom field
      * Uninstall module A
      * Reinstall module A
      * Try to access the module A's previously modified view
          -> Can't access the view, or even sometimes the app at all.
      
      Cause:
      
      When uninstalling module A, the custom field added to module A's is
      properly unlinked, however the custom/studio view is not unlinked, therefore
      the view references a field that no longer exists, when accessing the
      view it will obviously crash (sometimes the traceback is not even
      displayed to the user!).
      
      Solution:
      
      Emulate an ondelete cascade for child views only when in uninstall mode.
      Unverified
      bca2926b
    • Florent de Labarre's avatar
      [FIX] account:with -0.0 amount_total it raised · d3b42bd9
      Florent de Labarre authored
      Steps to reproduce the bug:
      
      - Create an invoice with positive lines and negative lines and with a total equal to zero
      
      Bug:
      
      In some cases total amount is equal to -0.0 and it raised:
      "You cannot validate an invoice with a negative total amount"
      
      The field amount_total is a monetary field, so it's computed in the precision
      of the currency of the invoice.
      
      opw:1862439
      d3b42bd9
    • Goffin Simon's avatar
      [FIX] web: Email attachment issue · af36063d
      Goffin Simon authored
      Steps to reproduce the bug:
      
      - Go on a SO and click on "Send by email"
      - Remove the attachment and click on "Add an attachment"
      - Choose an attachment A and remove it by clicking on the cross
      - Click on "Add an attachment" and choose the attachment A
      
      Bug:
      
      The attachment didn't appear in the modal.
      
      opw:1862482
      af36063d
  4. Jul 02, 2018
  5. Jul 01, 2018
  6. Jun 29, 2018
Loading