You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2008/12/23 08:26:56 UTC
svn commit: r728894 [2/2] - in /ofbiz/trunk: applications/accounting/
applications/accounting/config/ applications/accounting/data/
applications/accounting/entitydef/
applications/accounting/script/org/ofbiz/accounting/rate/
applications/accounting/ser...
Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Dec 22 23:26:55 2008
@@ -311,12 +311,12 @@
</form>
<!-- PartyRate -->
- <form name="AddPartyRate" type="single" target="createPartyRate"
+ <form name="AddPartyRate" type="single" target="updatePartyRate"
focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
<actions>
<property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
+ <set field="periodTypeId" value="RATE_HOUR"/>
</actions>
- <auto-fields-service service-name="createPartyRate"/>
<field name="partyId"><hidden/></field>
<field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
<drop-down no-current-selected-key="STANDARD" allow-empty="false">
@@ -325,42 +325,52 @@
</entity-options>
</drop-down>
</field>
- <field name="defaultRate">
+ <field name="periodTypeId" position="2">
+ <display-entity entity-name="PeriodType"/>
+ </field>
+ <field name="rateAmount" tooltip="override Default Rate amount"><text/></field>
+ <field name="rateCurrencyUomId" title="${uiLabelMap.ProductCurrencyUomId}" position="2" entry-name="defaultCurrencyUomId" tooltip="Adjust in accounting component">
+ <display-entity entity-name="Uom" key-field-name="uomId"/>
+ </field>
+ <field name="percentageUsed"><text size="6"/></field>
+ <field name="defaultRate" position="2">
<drop-down no-current-selected-key="N">
<option key="N"/>
<option key="Y"/>
</drop-down>
</field>
- <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
- <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
- <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="abbreviation"/>
- </entity-options>
- </drop-down>
- </field>
<field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
</form>
- <form name="ListPartyRates" type="list" list-name="partyTaxInfos" target="updatePartyRate"
+ <form name="ListPartyRates" type="list" target="deletePartyRate"
odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
<actions>
- <entity-condition entity-name="PartyRate">
+ <entity-condition entity-name="PartyRate" filter-by-date="true">
<condition-expr field-name="partyId" env-name="partyId"/>
<order-by field-name="rateTypeId"/>
- <order-by field-name="fromDate"/>
</entity-condition>
</actions>
- <auto-fields-service service-name="updatePartyRate"/>
+ <row-actions>
+ <service service-name="getRateAmount" result-map-name="rateResult"/>
+ <set field="rateDefaultAmount" from-field="rateResult.rateAmount"/>
+ <set field="periodTypeId" from-field="rateResult.periodTypeId"/>
+ <set field="rateCurrencyUomId" from-field="rateResult.rateCurrencyUomId"/>
+ <set field="rateLevel" from-field="rateResult.level"/>
+ <set field="rateAmountFromDate" from-field="rateResult.fromDate"/>
+ </row-actions>
<field name="partyId"><hidden/></field>
+ <field name="fromDate"><hidden/></field>
+ <field name="rateAmountFromDate"><hidden/></field>
+ <field name="rateCurrencyUomId"><hidden/></field>
<field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
- <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
- <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
- <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
- <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
- <hyperlink target="deletePartyRate?partyId=${partyId}&rateTypeId=${rateTypeId}&currencyUomId=${currencyUomId}&fromDate=${fromDate}"
- description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
- </field>
+ <field name="periodTypeId"><display-entity entity-name="PeriodType" description="${description}"/></field>
+ <field name="rateDefaultAmount" use-when=""workEffort".equals(rateLevel)" tooltip="Value from workeffort level"><display type="currency" currency="${rateCurrencyUomId}"/></field>
+ <field name="rateDefaultAmount" use-when=""party".equals(rateLevel)" tooltip="Value from party level"><display type="currency" currency="${rateCurrencyUomId}"/></field>
+ <field name="rateDefaultAmount" use-when=""rateType".equals(rateLevel)" tooltip="Value from rateType level"><display type="currency" currency="${rateCurrencyUomId}"/></field>
+ <field name="rateDefaultAmount" use-when="rateLevel==null" tooltip="Rate not specified for this party AND NO default rate"><display/></field>
+ <field name="defaultRate"><display/></field>
+ <field name="percentageUsed"><display/></field>
+ <field name="deleteButton" widget-style="smallSubmit"><submit /></field>
</form>
<form name="NewUser" type="single" target="${target}${previousParams}"
Modified: ofbiz/trunk/applications/workeffort/data/WorkEffortTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/data/WorkEffortTypeData.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/data/WorkEffortTypeData.xml (original)
+++ ofbiz/trunk/applications/workeffort/data/WorkEffortTypeData.xml Mon Dec 22 23:26:55 2008
@@ -18,13 +18,6 @@
under the License.
-->
<entity-engine-xml>
- <RateType rateTypeId="STANDARD" description="Standard Hourly Rate"/>
- <RateType rateTypeId="DISCOUNTED" description="Discounted Hourly Rate"/>
- <RateType rateTypeId="OVERTIME" description="Overtime Hourly Rate"/>
- <RateType rateTypeId="AVERAGE_PAY_RATE" description="Average Pay Rate"/>
- <RateType rateTypeId="HIGH_PAY_RATE" description="Highest Pay Rate"/>
- <RateType rateTypeId="LOW_PAY_RATE" description="Lowest Pay Rate"/>
-
<EnumerationType description="Parent Type for all Work Effort enum types" enumTypeId="WORK_EFFORT" hasTable="N" parentTypeId=""/>
<EnumerationType description="Parent Type for all Workflow enum types" enumTypeId="WORKFLOW" hasTable="N" parentTypeId=""/>
Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Dec 22 23:26:55 2008
@@ -41,43 +41,6 @@
<!-- org.ofbiz.workeffort.timesheet -->
<!-- ========================================================= -->
- <entity entity-name="PartyRate"
- package-name="org.ofbiz.workeffort.timesheet"
- title="Party Rate Entity">
- <field name="partyId" type="id-ne"></field>
- <field name="rateTypeId" type="id-ne"></field>
- <field name="currencyUomId" type="id-ne"/>
- <field name="defaultRate" type="indicator"></field>
- <field name="fromDate" type="date-time"></field>
- <field name="thruDate" type="date-time"></field>
- <field name="rate" type="currency-amount"></field>
- <prim-key field="partyId"/>
- <prim-key field="rateTypeId"/>
- <prim-key field="currencyUomId"/>
- <prim-key field="fromDate"/>
- <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
- <key-map field-name="partyId"/>
- </relation>
- <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
- <key-map field-name="rateTypeId"/>
- </relation>
- <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
- <key-map field-name="currencyUomId" rel-field-name="uomId"/>
- </relation>
- </entity>
- <entity entity-name="RateType"
- package-name="org.ofbiz.workeffort.timesheet"
- default-resource-name="WorkEffortEntityLabels"
- title="Rate Type Entity">
- <field name="rateTypeId" type="id-ne"></field>
- <field name="description" type="description"></field>
- <field name="normalRate" type="currency-amount"></field>
- <field name="rateUomId" type="id"></field>
- <prim-key field="rateTypeId"/>
- <relation type="one" fk-name="RATETYPE_RUOM" title="Rate" rel-entity-name="Uom">
- <key-map field-name="rateUomId" rel-field-name="uomId"/>
- </relation>
- </entity>
<entity entity-name="TimeEntry"
package-name="org.ofbiz.workeffort.timesheet"
title="Time Entry Entity">
@@ -161,30 +124,7 @@
<key-map field-name="roleTypeId"/>
</relation>
</entity>
- <entity entity-name="WorkEffortAssignmentRate"
- package-name="org.ofbiz.workeffort.timesheet"
- title="Work Effort Assignment Rate Entity">
- <field name="workEffortId" type="id-ne"></field>
- <field name="rateTypeId" type="id-ne"></field>
- <field name="partyId" type="id-ne"></field>
- <field name="fromDate" type="date-time"></field>
- <field name="thruDate" type="date-time"></field>
- <field name="rate" type="currency-amount"></field>
- <prim-key field="workEffortId"/>
- <prim-key field="rateTypeId"/>
- <prim-key field="partyId"/>
- <prim-key field="fromDate"/>
- <relation type="one" fk-name="WEFF_ASRT_WEFF" rel-entity-name="WorkEffort">
- <key-map field-name="workEffortId"/>
- </relation>
- <relation type="one" fk-name="WEFF_ASRT_RATETP" rel-entity-name="RateType">
- <key-map field-name="rateTypeId"/>
- </relation>
- <relation type="one" fk-name="WEFF_ASRT_PRTY" rel-entity-name="Party">
- <key-map field-name="partyId"/>
- </relation>
- </entity>
-
+
<!-- ========================================================= -->
<!-- org.ofbiz.workeffort.workeffort -->
<!-- ========================================================= -->
Added: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml?rev=728894&view=auto
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml (added)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml Mon Dec 22 23:26:55 2008
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
+ <title>Entity of an Open For Business Project Component</title>
+ <description>old depreciated entities</description>
+ <copyright>Copyright 2001-2008 The Apache Software Foundation</copyright>
+ <author>None</author>
+ <version>1.0</version>
+
+ <entity entity-name="OldWorkEffortAssignmentRate" table-name="WORK_EFFORT_ASSIGNMENT_RATE"
+ package-name="org.ofbiz.workeffort.timesheet"
+ title="Work Effort Assignment Rate Entity, now depreciated and replaced by the RateAmount entity">
+ <field name="workEffortId" type="id-ne"></field>
+ <field name="rateTypeId" type="id-ne"></field>
+ <field name="partyId" type="id-ne"></field>
+ <field name="fromDate" type="date-time"></field>
+ <field name="thruDate" type="date-time"></field>
+ <field name="rate" type="currency-amount"></field>
+ <prim-key field="workEffortId"/>
+ <prim-key field="rateTypeId"/>
+ <prim-key field="partyId"/>
+ <prim-key field="fromDate"/>
+ <relation type="one" fk-name="WEFF_ASRT_WEFF" rel-entity-name="WorkEffort">
+ <key-map field-name="workEffortId"/>
+ </relation>
+ <relation type="one" fk-name="WEFF_ASRT_RATETP" rel-entity-name="RateType">
+ <key-map field-name="rateTypeId"/>
+ </relation>
+ <relation type="one" fk-name="WEFF_ASRT_PRTY" rel-entity-name="Party">
+ <key-map field-name="partyId"/>
+ </relation>
+ </entity>
+
+</entitymodel>
Propchange: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_old.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml (original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml Mon Dec 22 23:26:55 2008
@@ -144,7 +144,7 @@
<relation type="many" rel-entity-name="WorkEffortBilling">
<key-map field-name="workEffortId"/>
</relation>
- <relation type="many" rel-entity-name="WorkEffortAssignmentRate">
+ <relation type="many" rel-entity-name="RateAmount">
<key-map field-name="workEffortId"/>
</relation>
<relation type="many" rel-entity-name="CommunicationEventWorkEff">
@@ -829,4 +829,5 @@
<key-map field-name="contactMechId"/>
</view-link>
</view-entity>
-</entitymodel>
+
+</entitymodel>
\ No newline at end of file
Modified: ofbiz/trunk/applications/workeffort/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/ofbiz-component.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/workeffort/ofbiz-component.xml Mon Dec 22 23:26:55 2008
@@ -26,6 +26,7 @@
<classpath type="dir" location="config"/>
<classpath type="dir" location="script"/>
<entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
+ <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
<entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/>
<entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/WorkEffortTypeData.xml"/>
Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/RateServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/RateServices.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/RateServices.xml (original)
+++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/RateServices.xml Mon Dec 22 23:26:55 2008
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
-
- <!-- PartyRate Services -->
- <simple-method method-name="createPartyRate" short-description="Create PartyRate">
- <check-permission permission="WORKEFFORTMGR" action="_CREATE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
- <make-value value-name="newEntity" entity-name="PartyRate"/>
- <set-pk-fields map-name="parameters" value-name="newEntity"/>
- <if-empty field="newEntity.fromDate"><now-timestamp-to-env env-name="newEntity.fromDate"/></if-empty>
- <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
- <call-simple-method method-name="checkOtherDefaultRate"/>
- <create-value value-name="newEntity"/>
- </simple-method>
- <simple-method method-name="updatePartyRate" short-description="Update PartyRate">
- <check-permission permission="WORKEFFORTMGR" action="_UPDATE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
- <entity-one entity-name="PartyRate" value-name="newEntity"/>
- <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
- <call-simple-method method-name="checkOtherDefaultRate"/>
- <store-value value-name="newEntity"/>
- </simple-method>
- <simple-method method-name="checkOtherDefaultRate" short-description="remove an other defaultRate flag">
- <if-compare field="newEntity.defaultRate" value="Y" operator="equals">
- <entity-and entity-name="PartyRate" list-name="rates" filter-by-date="true">
- <field-map field-name="partyId" env-name="newEntity.partyId"/>
- <field-map field-name="defaultRate" value="Y"/>
- </entity-and>
- <if-not-empty field="rates">
- <first-from-list entry-name="rate" list-name="rates"/>
- <set field="rate.defaultRate" value="N"/>
- <store-value value-name="rate"/>
- </if-not-empty>
- </if-compare>
- </simple-method>
- <simple-method method-name="deletePartyRate" short-description="Delete PartyRate">
- <check-permission permission="WORKEFFORTMGR" action="_DELETE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
-
- <entity-one entity-name="PartyRate" value-name="lookedUpValue"/>
- <remove-value value-name="lookedUpValue"/>
- </simple-method>
-
- <!-- WorkEffortAssignmentRate Services -->
- <simple-method method-name="createWorkEffortAssignmentRate" short-description="Create WorkEffortAssignmentRate">
- <check-permission permission="WORKEFFORTMGR" action="_CREATE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
-
- <make-value value-name="newEntity" entity-name="WorkEffortAssignmentRate"/>
- <set-pk-fields map-name="parameters" value-name="newEntity"/>
- <if-empty field="newEntity.fromDate"><now-timestamp-to-env env-name="newEntity.fromDate"/></if-empty>
- <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
- <create-value value-name="newEntity"/>
- </simple-method>
- <simple-method method-name="updateWorkEffortAssignmentRate" short-description="Update WorkEffortAssignmentRate">
- <check-permission permission="WORKEFFORTMGR" action="_UPDATE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
-
- <entity-one entity-name="WorkEffortAssignmentRate" value-name="lookedUpValue"/>
- <set-nonpk-fields map-name="parameters" value-name="lookedUpValue"/>
- <store-value value-name="lookedUpValue"/>
- </simple-method>
- <simple-method method-name="deleteWorkEffortAssignmentRate" short-description="Delete WorkEffortAssignmentRate">
- <check-permission permission="WORKEFFORTMGR" action="_DELETE"><fail-message message="You do not have permission to perform this operation: ${methodShortDescription}."/></check-permission>
- <check-errors/>
-
- <entity-one entity-name="WorkEffortAssignmentRate" value-name="lookedUpValue"/>
- <remove-value value-name="lookedUpValue"/>
- </simple-method>
-</simple-methods>
Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
+++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Dec 22 23:26:55 2008
@@ -134,11 +134,12 @@
</entity-one>
<set field="updateInvoiceMap.invoiceId" from-field="parameters.invoiceId"/>
<set field="updateInvoiceMap.currencyUomId" from-field="party.preferredCurrencyUomId"/>
+ <now-timestamp-to-env env-name="updateInvoiceMap.invoiceDate"/>
<if-empty field="updateInvoiceMap.currencyUomId">
<property-to-field field-name="invoice.currencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
</if-empty>
<call-service service-name="updateInvoice" in-map-name="updateInvoiceMap"/>
-
+ <entity-one entity-name="Invoice" value-name="invoice"/>
<call-simple-method method-name="createTimeEntryInvoiceItemsInline"/>
</simple-method>
<simple-method method-name="createTimeEntryInvoiceItemsInline" short-description="createTimeEntryInvoiceItemsInline">
@@ -164,6 +165,36 @@
<if-compare field="invoice.statusId" operator="equals" value="INVOICE_IN_PROCESS">
<!-- only add to invoice if it is not already on an invoice-->
<if-empty field="timeEntry.invoiceId">
+ <!-- check if only a percentage of the hours need to be used -->
+ <if-empty field="timeEntry.partyId">
+ <if-not-empty field="timeEntry.timesheetId">
+ <entity-one entity-name="Timesheet" value-name="timesheet">
+ <field-map field-name="timesheetId" env-name="timeEntry.timesheetId"/>
+ </entity-one>
+ <set field="timeEntry.partyId" from-field="timesheet.partyId"/>
+ </if-not-empty>
+ </if-empty>
+ <if-not-empty field="timeEntry.partyId">
+ <entity-and entity-name="PartyRate" list-name="partyRates" filter-by-date="true">
+ <field-map field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
+ <field-map field-name="partyId" env-name="timeEntry.partyId"/>
+ </entity-and>
+ <if-not-empty field="partyRates">
+ <first-from-list entry-name="partyRate" list-name="partyRates"/>
+ <if-not-empty field="partyRate.percentageUsed">
+ <calculate field-name="timeEntry.hours" type="Double">
+ <calcop operator="multiply" field-name="timeEntry.hours">
+ <calcop operator="get" field-name="partyRate.percentageUsed"/>
+ </calcop>
+ </calculate>
+ <calculate field-name="timeEntry.hours" type="Double">
+ <calcop operator="divide" field-name="timeEntry.hours">
+ <number value="100"/>
+ </calcop>
+ </calculate>
+ </if-not-empty>
+ </if-not-empty>
+ </if-not-empty>
<set field="getTimeEntryRate.timeEntryId" from-field="timeEntry.timeEntryId"/>
<set field="getTimeEntryRate.currencyUomId" from-field="invoice.currencyUomId"/>
<call-service service-name="getTimeEntryRate" in-map-name="getTimeEntryRate">
@@ -310,48 +341,22 @@
<check-errors/>
<entity-one entity-name="TimeEntry" value-name="timeEntry"/>
-
- <!-- first try the WorkEffortAssignmentRate -->
- <if-not-empty field="timeEntry.workEffortId">
- <entity-condition entity-name="WorkEffortAssignmentRate" list-name="workEffortAssignmentRateList" filter-by-date="true">
- <condition-list combine="and">
- <condition-expr field-name="workEffortId" env-name="timeEntry.workEffortId"/>
- <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
- <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
- </condition-list>
- <order-by field-name="-fromDate"/>
- </entity-condition>
- <first-from-list entry-name="workEffortAssignmentRate" list-name="workEffortAssignmentRateList"/>
- <if-not-empty field="workEffortAssignmentRate">
- <set field="rateAmount" from-field="workEffortAssignmentRate.rate"/>
- </if-not-empty>
- </if-not-empty>
- <!-- no rateAmount yet, try PartyRate if partyId not provided try the timesheet-->
- <if-empty field="rateAmount">
- <if-empty field="timeEntry.partyId">
- <get-related-one value-name="timeEntry" relation-name="Timesheet" to-value-name="timesheet"/>
- <if-not-empty field="timesheet">
- <set field="timeEntry.partyId" from-field="timesheet.partyId"/>
- </if-not-empty>
- </if-empty>
- <if-empty field="parameters.currencyUomId">
- <property-to-field field-name="parameters.currencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
- </if-empty>
- <entity-condition entity-name="PartyRate" list-name="partyRateList">
- <condition-list combine="and">
- <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
- <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
- <condition-expr field-name="currencyUomId" env-name="parameters.currencyUomId"/>
- </condition-list>
- <order-by field-name="-fromDate"/>
- </entity-condition>
- <filter-list-by-date list-name="partyRateList" all-same="true"/>
- <first-from-list entry-name="partyRate" list-name="partyRateList"/>
- <if-not-empty field="partyRate">
- <set field="rateAmount" from-field="partyRate.rate"/>
+
+ <set-service-fields service-name="getRateAmount" map-name="parameters" to-map-name="getRate"/>
+ <set field="getRate.rateCurrencyUomId" from-field="parameters.currencyUomId"/>
+ <set field="getRate.rateTypeId" from-field="timeEntry.rateTypeId"/>
+ <if-empty field="timeEntry.partyId">
+ <get-related-one value-name="timeEntry" relation-name="Timesheet" to-value-name="timesheet"/>
+ <if-not-empty field="timesheet">
+ <set field="getRate.partyId" from-field="timesheet.partyId"/>
</if-not-empty>
+ <else>
+ <set field="getRate.partyId" from-field="timeEntry.partyId"/>
+ </else>
</if-empty>
- <field-to-result field-name="rateAmount"/>
+ <call-service service-name="getRateAmount" in-map-name="getRate">
+ <result-to-result result-name="rateAmount"/>
+ </call-service>
</simple-method>
<!-- subroutines -->
@@ -383,5 +388,5 @@
</if>
<check-errors/>
</simple-method>
-
+
</simple-methods>
Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml (original)
+++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml Mon Dec 22 23:26:55 2008
@@ -1163,7 +1163,8 @@
</iterate>
</if-not-empty>
<if-not-empty field="parameters.duplicateWorkEffortAssignmentRates">
- <find-by-and entity-name="WorkEffortAssignmentRate" map-name="workEffortFindContext" list-name="foundValues"/>
+ <find-by-and entity-name="RateAmount" map-name="workEffortFindContext" list-name="foundValuesAll"/>
+ <filter-list-by-date list-name="foundValuesAll" to-list-name="foundValues"/>
<iterate entry-name="foundValue" list-name="foundValues">
<clone-value value-name="foundValue" new-value-name="newTempValue"/>
<set from-field="parameters.workEffortId" field="newTempValue.workEffortId"/>
@@ -1183,7 +1184,7 @@
<remove-by-and entity-name="WorkEffortNote" map-name="workEffortFindContext"/>
</if-not-empty>
<if-not-empty field="parameters.removeWorkEffortAssignmentRates">
- <remove-by-and entity-name="WorkEffortAssignmentRate" map-name="workEffortFindContext"/>
+ <remove-by-and entity-name="RateAmount" map-name="workEffortFindContext"/>
</if-not-empty>
</simple-method>
Modified: ofbiz/trunk/applications/workeffort/servicedef/services_timesheet.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/servicedef/services_timesheet.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/servicedef/services_timesheet.xml (original)
+++ ofbiz/trunk/applications/workeffort/servicedef/services_timesheet.xml Mon Dec 22 23:26:55 2008
@@ -147,43 +147,5 @@
<attribute name="rateAmount" type="Double" mode="OUT" optional="true"/>
</service>
- <!-- PartyRate Services -->
- <service name="createPartyRate" default-entity-name="PartyRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="createPartyRate">
- <description>Creates PartyRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- <auto-attributes include="nonpk" mode="IN" optional="true"/>
- <override name="fromDate" optional="true"/>
- </service>
- <service name="updatePartyRate" default-entity-name="PartyRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="updatePartyRate">
- <description>Updates PartyRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- <auto-attributes include="nonpk" mode="IN" optional="true"/>
- </service>
- <service name="deletePartyRate" default-entity-name="PartyRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="deletePartyRate">
- <description>Deletes PartyRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- </service>
-
- <!-- WorkEffortAssignmentRate Services -->
- <service name="createWorkEffortAssignmentRate" default-entity-name="WorkEffortAssignmentRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="createWorkEffortAssignmentRate">
- <description>Creates WorkEffortAssignmentRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- <auto-attributes include="nonpk" mode="IN" optional="true"/>
- <override name="fromDate" optional="true"/>
- </service>
- <service name="updateWorkEffortAssignmentRate" default-entity-name="WorkEffortAssignmentRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="updateWorkEffortAssignmentRate">
- <description>Updates WorkEffortAssignmentRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- <auto-attributes include="nonpk" mode="IN" optional="true"/>
- </service>
- <service name="deleteWorkEffortAssignmentRate" default-entity-name="WorkEffortAssignmentRate" engine="simple" auth="true"
- location="org/ofbiz/workeffort/timesheet/RateServices.xml" invoke="deleteWorkEffortAssignmentRate">
- <description>Deletes WorkEffortAssignmentRate</description>
- <auto-attributes include="pk" mode="IN" optional="false"/>
- </service>
+ <!-- WorkEffortRate Services (WorkEffortAssignmentRate Services now depreciated and replced by RateAmount services )-->
</services>
Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Mon Dec 22 23:26:55 2008
@@ -166,24 +166,21 @@
<response name="error" type="view" value="ListWorkEffortPartyAssigns"/>
</request-map>
- <request-map uri="EditWorkEffortAssignmentRates"><security https="true" auth="true"/><response name="success" type="view" value="EditWorkEffortAssignmentRates"/></request-map>
- <request-map uri="createWorkEffortAssignmentRate">
+ <request-map uri="EditWorkEffortRates">
<security https="true" auth="true"/>
- <event type="service" invoke="createWorkEffortAssignmentRate"/>
- <response name="success" type="view" value="EditWorkEffortAssignmentRates"/>
- <response name="error" type="view" value="EditWorkEffortAssignmentRates"/>
+ <response name="success" type="view" value="EditWorkEffortRates"/>
</request-map>
- <request-map uri="updateWorkEffortAssignmentRate">
+ <request-map uri="updateWorkEffortRate">
<security https="true" auth="true"/>
- <event type="service" invoke="updateWorkEffortAssignmentRate"/>
- <response name="success" type="view" value="EditWorkEffortAssignmentRates"/>
- <response name="error" type="view" value="EditWorkEffortAssignmentRates"/>
+ <event type="service" invoke="updateRateAmount"/>
+ <response name="success" type="view" value="EditWorkEffortRates"/>
+ <response name="error" type="view" value="EditWorkEffortRates"/>
</request-map>
- <request-map uri="deleteWorkEffortAssignmentRate">
+ <request-map uri="deleteWorkEffortRate">
<security https="true" auth="true"/>
- <event type="service" invoke="deleteWorkEffortAssignmentRate"/>
- <response name="success" type="view" value="EditWorkEffortAssignmentRates"/>
- <response name="error" type="view" value="EditWorkEffortAssignmentRates"/>
+ <event type="service" invoke="deleteRateAmount"/>
+ <response name="success" type="view" value="EditWorkEffortRates"/>
+ <response name="error" type="view" value="EditWorkEffortRates"/>
</request-map>
<!-- WorkEffort CommunicationEvents requests -->
@@ -693,7 +690,7 @@
<view-map name="ListWorkEffortEventReminders" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortEventReminders"/>
<view-map name="ListWorkEffortFixedAssetAssigns" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortFixedAssetAssigns"/>
<view-map name="ListWorkEffortPartyAssigns" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortPartyAssigns"/>
- <view-map name="EditWorkEffortAssignmentRates" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortAssignmentRates"/>
+ <view-map name="EditWorkEffortRates" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortRates"/>
<view-map name="ListWorkEffortCommEvents" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortCommEvents"/>
<view-map name="ListWorkEffortShopLists" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortShopLists"/>
Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml Mon Dec 22 23:26:55 2008
@@ -704,37 +704,32 @@
<field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><display/></field>
</form>
- <!-- WorkEffortAssignmentRate -->
- <form name="ListWorkEffortAssignmentRates" type="list" list-name="workEffortAssignmentRates" target="updateWorkEffortAssignmentRate"
+ <!-- WorkEffortRate -->
+ <form name="ListWorkEffortRates" type="list" list-name="workEffortRates" target="deleteWorkEffortRate"
odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
<actions>
- <entity-condition entity-name="WorkEffortAssignmentRate">
+ <entity-condition entity-name="RateAmount" filter-by-date="true">
<condition-expr field-name="workEffortId" env-name="workEffortId"/>
- <order-by field-name="partyId"/>
<order-by field-name="rateTypeId"/>
- <order-by field-name="-fromDate"/>
+ <order-by field-name="periodTypeId"/>
+ <order-by field-name="rateCurrencyUomId"/>
</entity-condition>
</actions>
- <auto-fields-service service-name="updateWorkEffortAssignmentRate"/>
-
<field name="workEffortId"><hidden/></field>
+ <field name="fromDate"><hidden/></field>
+ <field name="rateCurrencyUomId"><hidden/></field>
<field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType"/></field>
- <field name="partyId" title="${uiLabelMap.PartyParty}">
- <display-entity description="${firstName} ${lastName} ${groupName} [${partyId}]" entity-name="PartyNameView"/>
- </field>
- <field name="fromDate"><display/></field>
- <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
-
- <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
- <hyperlink target="deleteWorkEffortAssignmentRate?workEffortId=${workEffortId}&rateTypeId=${rateTypeId}&partyId=${partyId}&fromDate=${fromDate}" description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
- </field>
+ <field name="rateAmount"><display type="currency" currency="${rateCurrencyUomId}"/></field>
+ <field name="periodTypeId"><display-entity entity-name="PeriodType" description="${description}"/></field>
+ <field name="deleteButton" widget-style="smallSubmit"><submit /></field>
</form>
- <form name="AddWorkEffortAssignmentRate" type="single" target="createWorkEffortAssignmentRate" title=""
+ <form name="AddWorkEffortRate" type="single" target="updateWorkEffortRate" title=""
header-row-style="header-row" default-table-style="basic-table">
- <auto-fields-service service-name="createWorkEffortAssignmentRate"/>
-
+ <actions>
+ <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
+ <set field="periodTypeId" value="RATE_HOUR"/>
+ </actions>
<field name="workEffortId"><hidden/></field>
- <field name="partyId" title="${uiLabelMap.PartyParty}"><lookup target-form-name="LookupPartyName" default-value="${timesheet.partyId}"/></field>
<field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
<drop-down no-current-selected-key="STANDARD">
<entity-options entity-name="RateType" description="${description}">
@@ -742,6 +737,23 @@
</entity-options>
</drop-down>
</field>
+ <field name="periodTypeId" position="2">
+ <drop-down>
+ <entity-options entity-name="PeriodType" description="${description}">
+ <entity-constraint name="periodTypeId" operator="like" value="RATE_%"/>
+ <entity-order-by field-name="description"/>
+ </entity-options>
+ </drop-down>
+ </field>
+ <field name="rateAmount" tooltip="override Default Rate amount"><text/></field>
+ <field name="rateCurrencyUomId" position="2">
+ <drop-down allow-empty="true" no-current-selected-key="${defaultCurrencyUomId}">
+ <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="abbreviation"/>
+ </entity-options>
+ </drop-down>
+ </field>
<field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
</form>
@@ -757,8 +769,6 @@
<order-by field-name="-fromDate"/>
</entity-condition>
</actions>
- <auto-fields-service service-name="updateTimeEntry"/>
-
<field name="timeEntryId"><hidden/></field>
<field name="timesheetId">
<lookup size="10" target-form-name="LookupTimesheet">
Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml Mon Dec 22 23:26:55 2008
@@ -53,8 +53,8 @@
<menu-item name="WorkEffortPartyAssigns" title="${uiLabelMap.WorkEffortParties}">
<link target="ListWorkEffortPartyAssigns?workEffortId=${workEffortId}"/>
</menu-item>
- <menu-item name="WorkEffortAssignmentRates" title="${uiLabelMap.TimesheetRates}">
- <link target="EditWorkEffortAssignmentRates?workEffortId=${workEffortId}"/>
+ <menu-item name="WorkEffortRates" title="${uiLabelMap.TimesheetRates}">
+ <link target="EditWorkEffortRates?workEffortId=${workEffortId}"/>
</menu-item>
<menu-item name="WorkEffortCommEvents" title="${uiLabelMap.WorkEffortCommEvents}">
<link target="ListWorkEffortCommEvents?workEffortId=${workEffortId}"/>
Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml Mon Dec 22 23:26:55 2008
@@ -474,11 +474,11 @@
</section>
</screen>
- <screen name="EditWorkEffortAssignmentRates">
+ <screen name="EditWorkEffortRates">
<section>
<actions>
<set field="titleProperty" value="PageTitleListWorkEffortAssignmentRates"/>
- <set field="tabButtonItem" value="WorkEffortAssignmentRates"/>
+ <set field="tabButtonItem" value="WorkEffortRates"/>
<set field="labelTitleProperty" value="PageTitleListWorkEffortAssignmentRates"/>
<set field="workEffortId" from-field="parameters.workEffortId"/>
@@ -486,10 +486,10 @@
<widgets>
<decorator-screen name="CommonWorkEffortDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
- <screenlet id="AddWorkEffortAssignmentRatesPanel" title="${uiLabelMap.PageTitleAddWorkEffortAssignmentRate}" collapsible="true">
- <include-form name="AddWorkEffortAssignmentRate" location="component://workeffort/widget/WorkEffortForms.xml"/>
+ <screenlet id="AddWorkEffortRatesPanel" title="${uiLabelMap.PageTitleAddWorkEffortAssignmentRate}" collapsible="true">
+ <include-form name="AddWorkEffortRate" location="component://workeffort/widget/WorkEffortForms.xml"/>
</screenlet>
- <include-form name="ListWorkEffortAssignmentRates" location="component://workeffort/widget/WorkEffortForms.xml"/>
+ <include-form name="ListWorkEffortRates" location="component://workeffort/widget/WorkEffortForms.xml"/>
</decorator-section>
</decorator-screen>
</widgets>
Modified: ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Mon Dec 22 23:26:55 2008
@@ -1218,15 +1218,12 @@
<remove-by-and entity-name="InvoiceItem" map-name="removeItems"/>
<set field="notFirst" value="Y"/><!-- do not create, only add -->
</if-compare>
- <if-empty field="parameters.thruDate">
- <set field="parameters.thruDate" value="9999-12-31 00:00:00.000" type="Timestamp"/>
- </if-empty>
<entity-condition entity-name="ProjectPhaseTaskAndTimeEntryTimeSheet" list-name="tasks">
<condition-list combine="and">
<condition-expr field-name="projectId" operator="equals" env-name="parameters.projectId"/>
- <condition-expr field-name="invoiceId" operator="equals" env-name="null"/>
+ <condition-expr field-name="invoiceId" operator="equals" env-name="nullField"/>
<condition-expr field-name="timesheetStatusId" operator="equals" value="TIMESHEET_COMPLETED"/>
- <condition-expr field-name="fromDate" operator="less" env-name="parameters.thruDate"/>
+ <condition-expr field-name="fromDate" operator="less" env-name="parameters.thruDate" ignore-if-empty="true"/>
</condition-list>
<order-by field-name="workEffortId"/>
</entity-condition>
Modified: ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/ProjectBilling.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/ProjectBilling.groovy?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/ProjectBilling.groovy (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/ProjectBilling.groovy Mon Dec 22 23:26:55 2008
@@ -20,21 +20,28 @@
import org.ofbiz.entity.*;
import org.ofbiz.base.util.*;
+import org.ofbiz.entity.*;
+import org.ofbiz.entity.condition.*;
+import org.ofbiz.entity.util.*;
projectId = parameters.projectId;
-List entries = delegator.findByAnd("ProjectAndPhaseAndTask", ["projectId" : projectId ], ["lastModifiedDate DESC"]);
-for(ind = 0; ind < entries.size(); ind++) {
- entryItems = entries[ind].getRelated("TimeEntry");
- if (entryItems && entryItems[0].invoiceId != null) {
- invoice = delegator.findByPrimaryKey("Invoice", ["invoiceId" : entryItems[0].invoiceId]);
- if (invoice.getString("statusId").equals("INVOICE_IN_PROCESS")) {
- context.partyIdFrom = invoice.partyIdFrom;
- context.partyId = invoice.partyId;
- context.invoiceId = entryItems[0].invoiceId;
- }
- break;
+entryExprs =
+ EntityCondition.makeCondition([
+ EntityCondition.makeCondition("projectId", EntityOperator.EQUALS, projectId),
+ EntityCondition.makeCondition("invoiceId", EntityOperator.NOT_EQUAL, null),
+ ], EntityOperator.AND);
+orderBy = ["-fromDate"];
+// check if latest invoice generated is still in process so allow re-generation to correct errors
+entryIterator = delegator.find("ProjectPhaseTaskAndTimeEntryTimeSheet", entryExprs, null, null, orderBy, null);
+while (entryItem = entryIterator.next()) {
+ invoice = entryItem.getRelatedOne("Invoice");
+ if (invoice.getString("statusId").equals("INVOICE_IN_PROCESS")) {
+ context.partyIdFrom = invoice.partyIdFrom;
+ context.partyId = invoice.partyId;
+ context.invoiceId = invoice.invoiceId;
+ break;
+ }
}
-}
-
+entryIterator.close();
//start of this month
-context.thruDate = UtilDateTime.getMonthStart(UtilDateTime.nowTimestamp());
\ No newline at end of file
+context.thruDate = UtilDateTime.getMonthStart(UtilDateTime.nowTimestamp());
Modified: ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/hoursNotYetBilled.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/hoursNotYetBilled.bsh?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/hoursNotYetBilled.bsh (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/actions/hoursNotYetBilled.bsh Mon Dec 22 23:26:55 2008
@@ -1,71 +0,0 @@
-/*
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.*;
-import java.lang.*;
-import java.util.Iterator;
-import javolution.util.FastMap;
-import java.math.BigDecimal;
-
-import org.ofbiz.entity.*;
-import org.ofbiz.base.util.*;
-import org.ofbiz.base.util.UtilMisc;
-import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.entity.condition.EntityConditionList;
-import org.ofbiz.entity.condition.EntityExpr;
-import org.ofbiz.entity.condition.EntityOperator;
-
-
-import org.ofbiz.entity.util.*;
-import org.ofbiz.base.util.*;
-import org.ofbiz.entity.condition.*;
-import java.sql.Timestamp;
-
-projectId = parameters.get("projectId");
-
-// get all tasks from the project, get related time entries and checked if not invoiced
-List entryList = new LinkedList();
-entries = delegator.findByAnd("ProjectAndPhaseAndTask", UtilMisc.toMap("projectId", projectId), UtilMisc.toList("phaseName", "workEffortName"));
-t = entries.iterator();
-while (t.hasNext()) {
- entry = t.next();
- entryItems = entry.getRelated("TimeEntry");
- e = entryItems.iterator();
- while (e.hasNext()) {
- entryItem = e.next();
- if (entryItem.getString("invoiceId") == null) {
- timesheet = entryItem.getRelatedOne("Timesheet");
- if (timesheet.getString("statusId").equals("TIMESHEET_COMPLETED")) {
- Map all = FastMap.newInstance();
- all.put("workEffortName", entry.getString("workEffortName"));
- all.put("workEffortId", entry.getString("workEffortId"));
- all.put("phaseName", entry.getString("phaseName"));
- all.put("phaseId", entry.getString("phaseId"));
- all.put("partyId", timesheet.getString("partyId"));
- all.put("hours", entryItem.getDouble("hours"));
- all.put("fromDate", entryItem.getTimestamp("fromDate"));
- all.put("timesheetId", timesheet.getString("timesheetId"));
- all.put("rateTypeId", entryItem.getString("rateTypeId"));
- entryList.add(all);
- }
- }
- }
-}
-context.put("entryList", entryList);
Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml Mon Dec 22 23:26:55 2008
@@ -83,7 +83,15 @@
<form name="hoursNotYetBilled" type="list" list-name="entryList"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<actions>
- <script location="component://projectmgr/webapp/projectmgr/WEB-INF/actions/hoursNotYetBilled.bsh"/>
+ <entity-condition entity-name="ProjectPhaseTaskAndTimeEntryTimeSheet" list-name="entryList">
+ <condition-list combine="and">
+ <condition-expr field-name="projectId" operator="equals" env-name="parameters.projectId"/>
+ <condition-expr field-name="invoiceId" operator="equals" env-name="nullField"/>
+ <condition-expr field-name="timesheetStatusId" operator="equals" value="TIMESHEET_COMPLETED"/>
+ <condition-expr field-name="fromDate" operator="less" env-name="parameters.thruDate" ignore-if-empty="true"/>
+ </condition-list>
+ <order-by field-name="-fromDate"/>
+ </entity-condition>
</actions>
<field name="workEffortName"><display/></field>
<field name="phaseName"><display/></field>
@@ -553,7 +561,7 @@
<field name="partyId" title="${uiLabelMap.WorkEffortTimeBillToParty}"><lookup target-form-name="LookupPartyName" default-value="${timesheet.clientPartyId}"/></field>
<field name="thruDate" title="${uiLabelMap.CommonThruDate}"><date-time type="timestamp"/></field>
<field name="invoiceId"><hidden/></field>
- <field name="reCreate" position="1" title="re-create Invoice: ${context.invoiceId}" use-when="context.get("invoiceId")!=null">
+ <field name="reCreate" position="1" title="re-create Invoice: ${invoiceId}" use-when="context.get("invoiceId")!=null">
<drop-down no-current-selected-key="N">
<option key="Y" description="Yes"/>
<option key="N" description="No"/>
Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml?rev=728894&r1=728893&r2=728894&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TimeSheetForms.xml Mon Dec 22 23:26:55 2008
@@ -83,7 +83,7 @@
<form name="FindTimeSheet" target="FindTimeSheet" title="" type="single"
header-row-style="header-row" default-table-style="basic-table">
<field name="noConditionFind"><hidden value="Y"/></field>
- <field name="newTimesheetId" parameter-name="timesheetId"><text-find default-option="contains" ignore-case="true"/></field>
+ <field name="timesheetId"><text-find default-option="contains" ignore-case="true"/></field>
<field name="comments"><text-find default-option="contains" ignore-case="true"/></field>
<field name="partyId" title="${uiLabelMap.PartyParty}">
<drop-down allow-empty="true">