Author: hansbak
Date: Sun Jul 27 10:37:46 2008 New Revision: 680157 URL: http://svn.apache.org/viewvc?rev=680157&view=rev Log: check in create contactmech service if the contactmech infostring is already existing, if so do not create again Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml ofbiz/trunk/applications/party/servicedef/secas.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=680157&r1=680156&r2=680157&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 Sun Jul 27 10:37:46 2008 @@ -27,6 +27,28 @@ <set field="parameters.partyId" from-field="userLogin.partyId"/> </if-empty> + <!-- check if the contact mech infostring is already existing if so, do not create a new one--> + <entity-and list-name="partyAndContactMechs" entity-name="PartyAndContactMech"> + <field-map field-name="partyId" env-name="parameters.partyId"/> + </entity-and> + <iterate entry-name="partyAndContactMech" list-name="partyAndContactMechs"> + <entity-one entity-name="ContactMechType" value-name="contactMechType"> + <field-map field-name="contactMechTypeId" env-name="partyAndContactMech.contactMechTypeId"/> + </entity-one> + <if> + <condition> + <and> + <if-compare operator="equals" value="N" field="contactMechType.hasTable"/> + <if-compare operator="equals" value="${partyAndContactMech.infoString}" field="parameters.infoString"/> + </and> + </condition> + <then> + <log level="info" message="Contact mechTypeId: ${parameters.contactMechTypeId} already exists with value: ${partyAndContactMech.infoString} for party: ${parameters.partyId}"/> + <return response-code="success"/> + </then> + </if> + </iterate> + <if-empty field="parameters.contactMechId"> <set-service-fields service-name="createContactMech" map-name="parameters" to-map-name="createContactMechMap"/> <call-service service-name="createContactMech" in-map-name="createContactMechMap"> Modified: ofbiz/trunk/applications/party/servicedef/secas.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/servicedef/secas.xml?rev=680157&r1=680156&r2=680157&view=diff ============================================================================== --- ofbiz/trunk/applications/party/servicedef/secas.xml (original) +++ ofbiz/trunk/applications/party/servicedef/secas.xml Sun Jul 27 10:37:46 2008 @@ -51,6 +51,7 @@ <!-- NOTE: because we have an ECA on createPartyContactMech, we don't need to do it on createPartyPostalAddress, createPartyEmailAddress, createPartyTelecomNumber because those will call it --> <eca service="createPartyContactMech" event="commit"> <condition field-name="contactMechPurposeTypeId" operator="is-not-empty"/> + <condition field-name="contactMechId" operator="is-not-empty"/> <action service="createPartyContactMechPurpose" mode="sync"/> </eca> |
Free forum by Nabble | Edit this page |