Skip to content
Snippets Groups Projects
  1. Nov 19, 2020
    • Achraf (abz)'s avatar
      [FIX] stock: Show only affected products for lot_id name_search · 3b33f1d3
      Achraf (abz) authored
      
      What are the steps to reproduce your issue ?
      
          1. Install 'stock'
          2. Create 'ProductA' with 'Tracking By Lots'
          3. Create some 'Lots/Serial Numbers', for example 'CodeA0 and 'CodeA1'
          4. Go to 'Reporting/Inventory Report'
          5. Remove 'Product > Location' from the search bar.
          6. Click 'Create' and select 'ProductA' with 'WH/Stock' Location
      
      What is currently happening ?
      
          When you set 'Lot/Serial Number', the available lots to choose
          are not limited to the selected product only.
      
      What are you expecting to happen ?
      
          Show only lots of the selected product.
      
      Why is this happening ?
      
          The domain contained no condition which depended on the product.
      
      How to fix the bug ?
      
          Addition of a condition that depends on the product.
      
      opw-238143
      
      closes odoo/odoo#62005
      
      Signed-off-by: default avatarNicolas Martinelli (nim) <nim@odoo.com>
      3b33f1d3
    • nie's avatar
      [FIX] calendar: recurring events have wrong end date · aa8d24ad
      nie authored
      Steps to reproduce:
      - Install Online Appointments
      - Go to Calendar > Online Appointments > create a new one
      - Add an available employee like "Mitchell Admin"
      - Make a slot for each week day at 8:00
      - Go to the Calendar of the employee and create a recurrent meeting from 6:00 to 12:00 which repeats everyday for 10 days
      - Go to the Online Appointments you created then click the button "Go to Website"
      
      Bug:
      You can still make an appointment when the employee is busy.
      
      Explanation:
      Recurring events had their stop date always set to one hour after their start date. So, appointments could still be made two hours after the start date.
      
      As seen here: https://github.com/odoo/odoo/blob/ee76b25b003f96073f78420960e216acf14bf821/addons/calendar/models/calendar.py#L47
      `with_date` is passed to `timedelta()`. And passing `hours=True` works as if `True` was `1`.
      
      ```python
      >>> from datetime import timedelta
      >>> timedelta(hours=True)
      datetime.timedelta(seconds=3600)
      ```
      
      This fix reproduces the behavior before this commit introduced the bug: https://github.com/odoo/odoo/commit/9920f20e4c7753bc17bea71dea3a90f7de687196
      That is, if no duration is given or duration is `0`, one hour is used instead.
      
      This bug probably occured because of the naming of the definition: https://github.com/odoo/odoo/blob/ee76b25b003f96073f78420960e216acf14bf821/addons/calendar/models/calendar.py#L33
      
      
      In fact, `with_date` can be interpreted as being boolean, and the `False` default isn't helping against that. A possibly better alternative to this could be:
      
      ```python
      def calendar_id2real_id(calendar_id=None, duration=None):
      ```
      
      opw:2334449
      
      closes odoo/odoo#61823
      
      Signed-off-by: default avatarbackspac <backspac@users.noreply.github.com>
      aa8d24ad
  2. Nov 18, 2020
    • nie's avatar
      [FIX] calendar: also generate recurrent events when stop is only > or = · 52552c13
      nie authored
      Steps to reproduce the bug:
      - Install Online Appointments
      - Go to Calendar > Online Appointments > create a new one
      - Add an available employee like "Mitchell Admin"
      - Make a slot for each week day at 8:00
      - Go to the Calendar of the employee and create a recurrent meeting on yesterday's date from 7:00 to 11:00 which repeats everyday for 10 days
      - Go to the Online Appointments you created then click the button "Go to Website"
      
      Bug:
      The employee's events aren't generated and available slots show up as if the events didn't exist.
      
      Explanation:
      The events weren't generated if the recurrence start date wasn't within the generation frame.
      52552c13
  3. Nov 19, 2020
  4. Nov 18, 2020
    • Mohammed Shekha's avatar
      [IMP] website_rating: return RatingPopupComposer from portal_rating_composer.js · 6514bb70
      Mohammed Shekha authored
      
      before this commit: portal_rating_composer.js do not return anything, as it does
      not return anything extending RatingPopupComposer is not possible, as
      RatingPopupComposer loads template using xmlDependencies so inherting template
      'website_rating.PopupComposer' is also not possible because if some other module
      wants to extend 'website_rating.PopupComposer' template then it has to add extended
      template by extending 'RatingPopupComposer' widget.
      
      with this commit: RatingPopupComposer is returned in portal_rating_composer.js
      
      closes odoo/odoo#61940
      
      Signed-off-by: default avatarNicolas Martinelli (nim) <nim@odoo.com>
      6514bb70
  5. Nov 19, 2020
    • Xavier Morel's avatar
      [CHG] base_import: increase recursion limit to 3 · 52cc35b8
      Xavier Morel authored
      
      As part of QoL PR #26267 the way the recursion limit was
      managed (where it is checked) was changed, effectively decreasing the
      recursion limit by 1 (to the originally expected limit of 2).
      
      According to #29877 this is an inconvenient change / regression in
      e.g. accounting context: if an object has journal entries, updating a
      field of a journal item requires 3 levels of indirection (entries ->
      items -> field). The same would occur if an object is e.g. linked to
      multiple projects (projects -> tasks -> field) or SO (-> lines ->
      field).
      
      Therefore bump the recursion limit up to 3.
      
      Closes #29877
      
      closes odoo/odoo#61984
      
      X-original-commit: 64ff41ce
      Signed-off-by: default avatarXavier Morel (xmo) <xmo@odoo.com>
      52cc35b8
  6. Nov 18, 2020
    • Raphael Collet's avatar
      [FIX] core: update of custom models in registry · e9da8688
      Raphael Collet authored
      
      When removing custom models from the registry, one also has to remove
      indirect references to those model.  One such reference is the name of
      the custom model in its parent models' `_inherit_children`.
      
      Not removing that reference causes a crash when one of the parent models
      is extended: the parent model will make its children models recompute
      some of their attributes (see method `_build_model_attributes`).
      
      closes odoo/odoo#61672
      
      Signed-off-by: default avatarRaphael Collet (rco) <rco@openerp.com>
      e9da8688
    • Denis Ledoux's avatar
      [FIX] registry: unit test for #60899 · f264ac21
      Denis Ledoux authored
      
      The field `display_name` is a magic field automatically added to all
      models.  On a custom model, it depends on `x_name`.
      
      As it is automatically added by the ORM, `display_name` is considered a
      `base` field, while `x_name` is considered a `manual` field.
      
      On loading the transitive dependencies of `display_name` of a custom
      model, for which the loading of the `x_name` has been skipped because it
      depends on field not yet loaded, the exception was not ignored because
      exceptions are ignored only for `manual` field, and `display_name` is
      considered a `base` field.
      
      Upgrade request 56274
      
      Co-authored-by: default avatarRaphael Collet <rco@odoo.com>
      f264ac21
    • Goffin Simon's avatar
      [FIX] stock: Creating operation type as Administrator · 472fc282
      Goffin Simon authored
      
      Steps to reproduce the bug:
      
      - Let's consider a user U with access rights Inventory Amdinistrator
      - Try to create an operation type with U
      
      Bug:
      
      An access error was raised because U has no rights to create an ir.sequence
      record.
      
      opw:2381272
      
      closes odoo/odoo#61949
      
      Signed-off-by: default avatarSimon Goffin (sig) <sig@openerp.com>
      472fc282
    • Samuel Degueldre's avatar
      [FIX] website_blog: make twitter share string translatable · 6142b559
      Samuel Degueldre authored
      Previously the default message when sharing a blog article was
      hardcoded, meaning it was always in English and not translatable, this
      commit fixes that.
      
      Closes https://github.com/odoo/odoo/issues/31173
      
      
      task-2369420
      
      closes odoo/odoo#61714
      
      X-original-commit: 75db5ee7433bc0329465d5d81aa04645d2b7a9e3
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      6142b559
    • asa-odoo's avatar
      [FIX] web: correctly append search input in small devices · 2667bba3
      asa-odoo authored
      
      In small devices, the `SearchviewInput` is rendered based on visibility of few
      elements (`o_toggle_searchview_full` and `o_mobile_search`). But whie switching
      views, those elements are not available in the DOM yet and so the visibility
      cannot be checked, so the SearchViewInput is not added, breaking the UI in
      mobile search view.
      
      Test case
      ---------
      - open sales module
      - in kanban view, click on search field icon to open search view
      - switch to any other view from kanban
      - now, return back to kanban view, you can find filter icon
        change its position
      
      This commit fixes the issue by changing the condition to add `SearchviewInput`
      based on class instead of based of their visibility in DOM.
      
      Task ID: 2183681
      PR #49497
      
      Signed-off-by: default avatarAdrien Dieudonné (adr) <adr@odoo.com>
      2667bba3
  7. Nov 16, 2020
  8. Nov 17, 2020
    • Hardik Prajapati's avatar
      [FIX] web: Fix the height of svg when signature is empty · 406bc671
      Hardik Prajapati authored
      
      Currently, in the user setting, hovering on the live chat input will
      focus on the signature div due to long height of the empty svg.
      
      So in this commit fixes the issue by adding the css property in the
      svg element of signature widget due to that svg element contains the
      proper width and height.
      
      closes odoo/odoo#61893
      
      Taskid: 2361880
      X-original-commit: 6fe2a0b8b6f8dadb2eb7008019f2d7266dcf6fb1
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      406bc671
  9. Oct 21, 2020
  10. Nov 17, 2020
    • Anh Thao Pham (pta)'s avatar
      [FIX] crm: fix Lost filter on Opportunities view of Contact · f3778e72
      Anh Thao Pham (pta) authored
      
      - Install CRM
      - Create an Opportunity for a partner (i.e. Deco Addict) and mark it as Lost
      - Go to Contacts and select Deco Addict
      - Click on Opportunities smart button
      - Select "Lost" filter
      Nothing is displayed, although there should be at least one lost opportunity.
      
      When displaying Opportunities from smart button of Contact,
      ('id', 'in', self.opportunity_count_ids.ids) is added in domain, which will not
      allow any other opportunity to be displayed.
      But Lost Opportunities are non-active records that were not originally computed
      in "opportunity_count_ids".
      
      Opportunities smart button should filter records on partner_id instead.
      
      opw-2382754
      
      closes odoo/odoo#61796
      
      Signed-off-by: default avatarAnh Thao PHAM <kitan191@users.noreply.github.com>
      f3778e72
    • Odoo's Mergebot's avatar
      [FIX] website: align website dashboard actions and list view · c6c9135e
      Odoo's Mergebot authored
      
      Before this commit, click on a button stat from the website dashboard, don't always respect the current filter.
      
      Date filter was missing, website_id wrongly filtered, or domain not exactly the same.
      
      Now, we try to align the dashboard data with the actions.
      
      --
      I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
      
      closes odoo/odoo#61333
      
      Signed-off-by: default avatarJérémy Kersten (jke) <jke@openerp.com>
      Unverified
      c6c9135e
    • Romain Derie's avatar
      [FIX] website_sale: align dashboard data · 2f38d1a0
      Romain Derie authored
      Before this commit, the python domain on sale.report would not get today's data
      as it would do `date >= 2020-03-03`, but it means `2020-03-03 00:00:00`,
      actually excluding today.
      Then the JS domains to retrieve those data once you click on the metric (it
      loads an act window with his domain + additional domain though js) would have
      a different date domain, including today.
      
      Note that there is still some inconsistencies between python and JS such as
      last month filter which is in python (in template filter) today - 30 days
      while in JS it is moment.subtract 1 month which might be 31 days.
      2f38d1a0
    • Romain Derie's avatar
      [FIX] website_sale: restore date filters · e402dfee
      Romain Derie authored
      Those were removed with f9874b2b and restored in 14.0 (master at that point) with cc6000ab.
      
      This commit restores the missing filters for the context filters to work on
      the view used in stable.
      e402dfee
    • Romain Derie's avatar
      [FIX] website_sale: align domain from route and act window · 8ed138dc
      Romain Derie authored
      Act window domain are used to load tree view data when clicking on dashboard
      metric.
      That metric is retrieved through domain in backend.
      
      This domain part wasn't adapted in act window domain (can't use ref).
      As searching on website is enough to get ecommerce order, this line can be
      safely removed, it is an old code that was needed before website_id was set on
      order, as it can be noticed in f6fc7c23.
      8ed138dc
    • Romain Derie's avatar
      [FIX] website_sale: make dashboard action domain same as displayed data · 3184cc5e
      Romain Derie authored
      The metrics displayed on the dashboard are retrieved through a domain used in
      `fetch_dashboard_data()` route.
      When clicking on one of those metrics, an action is called with a domain.
      
      This commit fixes incoherences between those domains.
      
      task-2369420
      3184cc5e
    • Romain Derie's avatar
      [FIX] website: use correct action domain on dashboard · 0d5c73a5
      Romain Derie authored
      Without this commit, when clicking on a metric on the website dashboard, it
      would not load the correct data.
      Indeed, the dashboard is loaded for a specific website only, but clicking on a
      metric opens the data for every website together.
      
      Step to reproduce:
        - Make some orders on 2 differents website ecommerce
        - OPTIONAL: Get through the payment on some orders, then just leave some
          products in the cart afterward to have some unpaid orders
        - Go to the website dashboard, you see some metrics
        - Change the selected website on top right, you see the metrics adapts
          correctly
        - Click on a metric, it doesn't fit the number you clicked on. For instance,
          if you had 1 Unpaid Orders for website 1 and 3 Unpaid Orders for website 2,
          you see 4 orders in the tree view once you have clicked the metric.
      
      This commit ensures the correct website is appended to every dashboard action
      domain.
      
      opw-2369420
      Fixes #44926, fixes #51125
      0d5c73a5
    • Achraf (abz)'s avatar
      [FIX] product: Change public pricelist currency when changing main currency · 4b088d55
      Achraf (abz) authored
      
      What are the steps to reproduce your issue ?
      
          1. Go to 'odoo.com/trial' and create a database with 'account'
      
          or
      
          1. Start local server with a new database and with '--without-demo=all --init=account'
      
          2. Change main currency from 'EUR' to 'USD' in settings
      
      What is currently happening?
      
          Error raised when trying to install 'point_of_sale'
      
      What are you expecting to happen?
      
          Install 'point_of_sale' normally even after changing main currency
      
      Why is this happening?
      
          But there is a condition which verifies that there is not already
          a pricelist with the currency we want to set or with the currency
          of the company. Otherwise it prevents the pricelist modification
      
      How to fix the bug ?
      
          Change the condition so that it allows the change of the pricelist
          in the case where the currency we want to set is not the same as the
          currency of the company
      
      opw-2376457
      
      closes odoo/odoo#61833
      
      X-original-commit: 716e0e79
      Signed-off-by: default avatarAchraf <abz-odoo@users.noreply.github.com>
      4b088d55
    • Ivan Yelizariev's avatar
      [FIX] sale: fix custom values order in product description · 57eb0507
      Ivan Yelizariev authored
      
      STEPS:
      * activate Product Configurator
      * create 3 attributes with custom values option
      * create a quotation with a product having all 3 attributes and custom values
      * select the custom values for attributes in different orders for each SO line
      
      BEFORE: Product description get random order for the custom attributes list
      
      AFTER: Order is fine
      
      ---
      
      opw-2379778
      
      closes odoo/odoo#61836
      
      Signed-off-by: default avatarIvan Yelizariev // IEL <yelizariev@users.noreply.github.com>
      57eb0507
  11. Oct 22, 2020
  12. Nov 17, 2020
    • Goffin Simon's avatar
      [FIX] website: Delete the current website · 93a2e85a
      Goffin Simon authored
      
      Steps to reproduce the bug:
      
      - Delete the current website
      - Go to homepage
      
      Bug:
      
      An error 500 was displayrd
      
      opw:2381929
      
      closes odoo/odoo#61840
      
      X-original-commit: 0e7faad49ed78f5def56d9af90c383cbbfa42e9f
      Signed-off-by: default avatarSimon Goffin (sig) <sig@openerp.com>
      93a2e85a
    • Benoit Socias's avatar
      [IMP] payment, payment_test: missing payment token identifier · e20f0650
      Benoit Socias authored
      Before this commit payment tokens had no name for Test Payment Acquirer
      
      After this commit tokens generated by Test Payment Acquirer have a name
      that combines the last 4 digits of the card number and the card account
      holder name
      
      https://github.com/odoo/odoo/issues/50965
      
      
      
      closes odoo/odoo#61423
      
      Signed-off-by: default avatarJérémy Kersten (jke) <jke@openerp.com>
      e20f0650
    • Achraf (abz)'s avatar
      [FIX] account: Use dot and comma in company name · 9584d47a
      Achraf (abz) authored
      
      What are the steps to reproduce your issue ?
      
          1. Create two companies, both including characters "," and "."
          2. Of the two created companies, select the company with id=1 on the company selector
          3. Accounting app > Configuration > Journals
          4. Create new journal for company_id=1 and find creation successful
          5. Go back to apps dashboard and change company to id=/=1 on company selector
          6. Accounting app > Configuration > Journals (again)
          7. Create new journal for second company (company_id=/=1)
      
      What is currently happening ?
      
          Error raised when trying to save.
          'You cannot use anything else than unaccented latin characters in the alias address.'
      
      What are you expecting to happen ?
      
          Create journal without error.
      
      Why is this happening ?
      
          Because the function returning the aliases: `_get_alias_values`
          cleans up accents but does not remove dot and commas.
      
      How to fix the bug ?
      
          Replace dots and commas with dashes, which is an allowed character.
      
      opw-2371836
      
      closes odoo/odoo#61811
      
      Signed-off-by: default avatarNicolas Martinelli (nim) <nim@odoo.com>
      9584d47a
  13. Nov 16, 2020
  14. Nov 17, 2020
  15. Nov 16, 2020
    • Antoine Prieels's avatar
      [IMP] hw_drivers: Add action data in IoT events · df833c35
      Antoine Prieels authored
      
      Add all the request data in events triggered by IoT actions.
      
      closes odoo/odoo#61789
      
      Taskid: 2320958
      Related: odoo/enterprise#14755
      Signed-off-by: default avatarQuentin Lejeune (qle) <qle@odoo.com>
      df833c35
    • Antoine Prieels's avatar
      [FIX] hw_drivers: Lost IoT events · 01940a3b
      Antoine Prieels authored
      Events coming from the IoT Box were lost in two cases:
      
      1. Create a listener for device 1
      2. Send an action to device 1
      --> If the action arrives before the listener the event is never sent
      to the DB
      
      1. Setup up two listeners for devices 1 & 2
      2. After a few seconds, send two consecutive actions to devices 1 & 2
      --> Everytime a longpolling request arrives, a new threading.Event
      object is created. The first action sets the event, then, before the
      new longpolling request arrives, the second action sets the same event,
      which is overwritten once the new longpolling request arrives.
      
      We now maintain a list of events, and when a longpolling request
      arrives on the IoT Box, we make sure that all events that occured in
      the last 5 seconds were received by the DB. If no events were pending,
      we wait 50 seconds to check if a new one pops up.
      
      TaskID: 2320958
      01940a3b
    • Nicolas Galler's avatar
      [FIX] sale, sales_team: fallback to partner's team · 41d00e06
      Nicolas Galler authored
      
      Behavior prior to the commit:
      
      - when setting the customer (partner) on a sales order, the sales team
      is set based on the partner's sales person.  If there is no sales person
      on the partner then the team defaults to the first team in sequence for
      the company.
      - the team set on the partner is not used (by default, this field is not
      visible, but it can be set from server action or added via studio).  In
      Odoo 12.0 the team set on the partner was used as a fallback, but this
      was removed in commit 242be004
      
      Behavior after the commit:
      
      - the partner's team is used as fallback when the partner is updated
      - when the salesperson is updated on the quote, we also use the current
      team as fallback (since presumably this was set either from the partner,
      or using the existing default rule, there is no reason to change it)
      - in debug mode, the field `team_id` is shown on the partner view (under
      the `Sales & Purchases` tab)
      
      Note:
      - Change in existing installation is expected to be minimal since it only
      affects the customers who are making use of the partner.team_id field, not
      populated or displayed by default, but there is a risk for a customer who:
         1. has that field populated on existing partners (maybe upgraded from
         an old install where it was displayed?)
         2. is relying on the new (as of v13.0) behavior of assigning the default
         sales team based on the sequence
      
      opw-2351868
      
      closes odoo/odoo#61527
      
      Signed-off-by: default avatarNicolas Galler <ngaller@users.noreply.github.com>
      41d00e06
    • Aurélien Warnon's avatar
      [FIX] web: improve the hit box of the kanban quick_create · 6e1181ff
      Aurélien Warnon authored
      
      When the user clicks outside of the kanban quick create element, it's closing
      itself automatically.
      
      However, the "hit box" of this behavior is not entirely accurate and clicking
      on the very edge of the box would also close the element.
      
      This commit fixes the click behavior and allows clicking anywhere inside the
      quick create element.
      
      Task 2373095
      
      closes odoo/odoo#61753
      
      X-original-commit: 72ed82489daa2b82628dfdefeb06262e17e6548e
      Signed-off-by: default avatarAaron Bohy (aab) <aab@odoo.com>
      Signed-off-by: default avatarawa-odoo <awa-odoo@users.noreply.github.com>
      6e1181ff
    • Nicolas Galler's avatar
      [FIX] stock: shipping entire package does not update delivered quantity · 9255d827
      Nicolas Galler authored
      
      Behavior prior to this commit:
      
      In the following scenario:
      - order of 10 widgets
      - delivery using an entire package of 15 widgets (by adding the package
      under the "Packages" list and checking the "Done" checkbox)
      
      The delivery, when validated, does not update the delivered quantity on
      the sales order, and generates a warning about not shipping enough
      product.  We expect instead the sales order to be updated with the
      actual quantity that was shipped (i.e., 15), and a warning about
      shipping too many products.
      Additionally, when adding the package, the picking reverts to a "Draft"
      state and we have to click "Mark as Todo" again.
      
      Behavior after the commit:
      
      When adding one (or more) entire package in the packages list, and
      marking them as Done, their entire quantity will be marked as Delivered
      on the Sales Order, and no warning about not shipping enough product
      will be shown.  Of note, if the package also contains products that are
      not on the SO, they will be marked as shipped as well (in that case the
      picking will indeed revert to draft since we will have added a new
      product).  However they will not be automatically added to the SO.
      
      Technical details:
      
      When adding a package under the picking it needs to, eventually, reflect
      on a stock move.  Prior to the commit, the system would add a new stock
      move.  This had 2 problems:
       - the generated move did not carry back to the SO,
       - it would flip the picking back to draft (under certain circumstances
       it was possible to circumvent that and have a package level, and a move
       line, that was not tied to a stock move and thus would automatically
       reattach itself when the picking was validated, and sort of work, but
       it was more of a happy accident and relying on the steps being followed
       in a very precise order).
      
      With this commit, we do not generate the stock move as soon as the
      package is added.  Instead, that is done when the picking is marked as
      done, either by relating it to an existing stock move, or by generating
      a new one at this time.
      
      opw-2367893
      
      closes odoo/odoo#61692
      
      Signed-off-by: default avatarNicolas Galler <ngaller@users.noreply.github.com>
      9255d827
  16. Nov 12, 2020
    • Romain Derie's avatar
      [FIX] website: show mega menu over /my sidebar · 702f2b93
      Romain Derie authored
      
      Before this commit, the header elements such as mega menu and dropdown menu had
      a z-index of 1000 (BS value for `.dropdown-menu`) while the portal sidebar has
      a z-index of 1020 (BS value for `.sticky-top`), thus it was not hovering the
      sidebar.
      
      Note that in 14.0 the same fix was applied with 0f2cab4a.
      
      Fixes #60666
      
      closes odoo/odoo#61505
      
      Signed-off-by: default avatarQuentin Smetz (qsm) <qsm@odoo.com>
      702f2b93
  17. Nov 16, 2020
    • IEL's avatar
      [FIX] web: open dropdown in dashboard correctly · 958f5cd3
      IEL authored
      
      STEPS:
      * install Dashboards app
      * add few pivots to Dashboard (e.g. Sales >> Pivot view >> Favorites >> Add to
      my dashboard)
      * open Dashboards app
      * Click "Change Layout" and select any multicolumn
      * place pivots on different colums
      * click "+" in pivots columns
      
      BEFORE: dropdown menu is shifted
      
      AFTER: dropdown menu is in proper place
      
      WHY: the bug is appeared after #37385
      
      ---
      
      opw-2371927
      
      closes odoo/odoo#61409
      
      Signed-off-by: default avatarIvan Yelizariev // IEL <yelizariev@users.noreply.github.com>
      958f5cd3
Loading