1. 15 Sep, 2021 1 commit
    • Asier Lostalé's avatar
      fixes ISSUE-47511: Entity.getProperty generates too much memory garbage · 2d8de095
      Asier Lostalé authored
      Entity.getProperty, which is invoked all the time, generated a huge
      amount of memory garbage just preparing the message to be displayed in
      case the requested property does not exist, which is thrown only very
      rarely.
      
      It has been optimized by moving the null check from Check.isNotNull to
      Entity class and generating the message only when it is actually thrown.
      2d8de095
  2. 13 Sep, 2021 1 commit
  3. 09 Sep, 2021 1 commit
  4. 07 Sep, 2021 1 commit
  5. 31 Aug, 2021 1 commit
    • Asier Lostalé's avatar
      fixed BUG-47590: grid timeout not applied in audit trail deleted rows · 448e3cec
      Asier Lostalé authored
      Although correct grid query profile was set by fix 45a22d23973d for
      BUG-44265, it was not applied when displaying deleted records. The
      reason is deleted records queries are generated as manual sql and
      executed through the ExecuteQuery API. This API was not taking into
      account profile timeouts.
      
      This commit:
       * Makes ExecuteQuery aware of query timeouts.
       * Allows AuditTrailDeletedRecords.getDeletedRecords to throw the
         exceptions that might occur during query execution so the caller
         catches them displaying a message to the user.
       * Removes an unused AuditTrailDeletedRecords.getDeletedRecords
         overloaded method.
      448e3cec
  6. 30 Aug, 2021 1 commit
  7. 26 Aug, 2021 3 commits
    • Víctor Martínez Romanos's avatar
      Fixed ISSUE-47552: Invoice generator from goods shipment with positive tolerance · 89871c14
      Víctor Martínez Romanos authored
      The fix makes sure we invoice any quantity shipped that wasn't been invoiced yet.
      
      The code has been fixed in two concrete places, both associated with the scenario of
      a goods shipment linked to a sales order:
      
      1. When the invoice terms is After Order delivery: in this case que make sure we invoice
      even in the case the order's delivery status is greater than 100 (that might happen with
      quantity variable products or tolerances in WMS).
      
      2. When the invoice terms allows to invoice before the shipment: in this case the formula
      to calculate the qty to invoice has changed. Before it was:
        min(qtyOrdered - qtyInvoiced, qtyInThisShipment).
      which was trying to support the corner case where the sales order was previously invoiced
      before the shipment.
      
      After the fix the formula is:
        qtyTotallyShipped - qtyPreviouslyInvoiced
      and supports the corner case where the sales order has been previously invoiced but in a
      different way. Instead of looking at the qty being shipped right now, it considers all the
      shipped qty (including this shipment). This allows to easily know the qty actually pending
      to invoice.
      89871c14
    • Víctor Martínez Romanos's avatar
      Related to ISSUE-47552: Added new tests to cover the reported issue · 2673733f
      Víctor Martínez Romanos authored
      * Sales order fully/partially invoiced before the shipment
      * Shipping more quantity than the originally ordered with different invoice terms
      
      Also includes fixes in the javadoc of one method that wasn't accurate
      2673733f
    • Víctor Martínez Romanos's avatar
      Related to ISSUE-47552: Centralize refresh in tests · 895d7dd2
      Víctor Martínez Romanos authored
      Instead of manually refreshing the sales order everytime the goods shipment
      is processed, we do it inside the test's method that process the shipment.
      895d7dd2
  8. 13 Aug, 2021 1 commit
    • Carlos Aristu's avatar
      fixes ISSUE-47546: Install translations from command line fails · cd23e2e3
      Carlos Aristu authored
        The TranslationManagerHook instances are retrieved with WeldUtils
      which can not be properly initialized outside of a servlet context, for
      example when installing translations directly from the command line. In
      that case a NPE was being thrown.
      
        Now we ensure that we are in a servlet context before trying to get
      the TranslationManagerHook instances with WeldUtils.
      cd23e2e3
  9. 11 Aug, 2021 1 commit
  10. 09 Aug, 2021 1 commit
  11. 05 Aug, 2021 1 commit
  12. 21 Jul, 2021 8 commits
  13. 20 Jul, 2021 1 commit
  14. 16 Jul, 2021 1 commit
  15. 15 Jul, 2021 1 commit
    • Asier Lostalé's avatar
      fixes BUG-47320: saved views display uuid for some FK filters · f98a3f3d
      Asier Lostalé authored
      When a saved view included a filter by ID in a FK field that belongs to
      a subtab that is not the first subtab of the root tab, the uuid instead
      of the identifier was displayed.
      
      This occurred because even the view was properly saved including the
      current identifier for the filtered IDs, when it was applied it assumed
      the filter editor was always already created to apply this cached
      informantion. As tabs are lazyly created this is only true for the root
      tab and its first child, but not for the rest. In these cases cache was
      not applied displaying the uuid intead of the identifier.
      f98a3f3d
  16. 13 Jul, 2021 1 commit
  17. 09 Jul, 2021 1 commit
    • Augusto Mauch's avatar
      Fixes ISSUE-47309: Saving record from form view sometimes fails if grid does... · b3cc188d
      Augusto Mauch authored
      Fixes ISSUE-47309: Saving record from form view sometimes fails if grid does not have all data in cache
      
      The problem was the following:
      - Start with a grid where not all data is cached (i.e. Sales Order after cleaning the filter)
      - Use a grid sort so that the new record would end up after the last one shown in the grid (i.e. documentno asc)
      - Add a record in form view. The record is initially added to the grid in the first row, but the filter is applied right after
      - Because the new record would not be in the first page, the grid would move the viewport to display it and do datasource requests to obtain the proper page
      - These unexpected datasource requests result in grid selections not storing the new data properly
      
      To fix this we follow a similar approach to what is done when adding a new row to the grid while not having all the data cached [1]. The new row is stored in the first
      position, regardless of the filter. Now when storing a new record in form view, the grid filter is removed if not all the data is cached, and as a result the new record
      will be stored in the first position, and the grid selection will work as expected.
      
      [1] https://gitlab.com/openbravo/product/openbravo/-/blob/master/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js#L3663
      b3cc188d
  18. 01 Jul, 2021 1 commit
  19. 30 Jun, 2021 2 commits
    • Augusto Mauch's avatar
      Fixes ISSUE-46775: Update package-lock and package-lock.json to fix npm audit issues · a7f9231b
      Augusto Mauch authored
      Updated dependencies:
      	browserslist: 		4.16.1 -> 	4.16.6
      	caniuse-lite: 		1.0.30001177 ->	1.0.30001241
      	colorette: 		1.2.1 -> 	1.2.2
      	electron-to-chromium: 	1.3.639 -> 	1.3.761
      	node-releases: 		1.1.69 -> 	1.1.73
      	glob-parent: 		5.1.1 -> 	5.1.2
      	hosted-git-info:	2.8.8 -> 	2.8.9
      	lodash: 		4.17.20 -> 	4.17.21
      	ws: 			7.4.2 -> 	7.5.1
      	xmldom: 		0.1.31 -> 	0.6.0
      
      babel.config.js has been updated to also include the current version of
      node(the one that executes for example npm test). This is due to some
      features that were only present in node 15 being used and not available
      for node 14.
      a7f9231b
    • Mark Orlando Molina's avatar
      Fixes BUG-47045: Set the order reference to an invoice header when the Order is updated. · 20d6adc3
      Mark Orlando Molina authored
      When the C_Order_Id is filled (insert/update), the corresponding reference no. is inserted
      unless the user did manually enter any other value, which in this case it's kept.
      
      When the C_Order_Id is removed, the reference no. is removed too only if it's exactly the
      same value as the order being removed, otherwise it's kept (which means the user manually
      entered any other reference here).
      
      The logic is managed in a trigger, so any invoicing process will get the same logic.
      20d6adc3
  20. 25 Jun, 2021 3 commits
  21. 24 Jun, 2021 1 commit
    • Asier Lostalé's avatar
      fixes BUG-47236: "changes pending" displayed after MMC module install + rebuild · 6d593a3d
      Asier Lostalé authored
      After following the steps described in the doc to install a module:
       - Install module from MMC
       - ant update.database
       - ant compile.complete.deploy
      
      the module remains in status Pending (P).
      
      Status is updated to Applied (A) on install.source and smartbuild.
      
      This fix moves the status update from smartbuild to update.database
      after applying modules (importing their reference data) where this flag is
      used. In fact, this is more correct than what was done before as
      smartbuild without datbase update could lead modules in an incorrect
      status.
      6d593a3d
  22. 22 Jun, 2021 2 commits
    • Stefan Huehner's avatar
      ISSUE-37498: Deprecate long obsolete ad_client email columns · 97b406e1
      Stefan Huehner authored
      - Since 3.0MP9 the email related column in ad_client table were no longer
        used (and instead the ones in c_poc_configuration).
        However the change in MP9 did not mark the columns as deprecated. Do
        that now to make it more visible in code (i.e. src-gen).
      - One of the columns smtphost has also still stored into the HttpSession
        under the #Client_SMTP name. Checking across all published modules +
        gitlab.com/openbravo/* did not find any user.
        So stop storing that deprecated column value in the session.
      97b406e1
    • Stefan Huehner's avatar
      Fixes ISSUE-37498. Remove deprecated EMAil class. · 093d9330
      Stefan Huehner authored
      That old class was make obsolete and deprecated in MP9.
      However code in AlertProcess was left using it as a fallback.
      
      However the modulescript UpgradeToPoc email (added back then) was
      auto-upgrading the config from ad_client to c_poc_configuration already.
      
      That made this fallback code kind of obsolete already, remove it
      completely.
      That allows to delete the obsolete files.
      093d9330
  23. 21 Jun, 2021 1 commit
    • Mark Orlando Molina's avatar
      Fixes BUG-46886: Fix already shipped quantity in RTVS · a2e709ac
      Mark Orlando Molina authored
      The already shipped quantity was only be calculated correctly if preference "Enable UOM Management" was configured, in other cases process was not taking into account already shipped quantities.
      To fix this, if the preference is not configured any conversion is required so the already shipped qty will be the sum of movement quantities in all the lines.
      a2e709ac
  24. 17 Jun, 2021 3 commits
    • Stefan Huehner's avatar
      ISSUE-47174. Fix incremental compile near generate.entities.quick · bfa9f2dc
      Stefan Huehner authored
      Similar to issue 20416 also compile.src.gen & generate.entities.quick
      had same bug causing to recompile files in modules/* always.
      
      Fix that by ensuring the include part of javac call only matches the
      path matching the javapackage of the source files.
      
      - Specifically for compile.src.gen:
        - Remove the modules/*/src part which is supposed to match the src
          subfolder in any present module.
          Replace it by dirset entry matching the needed src subfolder
          separately.
      - For the javac call at the end of generate.entities.quick split the
        srcdir attributed by a separate entry. Goal is the same to change from
        the ${base.modules} to a dirset matching the src folders properly
      bfa9f2dc
    • Stefan Huehner's avatar
      Fixes ISSUE-47174. Simplify & speed up calling generate.entities* · f8a55d96
      Stefan Huehner authored
      Change GenerateEntitiesTask to directly to the work in its main method
      instead of calling into AntExecutor and getting called again as an ant
      task.
      
      That simplifies both the build.xml & src/build.xml by removing the
      additional generate.entities.quick.forked target as well as simplifes
      the java code slightly.
      Extra benefit is shaving of 2-3 seconds of runtime of
      generate.entities.quick call which is called indirectly by various other
      build tasks.
      
      Side-effect:
      Stop supporting the obsolete friendlyWarning flag which is not set anymorr
      after the MMC rebuild popup removal.
      f8a55d96
    • Asier Lostalé's avatar
      fixes BUG-46930: tabs hidden by display logic are accessible from menu · 2330b84c
      Asier Lostalé authored
      When tabs are hidden by display logic and the whole tab set does not fit
      in the window, they are still present and accesible from the drop down tab
      menu selector.
      
      SmartClient shows as disabled those tabs which are marked as disabled
      but it does not provide a way not to display some tabs in the menu (see
      SC's TabSet.showTabPickerMenu). Hidden tabs will be marked as disabled
      in the menu.
      2330b84c
  25. 16 Jun, 2021 1 commit