Author: nmalin
Date: Tue Jul 5 19:32:05 2016 New Revision: 1751543 URL: http://svn.apache.org/viewvc?rev=1751543&view=rev Log: Track userLogin on invoice status change, use EntityStatus concept related to issue OFBIZ-7611. Improvement follow by issue OFBIZ-7617. Thanks Nameet Jain for this proposal Modified: ofbiz/trunk/applications/accounting/minilang/invoice/InvoiceServices.xml ofbiz/trunk/applications/accounting/servicedef/services_invoice.xml ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml ofbiz/trunk/applications/datamodel/entitydef/accounting-entitymodel.xml Modified: ofbiz/trunk/applications/accounting/minilang/invoice/InvoiceServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/minilang/invoice/InvoiceServices.xml?rev=1751543&r1=1751542&r2=1751543&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/minilang/invoice/InvoiceServices.xml (original) +++ ofbiz/trunk/applications/accounting/minilang/invoice/InvoiceServices.xml Tue Jul 5 19:32:05 2016 @@ -179,11 +179,9 @@ under the License. <create-value value-field="newEntity"/> <!-- create new status entry, and set lastStatusUpdate date --> - <make-value value-field="newInvoiceStatus" entity-name="InvoiceStatus"/> - <set from-field="newEntity.invoiceId" field="newInvoiceStatus.invoiceId"/> - <set from-field="newEntity.statusId" field="newInvoiceStatus.statusId"/> - <set from-field="nowTimestamp" field="newInvoiceStatus.statusDate"/> - <create-value value-field="newInvoiceStatus"/> + <set field="createInvoiceStatusMap.invoiceId" from-field="newEntity.invoiceId" /> + <set field="createInvoiceStatusMap.statusId" from-field="newEntity.statusId" /> + <call-service service-name="createInvoiceStatus" in-map-name="createInvoiceStatusMap"/> </simple-method> <simple-method method-name="copyInvoice" short-description="Create a new Invoice from an existing invoice"> @@ -403,8 +401,6 @@ under the License. <if-compare field="invoice.statusId" operator="equals" value="INVOICE_PAID"> <set field="invoiceStatusMap.invoiceId" value="${paymentApplication.invoiceId}"/> <set field="invoiceStatusMap.statusId" value="INVOICE_READY"/> - <now-timestamp field="nowTimestamp"/> - <set field="invoiceStatusMap.statusDate" from-field="nowTimestamp"/> <call-service service-name="setInvoiceStatus" in-map-name="invoiceStatusMap"/> </if-compare> <check-errors/> @@ -512,14 +508,10 @@ under the License. <set from-field="parameters.statusId" field="invoice.statusId"/> <store-value value-field="invoice"/> - <make-value value-field="newEntity" entity-name="InvoiceStatus"/> - <set-nonpk-fields map="parameters" value-field="newEntity"/> - <set-pk-fields map="parameters" value-field="newEntity"/> - - <if-empty field="newEntity.statusDate"> - <now-timestamp field="newEntity.statusDate"/> - </if-empty> - <create-value value-field="newEntity"/> + <set field="createInvoiceStatusMap.invoiceId" from-field="invoice.invoiceId"/> + <set field="createInvoiceStatusMap.statusId" from-field="invoice.statusId"/> + <set field="createInvoiceStatusMap.statusDate" from-field="parameters.statusDate"/> + <call-service service-name="createInvoiceStatus" in-map-name="createInvoiceStatusMap"/> <!-- if the invoice is a payrol invoice, create the payment in the not-paid status --> <if-compare field="invoice.invoiceTypeId" operator="equals" value="PAYROL_INVOICE"> Modified: ofbiz/trunk/applications/accounting/servicedef/services_invoice.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_invoice.xml?rev=1751543&r1=1751542&r2=1751543&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/servicedef/services_invoice.xml (original) +++ ofbiz/trunk/applications/accounting/servicedef/services_invoice.xml Tue Jul 5 19:32:05 2016 @@ -134,6 +134,12 @@ under the License. <auto-attributes mode="IN" include="pk" optional="false"/> </service> + <service name="createInvoiceStatus" engine="entity-auto" default-entity-name="InvoiceStatus" invoke="create" auth="true"> + <description>Create a Invoice Status Record</description> + <auto-attributes mode="IN" include="pk" optional="false"/> + <override name="statusDate" mode="IN" optional="true"/> + </service> + <service name="createInvoiceRole" engine="simple" default-entity-name="InvoiceRole" location="component://accounting/minilang/invoice/InvoiceServices.xml" invoke="createInvoiceRole"> <description>Create a new Invoice Role Record</description> Modified: ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml?rev=1751543&r1=1751542&r2=1751543&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml (original) +++ ofbiz/trunk/applications/accounting/widget/InvoiceForms.xml Tue Jul 5 19:32:05 2016 @@ -448,6 +448,7 @@ under the License. <field name="invoiceId"><hidden/></field> <field name="statusDate"><display description="${groovy:statusDate.toString().substring(0,10)}"/></field> <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem"/></field> + <field name="changeByUserLoginId"><display /></field> </form> <form name="ListInvoiceTerms" list-name="invoiceTerms" target="" title="" type="list" Modified: ofbiz/trunk/applications/datamodel/entitydef/accounting-entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/datamodel/entitydef/accounting-entitymodel.xml?rev=1751543&r1=1751542&r2=1751543&view=diff ============================================================================== --- ofbiz/trunk/applications/datamodel/entitydef/accounting-entitymodel.xml (original) +++ ofbiz/trunk/applications/datamodel/entitydef/accounting-entitymodel.xml Tue Jul 5 19:32:05 2016 @@ -1536,6 +1536,7 @@ under the License. <field name="statusId" type="id-ne"></field> <field name="invoiceId" type="id-ne"></field> <field name="statusDate" type="date-time"></field> + <field name="changeByUserLoginId" type="id-vlong"/> <prim-key field="statusId"/> <prim-key field="invoiceId"/> <prim-key field="statusDate"/> @@ -1545,6 +1546,9 @@ under the License. <relation type="one" fk-name="INVCE_STS_INVCE" rel-entity-name="Invoice"> <key-map field-name="invoiceId"/> </relation> + <relation type="one" fk-name="INV_STTS_USRLGN" title="ChangeBy" rel-entity-name="UserLogin"> + <key-map field-name="changeByUserLoginId" rel-field-name="userLoginId"/> + </relation> </entity> <entity entity-name="InvoiceTerm" package-name="org.ofbiz.accounting.invoice" |
Free forum by Nabble | Edit this page |