svn commit: r1747223 - in /ofbiz/trunk/applications: accounting/script/org/ofbiz/accounting/ledger/ accounting/src/org/ofbiz/accounting/invoice/ accounting/widget/ accounting/widget/ap/forms/ accounting/widget/ar/forms/ party/webapp/partymgr/WEB-INF/ac...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1747223 - in /ofbiz/trunk/applications: accounting/script/org/ofbiz/accounting/ledger/ accounting/src/org/ofbiz/accounting/invoice/ accounting/widget/ accounting/widget/ap/forms/ accounting/widget/ar/forms/ party/webapp/partymgr/WEB-INF/ac...

Arun Patidar-4
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);
     }