Author: nmalin
Date: Thu Jan 15 00:37:06 2015 New Revision: 1651912 URL: http://svn.apache.org/r1651912 Log: Convert old simple CRUD service on BillingAccount to entity-auto (OFBIZ-5963). Clean service definition with using auto-fields-entity and clean editBillingAccount screen : display correctly the customer billing party hidden billingAccountId and contactMechId on create process add new service createBillingAccountAndRole (the screen present the partyId field but didn't propage the value on billingAccountRole) Removed: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/BillingServices.xml Modified: ofbiz/trunk/applications/accounting/servicedef/services_billing.xml ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml ofbiz/trunk/applications/accounting/widget/BillingAccountForms.xml ofbiz/trunk/applications/accounting/widget/BillingAccountScreens.xml Modified: ofbiz/trunk/applications/accounting/servicedef/services_billing.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_billing.xml?rev=1651912&r1=1651911&r2=1651912&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/servicedef/services_billing.xml (original) +++ ofbiz/trunk/applications/accounting/servicedef/services_billing.xml Thu Jan 15 00:37:06 2015 @@ -25,83 +25,63 @@ under the License. <version>1.0</version> <!-- Billing Account Services --> - <service name="createBillingAccount" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="createBillingAccount"> + <service name="createBillingAccount" default-entity-name="BillingAccount" engine="entity-auto" invoke="create" auth="true"> <description>Create a Billing Account</description> <permission-service service-name="acctgBillingAcctCheck" main-action="CREATE"/> - <attribute name="accountLimit" type="BigDecimal" mode="IN" optional="true"/> - <attribute name="accountCurrencyUomId" type="String" mode="IN" optional="true"/> - <attribute name="description" type="String" mode="IN" optional="true"/> - <attribute name="contactMechId" type="String" mode="IN" optional="true"/> - <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> - <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> - <attribute name="roleTypeId" type="String" mode="IN" optional="true"/> - <attribute name="partyId" type="String" mode="IN" optional="true"/> - <attribute name="billingAccountId" type="String" mode="OUT" optional="false"/> + <auto-attributes include="pk" mode="OUT" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> </service> - <service name="updateBillingAccount" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="updateBillingAccount"> + <service name="updateBillingAccount" default-entity-name="BillingAccount" engine="entity-auto" invoke="update" auth="true"> <description>Update a Billing Account</description> <permission-service service-name="acctgBillingAcctCheck" main-action="UPDATE"/> - <attribute name="billingAccountId" type="String" mode="IN" optional="false"/> - <attribute name="accountLimit" type="BigDecimal" mode="IN" optional="true"/> - <attribute name="accountCurrencyUomId" type="String" mode="IN" optional="true"/> - <attribute name="description" type="String" mode="IN" optional="true"/> - <attribute name="contactMechId" type="String" mode="IN" optional="true"/> - <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> - <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> </service> - <service name="createBillingAccountRole" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="createBillingAccountRole"> + <service name="createBillingAccountRole" default-entity-name="BillingAccountRole" engine="entity-auto" invoke="create" auth="true"> <description>Create a Billing Account Role</description> <permission-service service-name="acctgBillingAcctCheck" main-action="CREATE"/> - <attribute name="billingAccountId" type="String" mode="IN" optional="false"/> - <attribute name="partyId" type="String" mode="IN" optional="false"/> - <attribute name="roleTypeId" type="String" mode="IN" optional="false"/> - <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> - <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <override name="fromDate" optional="true"/> </service> - <service name="updateBillingAccountRole" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="updateBillingAccountRole"> + <service name="updateBillingAccountRole" default-entity-name="BillingAccountRole" engine="entity-auto" invoke="update" auth="true"> <description>Update a Billing Account Role</description> <permission-service service-name="acctgBillingAcctCheck" main-action="UPDATE"/> - <attribute name="billingAccountId" type="String" mode="IN" optional="false"/> - <attribute name="partyId" type="String" mode="IN" optional="false"/> - <attribute name="roleTypeId" type="String" mode="IN" optional="false"/> - <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/> - <attribute name="thruDate" type="Timestamp" mode="IN" optional="false"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> </service> - <service name="removeBillingAccountRole" engine="simple" default-entity-name="BillingAccountRole" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="removeBillingAccountRole"> + <service name="removeBillingAccountRole" default-entity-name="BillingAccountRole" engine="entity-auto" invoke="delete" auth="true"> <description>Remove a Billing Account Role</description> <permission-service service-name="acctgBillingAcctCheck" main-action="DELETE"/> <auto-attributes include="pk" mode="IN" optional="false"/> </service> - <service name="createBillingAccountTerm" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="createBillingAccountTerm"> + <service name="createBillingAccountAndRole" engine="group" auth="true"> + <group> + <invoke name="createBillingAccount" mode="sync" result-to-context="true"/> + <invoke name="createBillingAccountRole" mode="sync" parameters="optional"/> + </group> + <override name="billingAccountId" optional="true"/> + </service> + <service name="createBillingAccountTerm" default-entity-name="BillingAccountTerm" engine="entity-auto" invoke="create" auth="true"> <description>Create a Billing Account Term</description> <permission-service service-name="acctgBillingAcctCheck" main-action="CREATE"/> - <attribute name="billingAccountId" type="String" mode="IN" optional="false"/> - <attribute name="termTypeId" type="String" mode="IN" optional="false"/> - <attribute name="termValue" type="BigDecimal" mode="IN" optional="false"/> - <attribute name="uomId" type="String" mode="IN" optional="true"/> - <attribute name="billingAccountTermId" type="String" mode="OUT" optional="false"/> + <auto-attributes include="pk" mode="OUT" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <override name="termTypeId" optional="false"/> + <override name="billingAccountId" optional="false"/> </service> - <service name="updateBillingAccountTerm" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="updateBillingAccountTerm"> + <service name="updateBillingAccountTerm" default-entity-name="BillingAccountTerm" engine="entity-auto" invoke="update" auth="true"> <description>Update a Billing Account Term</description> <permission-service service-name="acctgBillingAcctCheck" main-action="UPDATE"/> - <attribute name="billingAccountTermId" type="String" mode="IN" optional="false"/> - <attribute name="billingAccountId" type="String" mode="IN" optional="true"/> - <attribute name="termTypeId" type="String" mode="IN" optional="true"/> - <attribute name="termValue" type="BigDecimal" mode="IN" optional="true"/> - <attribute name="uomId" type="String" mode="IN" optional="true"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <override name="termTypeId" optional="false"/> + <override name="billingAccountId" optional="false"/> </service> - <service name="removeBillingAccountTerm" engine="simple" - location="component://accounting/script/org/ofbiz/accounting/payment/BillingServices.xml" invoke="removeBillingAccountTerm"> + <service name="removeBillingAccountTerm" default-entity-name="BillingAccountTerm" engine="entity-auto" invoke="delete" auth="true"> <description>Remove a Billing Account Term</description> <permission-service service-name="acctgBillingAcctCheck" main-action="DELETE"/> - <attribute name="billingAccountTermId" type="String" mode="IN" optional="false"/> + <auto-attributes include="pk" mode="IN" optional="false"/> </service> <service name="calcBillingAccountBalance" engine="java" location="org.ofbiz.accounting.payment.BillingAccountWorker" invoke="calcBillingAccountBalance"> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=1651912&r1=1651911&r2=1651912&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Thu Jan 15 00:37:06 2015 @@ -62,6 +62,12 @@ under the License. <response name="success" type="view" value="EditBillingAccount"/> <response name="error" type="view" value="EditBillingAccount"/> </request-map> + <request-map uri="createBillingAccountAndRole"> + <security https="true" auth="true"/> + <event type="service" invoke="createBillingAccountAndRole"/> + <response name="success" type="view" value="EditBillingAccount"/> + <response name="error" type="view" value="EditBillingAccount"/> + </request-map> <request-map uri="updateBillingAccount"> <security https="true" auth="true"/> <event type="service" invoke="updateBillingAccount"/> Modified: ofbiz/trunk/applications/accounting/widget/BillingAccountForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/BillingAccountForms.xml?rev=1651912&r1=1651911&r2=1651912&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/BillingAccountForms.xml (original) +++ ofbiz/trunk/applications/accounting/widget/BillingAccountForms.xml Thu Jan 15 00:37:06 2015 @@ -28,8 +28,6 @@ under the License. <field-map field-name="inputFields" from-field="parameters"/> <field-map field-name="entityName" value="BillingAccount"/> <field-map field-name="orderBy" value="billingAccountId"/> - <field-map field-name="viewIndex" from-field="viewIndex"/> - <field-map field-name="viewSize" from-field="viewSize"/> </service> </actions> <field name="billingAccountId" widget-style="buttontext"> @@ -87,10 +85,10 @@ under the License. <set field="paidInvoice" value="${groovy: org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).compareTo(java.math.BigDecimal.ZERO)==0}" type="Boolean"/> <set field="amountToApply" value="${groovy: import java.text.NumberFormat; - return(NumberFormat.getNumberInstance(context.get("locale")).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/> + return(NumberFormat.getNumberInstance(locale).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/> <set field="total" value="${groovy: import java.text.NumberFormat; - return(NumberFormat.getNumberInstance(context.get("locale")).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/> + return(NumberFormat.getNumberInstance(locale).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/> </row-actions> <field name="billingAccountId"><hidden/></field> <field name="invoiceId" widget-style="buttontext"> @@ -121,27 +119,23 @@ under the License. <actions> <set field="availableBalance" value="${groovy:billingAccount != null ? org.ofbiz.order.order.OrderReadHelper.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/> </actions> - <alt-target use-when="billingAccount==null" target="createBillingAccount"/> + <alt-target use-when="billingAccount==null" target="createBillingAccountAndRole"/> <auto-fields-service service-name="updateBillingAccount" map-name="billingAccount"/> - <field name="description"><text size="60"/></field> - + <field use-when="billingAccount==null" name="billingAccountId"><hidden/></field> <field use-when="billingAccount!=null" name="billingAccountId" tooltip="${uiLabelMap.CommonNotModifRecreat}"><display/></field> - - <field use-when="partyId != null" name="partyId"><hidden/></field> - <field use-when="roleTypeId != null" name="roleTypeId"><hidden/></field> - <field name="partyId" use-when="partyId == null" title="${uiLabelMap.AccountingPartyBilledTo}"><lookup target-form-name="LookupPartyName"/></field> - <field use-when="roleTypeId == null" name="roleTypeId"><hidden value="BILL_TO_CUSTOMER"/></field> - + <field name="partyId" use-when="billingAccount != null" ><display/></field> + <field name="partyId" use-when="billingAccount == null" title="${uiLabelMap.AccountingPartyBilledTo}" required-field="true"><lookup target-form-name="LookupPartyName"/></field> + <field name="roleTypeId"><hidden/></field> <field name="accountCurrencyUomId"> <drop-down allow-empty="false" no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}"> - <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom"> + <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom"> <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/> <entity-order-by field-name="description"/> </entity-options> </drop-down> </field> - <field name="contactMechId" tooltip="${uiLabelMap.AccountingBillingContactMechIdMessage}"> + <field name="contactMechId" tooltip="${uiLabelMap.AccountingBillingContactMechIdMessage}" use-when="billingAccount != null"> <drop-down> <entity-options entity-name="BillingAccountRoleAndAddress" description="[${partyId}][${contactMechId}] ${toName}, ${attnName}, ${address1}, ${stateProvinceGeoId} ${postalCode}" key-field-name="contactMechId" filter-by-date="true"> <entity-constraint name="billingAccountId" env-name="billingAccountId"/> Modified: ofbiz/trunk/applications/accounting/widget/BillingAccountScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/BillingAccountScreens.xml?rev=1651912&r1=1651911&r2=1651912&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/BillingAccountScreens.xml (original) +++ ofbiz/trunk/applications/accounting/widget/BillingAccountScreens.xml Thu Jan 15 00:37:06 2015 @@ -126,8 +126,12 @@ under the License. <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/> <set field="billingAccountId" from-field="parameters.billingAccountId"/> <entity-one entity-name="BillingAccount" value-field="billingAccount"/> - <set field="partyId" from-field="parameters.partyId"/> - <set field="roleTypeId" from-field="parameters.roleTypeId"/> + <entity-and entity-name="BillingAccountRole" list="billingAccountRolesCustomer" filter-by-date="true"> + <field-map field-name="billingAccountId" from-field="billingAccount.billingAccountId"/> + <field-map field-name="roleTypeId" value="BILL_TO_CUSTOMER"/> + </entity-and> + <set field="partyId" from-field="parameters.partyId" default-value="${billingAccountRolesCustomer[0].partyId}"/> + <set field="roleTypeId" from-field="parameters.roleTypeId" default-value="BILL_TO_CUSTOMER"/> </actions> <widgets> <decorator-screen name="CommonBillingAccountDecorator" location="${parameters.billingAccountDecoratorLocation}"> |
Free forum by Nabble | Edit this page |