Author: arunpatidar
Date: Tue Jun  7 13:18:40 2016
New Revision: 1747223

URL: http://svn.apache.org/viewvc?rev=1747223&view=rev
Log:
Applying patch from jira ticket OFBIZ-7201.
===============================================================================
Fixed different forms, screens and services affected due to removal of 
parentTypeId from 'PURCHASE_INVOICE' and 'SALES_INVOICE' InvoiceType data.
==============================================================================
Thanks Anurag Chandak for your contribution.

Modified:
    
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
    
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
    ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml
    ofbiz/trunk/applications/accounting/widget/ap/forms/InvoiceForms.xml
    ofbiz/trunk/applications/accounting/widget/ap/forms/LookupForms.xml
    ofbiz/trunk/applications/accounting/widget/ar/forms/InvoiceForms.xml
    ofbiz/trunk/applications/accounting/widget/ar/forms/LookupForms.xml
    
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/PartyFinancialHistory.groovy

Modified: 
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
 (original)
+++ 
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
 Tue Jun  7 13:18:40 2016
@@ -2023,8 +2023,8 @@ under the License.
         <set field="totalAmountFromInvoice" type="BigDecimal" value="0"/>
 
         <entity-one entity-name="Invoice" value-field="invoice"/>
-        <get-related-one value-field="invoice" relation-name="InvoiceType" 
to-value-field="invoiceType"/>
-        <if-compare field="invoiceType.parentTypeId" operator="equals" 
value="PURCHASE_INVOICE">
+        <set field="isPurchaseInvoice" value="${groovy: 
org.ofbiz.entity.util.EntityTypeUtil.hasParentType(delegator, 'InvoiceType', 
'invoiceTypeId', invoice.getString('invoiceTypeId'), 'parentTypeId', 
'PURCHASE_INVOICE')}" type="Boolean"/>
+        <if-compare field="isPurchaseInvoice" operator="equals" value="true" 
type="Boolean">
             <entity-condition entity-name="InvoiceItem" list="invoiceItems" 
use-cache="true">
                 <condition-list>
                     <condition-expr field-name="invoiceItemTypeId" 
operator="not-equals" value="PINV_SALES_TAX"/>

Modified: 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
 (original)
+++ 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
 Tue Jun  7 13:18:40 2016
@@ -55,6 +55,7 @@ import org.ofbiz.entity.condition.Entity
 import org.ofbiz.entity.condition.EntityExpr;
 import org.ofbiz.entity.condition.EntityOperator;
 import org.ofbiz.entity.util.EntityQuery;
+import org.ofbiz.entity.util.EntityTypeUtil;
 import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.entity.util.EntityUtilProperties;
 import org.ofbiz.order.order.OrderReadHelper;
@@ -3470,11 +3471,13 @@ public class InvoiceServices {
                         } else if 
(EntityQuery.use(delegator).from("InvoiceType").where("invoiceTypeId", 
invoice.get("invoiceTypeId")).queryOne() == null) {
                             newErrMsgs.add("Line number " + 
rec.getRecordNumber() + ": InvoiceItem type id: " + 
invoice.get("invoiceTypeId") + " not found for invoice: " + currentInvoiceId);
                         }
-                        GenericValue invoiceType = 
EntityQuery.use(delegator).from("InvoiceType").where("invoiceTypeId", 
invoice.get("invoiceTypeId")).queryOne();
-                        if 
("PURCHASE_INVOICE".equals(invoiceType.getString("parentTypeId")) && 
!invoice.get("partyId").equals(organizationPartyId)) {
+                        
+                        Boolean isPurchaseInvoice = 
EntityTypeUtil.hasParentType(delegator, "InvoiceType", "invoiceTypeId", 
(String) invoice.get("invoiceTypeId"), "parentTypeId", "PURCHASE_INVOICE");
+                        Boolean isSalesInvoice = 
EntityTypeUtil.hasParentType(delegator, "InvoiceType", "invoiceTypeId", 
(String) invoice.get("invoiceTypeId"), "parentTypeId", "SALES_INVOICE");
+                        if (isPurchaseInvoice && 
!invoice.get("partyId").equals(organizationPartyId)) {
                             newErrMsgs.add("Line number " + 
rec.getRecordNumber() + ": A purchase type invoice should have the partyId 'To' 
being the organizationPartyId(=" + organizationPartyId + ")! however is " + 
invoice.get("partyId") +"! invoice: " + currentInvoiceId);
                         }
-                        if 
("SALES_INVOICE".equals(invoiceType.getString("parentTypeId")) && 
!invoice.get("partyIdFrom").equals(organizationPartyId)) {
+                        if (isSalesInvoice && 
!invoice.get("partyIdFrom").equals(organizationPartyId)) {
                             newErrMsgs.add("Line number " + 
rec.getRecordNumber() + ": A sales type invoice should have the partyId 'from' 
being the organizationPartyId(=" + organizationPartyId + ")! however is " + 
invoice.get("partyIdFrom") +"! invoice: " + currentInvoiceId);
                         }
 

Modified: ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml Tue Jun  7 
13:18:40 2016
@@ -236,14 +236,20 @@ under the License.
 
     <form name="NewSalesInvoice" type="single" target="createInvoice" 
title="Edit Invoice Header" default-map-name="invoice"
         header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="SALES_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="SALES_INVOICE"/>
+                </condition-list>
+                <order-by field-name="description"/>
+            </entity-condition>
+        </actions>
         <field name="statusId"><hidden value="INVOICE_IN_PROCESS"/></field>
         <field name="currencyUomId"><hidden 
value="${defaultOrganizationPartyCurrencyUomId}"/></field>
         <field position="2" name="invoiceTypeId">
-            <drop-down allow-empty="false" 
no-current-selected-key="SALES_INVOICE">
-                <entity-options entity-name="InvoiceType">
-                    <entity-constraint name="parentTypeId" 
value="SALES_INVOICE"/>
-                    <entity-order-by field-name="description"/>
-                </entity-options>
+            <drop-down no-current-selected-key="SALES_INVOICE">
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
         <field position="1" name="organizationPartyId" 
parameter-name="partyIdFrom">
@@ -260,14 +266,20 @@ under the License.
     </form>
     <form name="NewPurchaseInvoice" type="single" target="createInvoice" 
title="Edit Invoice Header" default-map-name="invoice"
         header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="PURCHASE_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="PURCHASE_INVOICE"/>
+                </condition-list>
+                <order-by field-name="description"/>
+            </entity-condition>
+        </actions>
         <field name="statusId"><hidden value="INVOICE_IN_PROCESS"/></field>
         <field name="currencyUomId"><hidden 
value="${defaultOrganizationPartyCurrencyUomId}"/></field>
         <field position="2" name="invoiceTypeId">
-            <drop-down allow-empty="false" 
no-current-selected-key="PURCHASE_INVOICE">
-                <entity-options entity-name="InvoiceType">
-                    <entity-constraint name="parentTypeId" 
value="PURCHASE_INVOICE"/>
-                    <entity-order-by field-name="description"/>
-                </entity-options>
+            <drop-down no-current-selected-key="PURCHASE_INVOICE">
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
         <field position="1" name="organizationPartyId" 
parameter-name="partyId">
@@ -300,10 +312,10 @@ under the License.
         <field name="statusId" title="${uiLabelMap.CommonStatus}" 
use-when="invoice==null"><hidden value="INVOICE_IN_PROCESS"/></field>
         <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2" 
use-when="invoice!=null"><display-entity entity-name="StatusItem"/></field>
         <field position="1" name="description"><text size="100"/></field>
-        <field position="1" name="partyIdFrom" 
use-when="invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)"><display
 description="${invoice.partyIdFrom}"/></field>
-        <field position="1" name="partyIdFrom" 
use-when="invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)"><lookup
 target-form-name="LookupPartyName"/></field>
-        <field position="2" name="partyIdTo" entry-name="partyId" 
parameter-name="partyId" 
use-when="invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)"><display
 description="${invoice.partyId}"/></field>
-        <field position="2" name="partyIdTo" entry-name="partyId" 
parameter-name="partyId" 
use-when="invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)"><lookup
 target-form-name="LookupPartyName"/></field>
+        <field position="1" name="partyIdFrom" 
use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)
 || 
invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)}"><display
 description="${invoice.partyIdFrom}"/></field>
+        <field position="1" name="partyIdFrom" 
use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)
 || 
invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)}"><lookup
 target-form-name="LookupPartyName"/></field>
+        <field position="2" name="partyIdTo" entry-name="partyId" 
parameter-name="partyId" 
use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)
 || 
invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)}"><display
 description="${invoice.partyId}"/></field>
+        <field position="2" name="partyIdTo" entry-name="partyId" 
parameter-name="partyId" 
use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)
 || 
invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)}"><lookup
 target-form-name="LookupPartyName"/></field>
         <field position="1" name="roleTypeId" 
use-when="invoice!=null&amp;&amp;invoice.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)">
             <drop-down allow-empty="true">
                 <entity-options entity-name="RoleType">

Modified: ofbiz/trunk/applications/accounting/widget/ap/forms/InvoiceForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ap/forms/InvoiceForms.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ap/forms/InvoiceForms.xml 
(original)
+++ ofbiz/trunk/applications/accounting/widget/ap/forms/InvoiceForms.xml Tue 
Jun  7 13:18:40 2016
@@ -66,12 +66,17 @@ under the License.
    </form>
     
     <form name="FindApInvoices" type="single" target="FindApInvoices" 
extends="FindInvoices" 
extends-resource="component://accounting/widget/InvoiceForms.xml">
-        <field name="parentTypeId"><hidden value="PURCHASE_INVOICE"/></field>
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="PURCHASE_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="PURCHASE_INVOICE"/>
+                </condition-list>
+            </entity-condition>
+        </actions>
         <field position="1" name="invoiceTypeId">
-            <drop-down allow-empty="true">
-                <entity-options entity-name="InvoiceType">
-                    <entity-constraint name="parentTypeId" 
value="PURCHASE_INVOICE"/>
-                </entity-options>
+            <drop-down>
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
     </form>
@@ -79,6 +84,12 @@ under the License.
     <form name="FindPurchaseInvoices" type="single" 
target="FindPurchaseInvoices">
         <actions>
             <set field="organizationPartyId" 
from-field="parameters.organizationPartyId" 
default-value="${defaultOrganizationPartyId}"/>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="PURCHASE_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="PURCHASE_INVOICE"/>
+                </condition-list>
+            </entity-condition>
         </actions>
         <field name="partyIdFrom" title="${uiLabelMap.AccountingVendorParty}" 
position="1"><lookup target-form-name="LookupPartyName"/></field>
         <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
@@ -94,10 +105,8 @@ under the License.
         <field name="fromDueDate" position="1"><date-time/></field>
         <field name="thruDueDate" position="2"><date-time/></field>
         <field name="invoiceTypeId" position="1">
-            <drop-down allow-empty="false">
-                <entity-options entity-name="InvoiceType">
-                    <entity-constraint name="parentTypeId" 
value="PURCHASE_INVOICE"/>
-                </entity-options>
+            <drop-down>
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
         <field name="search" title="${uiLabelMap.CommonFind}" 
widget-style="smallSubmit"><submit button-type="button"/></field>

Modified: ofbiz/trunk/applications/accounting/widget/ap/forms/LookupForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ap/forms/LookupForms.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ap/forms/LookupForms.xml 
(original)
+++ ofbiz/trunk/applications/accounting/widget/ap/forms/LookupForms.xml Tue Jun 
 7 13:18:40 2016
@@ -23,12 +23,18 @@ under the License.
 
     <form name="LookupInvoice" target="LookupInvoice" title="" type="single"
         header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="PURCHASE_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="PURCHASE_INVOICE"/>
+                </condition-list>
+            </entity-condition>
+        </actions>
         <field position="1" name="invoiceId"><text-find/></field>
         <field position="1" name="invoiceTypeId">
-            <drop-down allow-empty="true" 
no-current-selected-key="PURCHASE_INVOICE">
-                <entity-options entity-name="InvoiceType" 
key-field-name="invoiceTypeId">
-                    <entity-constraint name="parentTypeId" operator="equals" 
value="PURCHASE_INVOICE"/>
-                </entity-options>
+            <drop-down no-current-selected-key="PURCHASE_INVOICE">
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
         <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">

Modified: ofbiz/trunk/applications/accounting/widget/ar/forms/InvoiceForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ar/forms/InvoiceForms.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ar/forms/InvoiceForms.xml 
(original)
+++ ofbiz/trunk/applications/accounting/widget/ar/forms/InvoiceForms.xml Tue 
Jun  7 13:18:40 2016
@@ -67,12 +67,17 @@ under the License.
     </form>
 
     <form name="FindArInvoices" type="single" target="FindArInvoices" 
extends="FindInvoices" 
extends-resource="component://accounting/widget/InvoiceForms.xml">
-        <field name="parentTypeId"><hidden value="SALES_INVOICE"/></field>
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="SALES_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="SALES_INVOICE"/>
+                </condition-list>
+            </entity-condition>
+        </actions>
         <field name="invoiceTypeId" position="1">
-            <drop-down allow-empty="true">
-                <entity-options entity-name="InvoiceType">
-                    <entity-constraint name="parentTypeId" 
value="SALES_INVOICE"/>
-                </entity-options>
+            <drop-down>
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
     </form>

Modified: ofbiz/trunk/applications/accounting/widget/ar/forms/LookupForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ar/forms/LookupForms.xml?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ar/forms/LookupForms.xml 
(original)
+++ ofbiz/trunk/applications/accounting/widget/ar/forms/LookupForms.xml Tue Jun 
 7 13:18:40 2016
@@ -23,12 +23,18 @@ under the License.
 
     <form name="LookupInvoice" target="LookupInvoice" title="" type="single"
         header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
+                <condition-list combine="or">
+                    <condition-expr field-name="parentTypeId" 
value="SALES_INVOICE"/>
+                    <condition-expr field-name="invoiceTypeId" 
value="SALES_INVOICE"/>
+                </condition-list>
+            </entity-condition>
+        </actions>
         <field position="1" name="invoiceId"><text-find/></field>
         <field position="1" name="invoiceTypeId">
-            <drop-down allow-empty="true" 
no-current-selected-key="SALES_INVOICE">
-                <entity-options entity-name="InvoiceType" 
key-field-name="invoiceTypeId">
-                    <entity-constraint name="parentTypeId" operator="equals" 
value="SALES_INVOICE"/>
-                </entity-options>
+            <drop-down no-current-selected-key="SALES_INVOICE">
+                <list-options key-name="invoiceTypeId" 
list-name="invoiceTypeList"/>
             </drop-down>
         </field>
         <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">

Modified: 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/PartyFinancialHistory.groovy
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/PartyFinancialHistory.groovy?rev=1747223&r1=1747222&r2=1747223&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/PartyFinancialHistory.groovy
 (original)
+++ 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/PartyFinancialHistory.groovy
 Tue Jun  7 13:18:40 2016
@@ -60,11 +60,13 @@ invExprs =
 invIterator = 
from("InvoiceAndType").where(invExprs).cursorScrollInsensitive().distinct().queryIterator();
 
 while (invoice = invIterator.next()) {
-    if ("PURCHASE_INVOICE".equals(invoice.parentTypeId)) {
+    Boolean isPurchaseInvoice = EntityTypeUtil.hasParentType(delegator, 
"InvoiceType", "invoiceTypeId", invoice.getString("invoiceTypeId"), 
"parentTypeId", "PURCHASE_INVOICE");
+    Boolean isSalesInvoice = EntityTypeUtil.hasParentType(delegator, 
"InvoiceType", "invoiceTypeId", (String) invoice.getString("invoiceTypeId"), 
"parentTypeId", "SALES_INVOICE");
+    if (isPurchaseInvoice) {
         totalInvPuApplied += InvoiceWorker.getInvoiceApplied(invoice, 
actualCurrency).setScale(2,BigDecimal.ROUND_HALF_UP);
         totalInvPuNotApplied += InvoiceWorker.getInvoiceNotApplied(invoice, 
actualCurrency).setScale(2,BigDecimal.ROUND_HALF_UP);
     }
-    else if ("SALES_INVOICE".equals(invoice.parentTypeId)) {
+    else if (isSalesInvoice) {
         totalInvSaApplied += InvoiceWorker.getInvoiceApplied(invoice, 
actualCurrency).setScale(2,BigDecimal.ROUND_HALF_UP);
         totalInvSaNotApplied += InvoiceWorker.getInvoiceNotApplied(invoice, 
actualCurrency).setScale(2,BigDecimal.ROUND_HALF_UP);
     }


Reply via email to