Author: jleroux
Date: Mon Jun 14 18:40:05 2010 New Revision: 954583 URL: http://svn.apache.org/viewvc?rev=954583&view=rev Log: Fix a bug that seems to have been introduced at r934389 for (https://issues.apache.org/jira/browse/OFBIZ-3703) - OFBIZ-3703 This fix a bug in updatePartyContactMech. When you wanted to update only the extension of a phone number it did not get stored. I said "that seems to have been introduced" because it's working in stable demo. I also remove a useless couple of lines at the beginning of the updatePartyContactMech service. Finally I must say that I find very weird to have extension in PartyContactMech entity. It would be certainly more logical to have in TelecomNumber. Is it really used for anything else than phone number extension? Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml?rev=954583&r1=954582&r2=954583&view=diff ============================================================================== --- ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml (original) +++ ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml Mon Jun 14 18:40:05 2010 @@ -71,11 +71,6 @@ under the License. </simple-method> <simple-method method-name="updatePartyContactMech" short-description="Update a PartyContactMech"> - <make-value entity-name="PartyContactMech" value-field="newPartyContactMech"/> - <if-empty field="parameters.partyId"> - <set field="parameters.partyId" from-field="userLogin.partyId"/> - </if-empty> - <!-- Find old value --> <make-value entity-name="PartyContactMech" value-field="partyContactMechMap"/> <set-pk-fields value-field="partyContactMechMap" map="parameters"/> @@ -85,11 +80,10 @@ under the License. <if-empty field="partyContactMech"> <add-error><fail-property resource="PartyUiLabels" property="PartyCannotUpdateContactBecauseNotWithSpecifiedParty"/></add-error> </if-empty> - <check-errors/> <clone-value value-field="partyContactMech" new-value-field="newPartyContactMech"/> - + <!-- If we already have a new contactMechId don't update ContactMech --> <if-empty field="parameters.newContactMechId"> <set-service-fields service-name="updateContactMech" map="parameters" to-map="updateContactMechMap"/> @@ -102,12 +96,11 @@ under the License. <log level="info" message="Using supplied new contact mech id: ${newPartyContactMech.contactMechId}"/> </else> </if-empty> - - <set-nonpk-fields value-field="newPartyContactMech" map="parameters"/> - <now-timestamp field="newPartyContactMech.fromDate"/> - <now-timestamp field="partyContactMech.thruDate"/> - + <if-compare-field to-field="newPartyContactMech.contactMechId" field="parameters.contactMechId" operator="not-equals"> + <set-nonpk-fields value-field="newPartyContactMech" map="parameters"/> + <now-timestamp field="newPartyContactMech.fromDate"/> + <now-timestamp field="partyContactMech.thruDate"/> <store-value value-field="partyContactMech"/> <create-value value-field="newPartyContactMech"/> <get-related value-field="partyContactMech" relation-name="PartyContactMechPurpose" list="partyContactMechPurposes"/> @@ -127,11 +120,21 @@ under the License. <create-value value-field="partyContactMechPurpose"/> </if-empty> </iterate> + <log level="info" message="Setting id to result: ${newPartyContactMech.contactMechId}"/> + <field-to-result field="newPartyContactMech.contactMechId" result-name="contactMechId"/> + <field-to-request field="newPartyContactMech.contactMechId" request-name="contactMechId"/> + <else> + <if-compare-field field="parameters.extension" operator="not-equals" to-field="partyContactMech.extension"> + <set field="partyContactMech.extension" from-field="parameters.extension"/> + <set field="partyContactMech.thruDate" value=""/> + <store-value value-field="partyContactMech"/> + </if-compare-field> + <log level="info" message="Setting id to result: ${partyContactMech.contactMechId}"/> + <field-to-result field="partyContactMech.contactMechId" result-name="contactMechId"/> + <field-to-request field="partyContactMech.contactMechId" request-name="contactMechId"/> + </else> </if-compare-field> - <log level="info" message="Setting id to result: ${newPartyContactMech.contactMechId}"/> - <field-to-result field="newPartyContactMech.contactMechId" result-name="contactMechId"/> - <field-to-request field="newPartyContactMech.contactMechId" request-name="contactMechId"/> </simple-method> <simple-method method-name="deletePartyContactMech" short-description="Delete a PartyContactMech"> |
Free forum by Nabble | Edit this page |