Skip to content
Snippets Groups Projects
  1. Aug 10, 2018
    • Martin Trigaux's avatar
      [REF] *: add support for RTL languages · f7130556
      Martin Trigaux authored
      מזל טוב
      
      The direction parameter will now have a real impact on the web interface and
      completly switch the direction of the interface.
      Add the dependency rtlcss to switch the direction with a css postprocessor.
      
      Two different assets will be generated for ltr or rtl
      /web/content/<...>/web.assets_backend.0.css
      and
      /web/content/<...>/rtl/web.assets_backend.0.css
      to be able to differentiate it easily
      
      Adapt the css and views to be easier to switch direction
      
      Render graph as it is, do not move y-axis right side, as per mathematical rule
      value goes left from origin are considered negative, so keep graph as it is
      for right to left language
      
      add test cases for language direction specific assets bundle
      if language direction is rtl then we also store css files in assets bundle
      now we store two assets bundle, one for ltr and one for rtl language direction
      test two assets bundles generated, also test two assets bundle generated for en_US and ar_SY
      f7130556
    • Jérome Maes's avatar
      [MERGE] sale_purchase: automatically purchase services · b6f7ad3a
      Jérome Maes authored
      This commit brings a new module to handle the automatical
      purchasing of services, like stock does but without using
      routes.
      
      On a service product, a checkbox need to be check and a
      supplier has to be defined. On SO confirmation, a Purchase
      Order will be generated.
      
      See commits details for more details.
      
      Task #39340
      Closes #25221
      b6f7ad3a
    • Jérome Maes's avatar
      [ADD] sale_purchase: purchase automatically for services · 6ea10114
      Jérome Maes authored
      This commit adds a new module providing the automatically services
      purchasing feature ("Service Subcontracting").
      
      The product of 'service' type can be flag (in the purchase tab of
      its form view) as "purchase automatically".
      When adding an sale order line with that kind of product, it will
      generate a Purchase Order for the supplier of the product, on Sales
      Order confirmation. The PO will contains one line with the quantity
      on the sale line, with the UoM conversion (purchase uom might be
      different from the sale uom on product configuration). The generated
      PO is in draft state.
      
      Then several cases can happen:
      1/ Increasing the quantity on the sale line
          - If PO is draft state ('draft', 'sent', 'to approve') : increase
            the quantity on the PO
          - If PO is confirmed state ('purchase', 'done', 'cancel') : create
            a new PO
      2/ Decreasing of quantity on the sale line
          - in any cases: shedule a next activity on the PO
      3/ Cancelling SO: shedule a next activity on the impacted PO
      4/ Cancelling PO: shedule a next activity on the origin SO
      
      The introduction of this module required to move the link between
      sale.order.line and purchase.order.line from stock_dropshipping to
      thie module, and put sale_purchase as a dependency of
      stock_dropshipping.
      
      This commit also brings some test cases.
      
      Task #39340
      Closes #25221
      6ea10114
    • Jérome Maes's avatar
      [IMP] sale,stock: adapt schedule activity new type · 8cdc95a3
      Jérome Maes authored
      Now, the style of exception activity depends on
      the activity subtype, since a global warning type
      exists.
      8cdc95a3
    • Jérome Maes's avatar
      [IMP] mail: add global exception activity type as data · ed987b73
      Jérome Maes authored
      Add a data common for all models have the 'decoration'
      type set to 'warning' to schedule alert activities.
      This can be usefull when activities are generated on
      related model changes.
      
      Task #39340
      ed987b73
    • Jérome Maes's avatar
      [IMP] mail: activity schedule with view · fa5a50e8
      Jérome Maes authored
      This commit extends the activity API to allow scheduling
      activity with a Qweb template to format the activity message.
      
      Task #39340
      fa5a50e8
    • Jérome Maes's avatar
      [REF] sale_*: '_action_confirm' implementation · 80ef7146
      Jérome Maes authored
      Impacted modules: sale, sale_timsheet, sale_stock, delivery and
      event_sale
      
      The commit ee2b9fae split the
      implementation and the api of the `action_confirm` method of
      a Sales Order.
      
      This commit tries to go further:
      1/ change this API: the private method is the implementation that
      should be extended when the confirmation should generated other
      documents. The state change is extract to be sure that in all
      override of `_action_confirm` the SO state will be 'sale' (and
      not 'done', in case of activating the options).
      
      2/ adapt other module to this new API. Some of them does not required
      the change to correctly work, but it can introduce future bugs.
      Doing it now is better ;-)
      
      3/ With this new implementation, we can prioritize SO line treatment
      on confirmation. We want the stockable lines to be processed before the
      service ones. Indeed, the line (service and stockable) that should
      create a purchase order (future dev for services) will search for an
      existing PO, but stock has more precise criteria than services. So,
      service SO line will find the existing PO from stock while the opposite
      is not true.
      So, this is why we are now calling `_action_launch_procurement_rule`
      before the `super`.
      The rest of the treatments (event, delivery, ...) depends on the module
      loading order.
      
      Task #39340.
      80ef7146
    • Jérome Maes's avatar
      [REF] sale_order_dates: kill the module · 867e4792
      Jérome Maes authored
      This commit dissolves module into sale and sale_stock. Indeed
      some fields will be needed for services in next development.
      - module is replace by a group in sale
      - `commitment_date` and `expected_date` are moved into sale
      directly, because they are meaningful for purchasing services
      - `expected_date` implementation change when sale_stock is
      installed, as the picking_policy of the SO determine if the
      min or max dates should be chosen.
      - `effective_date` is moved to sale_stock
      - tests are moved into sale_stock, and tagged to be executed
      after install (post install) otherwise it fails (since
      sale_order_dates was a leaf module, it makes sense).
      
      From a functionnal point of view, nothing should have changed,
      except that user can see `commitment_date` and `expected_date`
      even if sale_stock is not installed, by activating a group.
      
      Task #39340
      867e4792
    • Olivier Colson's avatar
      [IMP] account: make partner account selection easier for vendor bills payment · 74b6f84c
      Olivier Colson authored
      This is done by displaying this field on top of the vendor bills form view and using it as a default value when registering the payment. The use of a sequence on res.partner.bank also allows giving priorities to partner bank accounts directly from the tree view that is contained in res.partner form. In case payments are generated for multiple invoices at once, their account is set as the partner's most prioritary account.
      
      [IMP] account: payment for multiple invoices: option to group + also group on account + hide memo
      
      Add an option in the multiple invoices payment wizard to choose whether or not to group the generated payments. This is useful in case we want to keep one payment by invoice (even if they share the same partner, etc) so that each of them corresponds to a single communication.
      
      The memo field of this wizard is now also hidden in some cases, when displaying it would allow entering wrong communication values (for example, when paying invoices from different partners ; it makes no sense that all the generated payments share the same memo).
      
      [IMP] account: option to sanize invoice communications
      74b6f84c
    • Thibault Delavallée's avatar
      [FIX] mail_bot: do not consider numbers as an emoji · 02ceefc5
      Thibault Delavallée authored
      Better stick on pure emojis.
      02ceefc5
    • Cédric Snauwaert's avatar
    • eco-odoo's avatar
      [FIX] onboarding: Fix/Update onboarding to v2.0 · 89e358ca
      eco-odoo authored
      Specification
      =============
      
      - Fix lots of bug due to the BS4 migration
      - Improve steps
      - Validate some steps (Like the company configuration) in all the
        onboarding bars if done in one onboarding bar.
      - Only animate the confetti one time if a step is done, instead of
        on each view loading
      
      For more information, see: https://www.odoo.com/web#id=1869513&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720
      89e358ca
    • eco-odoo's avatar
      [IMP] base: rename the label of res_company.vat to Tax ID · 33dee649
      eco-odoo authored
      Rename TIN into Tax ID in company and partner forms.
      
      task: 1869513
      33dee649
    • Xavier Morel's avatar
      [CHG] base_import: UI/UX changes · 24a8622b
      Xavier Morel authored
      Increased amount of magical autodetection of import
      parameters (formats, delimiters, ...)
      
      Task 1870663
      24a8622b
    • Cédric Snauwaert's avatar
      [ADD] account: id inside setup div of accounting settings · 2b9de6d9
      Cédric Snauwaert authored
      Id is used in enterprise to add a module inside that view
      2b9de6d9
    • Kishan Gajjar's avatar
      [IMP] web: add colorpicker dialog · 29f0c0a1
      Kishan Gajjar authored
      29f0c0a1
    • qsm-odoo's avatar
      [REF] web_editor: rename scss file to respect convention · 1ea9ef79
      qsm-odoo authored
      The file was introduced with BS4 but the name was not well chosen.
      1ea9ef79
    • qsm-odoo's avatar
      [REF] web_editor, *: improve transparent grays definition · 42b47a71
      qsm-odoo authored
      * website
      42b47a71
    • qsm-odoo's avatar
      [FIX] theme_bootswatch: fix library · 85c8466c
      qsm-odoo authored
      The way the bootswatch library import fonts is not the right way so
      we must unfortunately apply a fix in the library itself.
      
      Also review the manifest file.
      85c8466c
    • qsm-odoo's avatar
      768e3849
    • Prakash Prajapati's avatar
      [IMP] fleet: improve rescheduling of automated activities · a71f0d6a
      Prakash Prajapati authored
      Purpose of this commit is to improve automated activities in fleet.
      Currently they are not always updated or rescheduled. Specifically when
      updating the expiration date or the responsible automated activities should
      be updated accordingly.
      
      This commit is linked to task ID 1838956 and PR #25899.
      a71f0d6a
    • Prakash Prajapati's avatar
      [IMP] maintenance: improve rescheduling of automated activities · 1cb0b831
      Prakash Prajapati authored
      Purpose of this commit is to improve automated activities in maintenance.
      Currently they are not always updated or rescheduled. Specifically when
      updating equipment, technician user of schedule date automated activities
      should be updated accordingly.
      
      This commit is linked to task ID 1838956 and PR #25899.
      1cb0b831
    • Prakash Prajapati's avatar
      [IMP] mail: allow to reschedule assigned user on automated activities · 36854d3b
      Prakash Prajapati authored
      Purpose of this commit is to add possibility of rescheduling the assigned
      user on automated activities. Currently rescheduling is limited to updating
      the deadline. In some cases we want to be able to update the assigned
      user of an automated activity.
      
      Tests are added to avoid regression.
      
      This commit is linked to task ID 1838956 and PR #25899.
      36854d3b
    • Martin Trigaux's avatar
      [MERGE] lunch: improve supplier management · c7d9ddf6
      Martin Trigaux authored
      Make the lunch alerts blocking if ordering a product from a supplier if not
      available at the order time
      
      Add mail templates to generate emails to suppliers.
      
      This merge is only a first step before the Big Lunch Refactoring that will
      change forever the way peoples are considering eating lunch.
      c7d9ddf6
    • Martin Trigaux's avatar
      [ADD] lunch: tests for the new behavior · f7c53830
      Martin Trigaux authored
      And make sure multiple alerts combine correctly
      f7c53830
    • Martin Trigaux's avatar
      [ADD] lunch: order generates an email for the supplier · a2f69cad
      Martin Trigaux authored
      Confirming orders must now be done per supplier and will open an email
      composition wizard with the different orders
      a2f69cad
    • Martin Trigaux's avatar
      [IMP] lunch: better alert view · 08dbb391
      Martin Trigaux authored
      Reorganize the fields to clarify the view
      08dbb391
    • Martin Trigaux's avatar
      [ADD] lunch: prevent ordering unavailable products · 8f22f23e
      Martin Trigaux authored
      Add a field partner_id on a lunch.alert
      If the field is set, the alert becomes blocking and will prevent people from
      ordering a lunch.
      
      Add a available field on the lunch.product that will check if any alert forbids
      ordering that product at the time of the order.
      
      Pass the lunch.order date in the context to be able to plan a lunch order
      another day if the provider is forbidden today.
      8f22f23e
    • XavierDo's avatar
      [IMP] mail: add activity view · 1de9496f
      XavierDo authored
      A simple new view to easily display all activity on a model grouped
      by res_id and activity_type_id. Some action are possible like sending
      a mail template for all record having an activity with this activity type
      and present in the view (depends on the filter).
      
      The view use the Kanban activity view on cells. It could be a good idea
      to rename this widget to something like "DropdownActivityView" (maybe
      after the freeze)
      
      Task: #1870662
      PR: #26272
      1de9496f
    • XavierDo's avatar
      [IMP] mail: add more powerfull delays on activity. · 83fc5dc0
      XavierDo authored
      It was possible to define a delay in days on activity type
      to reschedule next activity. It is now possible to specify a unit
      (days, weeks, months) and a starting point for the delay
      (as before, from the moment when the new activity is scheduled,
      but also after the deadline of the previous activity).
      
      We realy need to have all javascript action triggering a done
      and schedule next to call the python corresponding method on
      activities. A part of the work have been there but some
      cleaning could still be done in activity.js.
      
      Task: #1870662
      PR: #26272
      83fc5dc0
    • Martin Trigaux's avatar
      [FIX] lunch: correctly compare dates · f2b8b38f
      Martin Trigaux authored
      do not compare string and dates
      f2b8b38f
    • Thibault Delavallée's avatar
      [MERGE][IMP] mail, mail_bot: improve Discuss onboarding and add your new best friend · 1e7eb76c
      Thibault Delavallée authored
      Purpose of this merge is to improve onboarding of Discuss. This is done via
      a wow effect and a bot to test the Discuss app; otherwise you have nobody to
      talk to. Purpose is also to improve retention as "the best way to increase
      retention is this: when the user invites someone, when this guy activates its
      account, the user gets a push notification from the invited user that just
      logged in; that way he will come back to Odoo and start discussing with its
      colleagues.
      
      Concerning your new best friend: it is not a dog but Odoobot.
      
      See sub commits for more details. This merge is linked to task ID 1838588 and
      closes PR #25075.
      1e7eb76c
    • Christophe Simonis's avatar
    • XavierDo's avatar
      [ADD] mail_bot, im_livechat_mail_bot: add Odoobot, your new best friend · cf505c36
      XavierDo authored
      Purpose of this commit is to improve onboarding with a wow effect and a bot
      to test the Discuss app. Otherwise new users have nobody to talk to. Retention
      will be improved by both increasing interactions and onboarding of Discuss
      features.
      
      This commit adds a simple bot in discuss. It answers some questions, helps
      users getting their hand on discuss and eases the onboarding.
      
      In this version, the flow is quite simple, and only im_livechat adds some
      logic in order to show canned response. The logic is contained in new
      modules: mail_bot and im_livechat_mail_bot in order to keep everything
      well separated. It also allows users to remove the mailbot if they do not
      want to keep this functionality.
      
      Odoobot will only answer if he is in the onboarding conversation (alone
      with a user in a channel of type chat) or if a user pings odoobot.
      
      Odoobot logic applies to both standard chatter / channel messages and
      also transient messages (like help commands).
      
      Specifications
      
       * 2 minutes after first sign in, users will receive a direct chat from
         Odoobot;
       * make Odoobot an archived partner;
       * scenario
      
        * Odoobot: "Hello, I'm here to help you discover chat features. Try
          answering me with an emoji :)";
        * User:  Send emoji
        * Odoobot: "Great! :) Did you notice that you can also send attachments,
          like a picture of your cute dog? Try it!"
        * Odoobot: "Not a cute dog, but you get it :) To access special features,
          start your sentence with "/" (I.E. /help)""
        * User: /help
        * Auto message then Odoobot: "Wow you're a natural! As a channel usually
          contain a lot of users, you can grab the attention with a ping. Try to
          ping me with @Odoobot!"
        * User: @Odoobot lorem ipsum
      
        * if Livechat installed
      
         * add 2 demo canned response so it does not look weird (like "Hello, how
          may I help you?" and "Have a nice day!")
         * Odoobot: "Perfect! <br> Try to type ":" to use canned responses."
         * User tries canned
         * Odoobot: "Good, you can customize your canned responses in the live chat
          application. <br><br> + réponse suivante"
      
       * Odoobot: "There's 3 different ways in Odoo to interact with your
         colleagues:  via this chat window, [img of chat window] via the Discuss
         application [img of Discuss app + icon on it] or via the chatter [img of
         the chatter]. Aaaaand that's it! Enjoy discovering Odoo! :)"
       * random answers to ping/bad answer
      
        * "Mmmmh I'm not sure what you mean.. Can you try again?"
        * "I'm afraid I don't understand. Sorry!"
      
       * when someone pings @OdooBot with no reason: Odoobot: Yaaaay that's me!
         [party emoji]
       * fun stuff to add for some answer
      
        * User: i love you / love
        * Odoobot: Aaaaaw that's really cute but, you know, bots don't work
          that way. You're too human for me! Let's keep it professional <3
        * User: Fuck
        * Odoobot: That's not a really nice thing to say, you know? I'm a bot but I
          have feelings, ok?! </3
      
      This commit is linked to task ID 1838588 and PR #25075.
      cf505c36
    • XavierDo's avatar
      [IMP] auth_signup, mail: notify inviter user when invited user connects · c446fb20
      XavierDo authored
      Purpose of this commit is to improve the onboarding and the first steps of
      Odoo notably when using Discuss and inviting first people to join Odoo.
      
      When a new user connects the user who invited him will be notified with
      a desktop notification inviting him to have a chat in Discuss and talk
      together.
      
      This commit is linked to task ID 1838588 and PR #25075.
      c446fb20
    • XavierDo's avatar
      [IMP] mail: add a desktop notification request to systray · 340e1c02
      XavierDo authored
      Purpose of this commit is to improve the onboarding and the first steps of
      Odoo notably when using Discuss and inviting first people to join Odoo.
      
      In this commit we now ask the user to activate desktop notifications. Like
      already done in Discuss a message will appear in systray in order to ask the
      user to do it. This message will disappear once the user accepts or blocks
      desktop notifications.
      
      This commit is linked to task ID 1838588 and PR #25075.
      340e1c02
    • Martin Trigaux's avatar
      [FIX] lunch: convert date to string · 78c9084e
      Martin Trigaux authored
      To properly dump it in json
      78c9084e
    • Christophe Simonis's avatar
      edd58600
    • RomainLibert's avatar
      [IMP] mail: add feedback option to kanban activities · fd02fec8
      RomainLibert authored
      In the kanban view, there was no possibility to add a feedback when
      closing an activity this commit adds the same popover as the one we have
      in the form view.
      
      This commit also add the templates to this popover with the possible to
      directly send the template or open the composer.
      
      Task #1870662
      Closes #26280
      fd02fec8
    • Mitali Patel's avatar
      [FIX] hr: Set the same name/image for administrator's employee · 3f3593a4
      Mitali Patel authored
      Make sure that the employee and its user have the same name and image
      3f3593a4
Loading