# HG changeset patch
# User Adrián Romero <adrianromero@openbravo.com>
# Date 1572890969 -3600
#      Mon Nov 04 19:09:29 2019 +0100
# Node ID 70dbf02e64a6df481647181d092380426f1b8ab2
# Parent  e943115b434511f5b022d70d06ff161f9b7ed0c0
Fixes issue 0042191: Remove use of hook OBPOS_FindTaxRate

diff --git a/src/org/openbravo/retail/taxexempt/TaxExemptComponentProvider.java b/src/org/openbravo/retail/taxexempt/TaxExemptComponentProvider.java
--- a/src/org/openbravo/retail/taxexempt/TaxExemptComponentProvider.java
+++ b/src/org/openbravo/retail/taxexempt/TaxExemptComponentProvider.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2013-2014 Openbravo S.L.U.
+ * Copyright (C) 2013-2019 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -40,7 +40,7 @@
     final List<ComponentResource> globalResources = new ArrayList<ComponentResource>();
     final String prefix = "web/org.openbravo.retail.taxexempt/js/";
 
-    final String[] resourceDependency = { "taxExemptButton", "hookFindTaxRate", "hookCheckPayment",
+    final String[] resourceDependency = { "taxExemptButton", "hookCheckPayment",
         "hookRenderOrderLine" };
 
     for (String resource : resourceDependency) {
diff --git a/web/org.openbravo.retail.taxexempt/js/hookFindTaxRate.js b/web/org.openbravo.retail.taxexempt/js/hookFindTaxRate.js
deleted file mode 100644
--- a/web/org.openbravo.retail.taxexempt/js/hookFindTaxRate.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- ************************************************************************************
- * Copyright (C) 2014-2019 Openbravo S.L.U.
- * Licensed under the Openbravo Commercial License version 1.0
- * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
- * or in the legal folder of this module distribution.
- ************************************************************************************
- */
-
-(function() {
-  OB.UTIL.HookManager.registerHook('OBPOS_FindTaxRate', function(
-    args,
-    callbacks
-  ) {
-    if (args.context.get('bp').get('taxExempt')) {
-      args.line.set('obtaxexIstaxexempt', true);
-    } else if (args.line.get('obtaxexIstaxexempt')) {
-      args.sql =
-        "select * from c_tax where istaxexempt = 'true' order by validfrom, c_tax_id desc limit 1";
-    }
-    OB.UTIL.HookManager.callbackExecutor(args, callbacks);
-    return;
-  });
-})();
diff --git a/web/org.openbravo.retail.taxexempt/js/hookRenderOrderLine.js b/web/org.openbravo.retail.taxexempt/js/hookRenderOrderLine.js
--- a/web/org.openbravo.retail.taxexempt/js/hookRenderOrderLine.js
+++ b/web/org.openbravo.retail.taxexempt/js/hookRenderOrderLine.js
@@ -12,6 +12,15 @@
     args,
     callbacks
   ) {
+    // Set the taxExempt attribute at line level.
+    args.orderline.model.set(
+      'obtaxexIstaxexempt',
+      args.order.get('bp').get('taxExempt'),
+      {
+        silent: true
+      }
+    );
+
     if (args.orderline.model.get('obtaxexIstaxexempt')) {
       args.orderline.createComponent({
         style: 'display: block;',
