Author: jleroux
Date: Fri Nov 10 12:32:19 2006
New Revision: 473460

URL: http://svn.apache.org/viewvc?view=rev&rev=473460
Log:
A patch from Krzysztof Podejma "Cannot create New Contact Information In 
Facility Manager Application"
(https://issues.apache.org/jira/browse/OFBIZ-426)
Thanks Krzysztof (aka Kopia ;o) and Ashish for this patches

rev 473451 was an error (patches were commited in place of files changed), 
thanks to Ashish that noticed it.

Modified:
    
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechServices.xml
    
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/storage/FacilityContactMechServices.xml

Modified: 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechServices.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechServices.xml?view=diff&rev=473460&r1=473459&r2=473460
==============================================================================
--- 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechServices.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/contact/ContactMechServices.xml
 Fri Nov 10 12:32:19 2006
@@ -48,8 +48,8 @@
              <log level="info" message="Contact mech need updating"/> 
             <clone-value value-name="oldValue" new-value-name="newValue"/>
             <set-nonpk-fields map-name="parameters" value-name="newValue" 
set-if-null="false"/>
-            <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="contactMech" in-map-name="newValue" 
out-map-name="context"/>
+            <set field="context.contactMechTypeId" 
from-field="parameters.contactMechTypeId"/>
+            <set field="context.infoString" 
from-field="parameters.infoString"/>
             <call-service service-name="createContactMech" 
in-map-name="context">
                 <default-message>Contact Mechanism successfully 
created.</default-message>
                 <result-to-field result-name="contactMechId" 
map-name="newValue"/>

Modified: 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/storage/FacilityContactMechServices.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/storage/FacilityContactMechServices.xml?view=diff&rev=473460&r1=473459&r2=473460
==============================================================================
--- 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/storage/FacilityContactMechServices.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/storage/FacilityContactMechServices.xml
 Fri Nov 10 12:32:19 2006
@@ -21,40 +21,41 @@
     <simple-method method-name="createFacilityContactMech" 
short-description="Create a FacilityContactMech">
         <check-permission permission="FACILITY" action="_CREATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
-        <make-value value-name="newValue" entity-name="FacilityContactMech"/>
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>        
+        <make-value entity-name="FacilityContactMech" value-name="newValue"/>
+        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <log level="info" message="contactMechId is 
${parameters.contactMechId}"/>
-        
         <if-empty map-name="parameters" field-name="contactMechId">
-            <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="contactMech" in-map-name="parameters" 
out-map-name="context"/>
-            <call-service service-name="createContactMech" 
in-map-name="context">
+
+            <set-service-fields service-name="createContactMech" 
map-name="parameters" to-map-name="createContactMechMap"/>
+            <set field="createContactMechMap.contactMechTypeId" 
from-field="parameters.contactMechTypeId" />
+            <call-service service-name="createContactMech" 
in-map-name="createContactMechMap">
                 <default-message>Contact Mechanism successfully 
created.</default-message>
                 <result-to-field result-name="contactMechId" 
map-name="newValue"/>
             </call-service>
             <log level="info" message="ContactMech created"/>
             <else>
+
                 <set field="newValue.contactMechId" 
from-field="parameters.contactMechId" />
             </else>
         </if-empty>
-
-        <log level="info" message="Creating a FacilityContactMech"/>
+        <log level="info" message="Creating a FacilityContactMech with id: 
${parameters.contactMechId}"/>
         <set field="newValue.facilityId" from-field="parameters.facilityId" />
         <field-to-result field-name="contactMechId" map-name="newValue"/>
         <field-to-request field-name="contactMechId" map-name="newValue"/>
         <set-nonpk-fields map-name="parameters" value-name="newValue"/>
-        <now-timestamp-to-env env-name="nowTimestamp"/>
-        <set field="newValue.fromDate" from-field="nowTimestamp" />
+        <now-timestamp-to-env env-name="newValue.fromDate"/>
+
         <create-value value-name="newValue"/>
     </simple-method>
-    
+
     <simple-method method-name="updateFacilityContactMech" 
short-description="Update a FacilityContactMech">
         <check-permission permission="FACILITY" action="_UPDATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
         <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
-        
+
         <!-- Find old value -->
+
         <make-value entity-name="FacilityContactMech" 
value-name="facilityContactMechMap"/>
         <set-pk-fields value-name="facilityContactMechMap" 
map-name="parameters"/>
         <find-by-and entity-name="FacilityContactMech" 
list-name="facilityContactMechs" map-name="facilityContactMechMap"/>
@@ -64,110 +65,123 @@
             <add-error><fail-message message="ERROR: Cannot update specified 
contact info because it does not correspond to the specified 
facility"/></add-error>
         </if-empty>
         <check-errors/>
-        <field-to-list list-name="storeList" field-name="facilityContactMech"/>
-        
+
+        <log message="parameters: ${parameters}" level="info"/>
         <clone-value value-name="facilityContactMech" 
new-value-name="newFacilityContactMech"/>
-        
+        <log message="parameters: ${parameters}" level="info"/>
         <!-- If we already have a new contactMechId don't update ContactMech 
-->
-        <if-empty map-name="parameters" field-name="newContactMechId">         
       
-            <log level="info" message="Calling map procs"/>
-            <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="updateContactMech" in-map-name="parameters" 
out-map-name="context"/>
-            <to-string field-name="contactMechId" map-name="context"/>
-            <log level="info" message="Calling generic updateContactMech 
method"/>
-            <call-service service-name="updateContactMech" 
in-map-name="context">
+        <if-empty map-name="parameters" field-name="newContactMechId">
+            <set-service-fields service-name="updateContactMech" 
map-name="parameters" to-map-name="updateContactMechMap"/>
+            <set field="updateContactMechMap.contactMechTypeId" 
from-field="parameters.contactMechTypeId" />
+            <call-service service-name="updateContactMech" 
in-map-name="updateContactMechMap">
                 <default-message>Contact Mechanism successfully 
updated.</default-message>
+
                 <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech"/>
             </call-service>
             <else>
-                <set field="newFacilityContactMech.contactMechId" 
from-field="parameters.newContactMechId" />
+                <set field="newFacilityContactMech.contactMechId" 
from-field="parameters.newContactMechId"/>
                 <log level="info" message="Using supplied new contact mech id: 
${newFacilityContactMech.contactMechId}"/>
             </else>
-        </if-empty> 
+        </if-empty>
 
         <set-nonpk-fields value-name="newFacilityContactMech" 
map-name="parameters" set-if-null="false"/>
-        <now-timestamp-to-env env-name="now"/>
-        <set field="newFacilityContactMech.fromDate" from-field="now" />
-        <set field="facilityContactMech.thruDate" from-field="now" />
-        <field-to-list list-name="storeList" 
field-name="newFacilityContactMech"/>
-        
+
+        <now-timestamp-to-env env-name="newFacilityContactMech.fromDate"/>
+        <now-timestamp-to-env env-name="facilityContactMech.thruDate"/>
+
+        <store-value value-name="facilityContactMech"/>
+        <create-value value-name="newFacilityContactMech"/>
+
         <if-compare-field field-name="contactMechId" map-name="parameters" 
to-map-name="newFacilityContactMech" operator="not-equals">
-            <get-related value-name="facilityContactMech" 
relation-name="FacilityContactMechPurpose" 
list-name="facilityContactMechPurposes"/>   
-            <iterate entry-name="facilityContactMechPurpose" 
list-name="facilityContactMechPurposes">
-                <set field="facilityContactMechPurpose.contactMechId" 
from-field="newFacilityContactMech.contactMechId" />
-                <field-to-list field-name="facilityContactMechPurpose" 
list-name="storeList"/>
+            <get-related value-name="facilityContactMech" 
relation-name="FacilityContactMechPurpose" 
list-name="facilityContactMechPurposes"/>
+            <iterate entry-name="facilityContactMechPurposeOld" 
list-name="facilityContactMechPurposes">
+                <clone-value value-name="facilityContactMechPurposeOld" 
new-value-name="facilityContactMechPurpose"/>
+
+                <now-timestamp-to-env 
env-name="facilityContactMechPurposeOld.thruDate"/>
+                <store-value value-name="facilityContactMechPurposeOld"/>
+
+                <set field="facilityContactMechPurpose.contactMechId" 
from-field="newFacilityContactMech.contactMechId"/>
+                <set field="purposeMap.facilityId" 
from-field="facilityContactMechPurpose.facilityId"/>
+                <set field="purposeMap.contactMechPurposeTypeId" 
from-field="facilityContactMechPurpose.contactMechPurposeTypeId"/>
+                <set field="purposeMap.contactMechId" 
from-field="facilityContactMechPurpose.contactMechId"/>
+                <find-by-and entity-name="FacilityContactMechPurpose" 
list-name="purposeResult" map-name="purposeMap"/>
+
+                <if-empty field-name="purposeResult">
+
+                    <create-value value-name="facilityContactMechPurpose"/>
+                </if-empty>
             </iterate>
         </if-compare-field>
-        
-        <store-list list-name="storeList"/>
+
         <log level="info" message="Setting id to result: 
${newFacilityContactMech.contactMechId}"/>
-        <field-to-result field-name="contactMechId" 
map-name="newFacilityContactMech"/>
-        <field-to-request field-name="contactMechId" 
map-name="newFacilityContactMech"/>
+        <field-to-result field-name="newFacilityContactMech.contactMechId" 
result-name="contactMechId"/>
+        <field-to-request field-name="newFacilityContactMech.contactMechId" 
request-name="contactMechId"/>
     </simple-method>
-    
+
     <simple-method method-name="deleteFacilityContactMech" 
short-description="Delete a FacilityContactMech">
+        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <check-permission permission="FACILITY" action="_DELETE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <make-value entity-name="FacilityContactMech" 
value-name="facilityContactMechMap"/>
         <set-pk-fields value-name="facilityContactMechMap" 
map-name="parameters"/>
         <find-by-and entity-name="FacilityContactMech" 
list-name="facilityContactMechs" map-name="facilityContactMechMap"/>
         <filter-list-by-date list-name="facilityContactMechs" 
to-list-name="validFacilityContactMechs"/>
+
         <first-from-list entry-name="facilityContactMech" 
list-name="validFacilityContactMechs"/>
         <if-empty field-name="facilityContactMech">
-            <add-error><fail-message message="ERROR: Could not delete contact 
info (facility contact mech not found)"/></add-error>
+            <add-error>
+                <fail-property resource="FacilityUiLabels" 
property="FacilityContactMechNotFoundCannotDelete"/>
+            </add-error>
             <return/>
         </if-empty>
-        <now-timestamp-to-env env-name="now"/>
-        <set field="facilityContactMech.thruDate" from-field="now" />
+        <now-timestamp-to-env env-name="facilityContactMech.thruDate"/>
         <store-value value-name="facilityContactMech"/>
+
     </simple-method>
-    
+
     <simple-method method-name="createFacilityPostalAddress" 
short-description="Create a PostalAddress for facility">
         <check-permission permission="FACILITY" action="_CREATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
-        <log level="info" message="Creating postal address"/>
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="postalAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <call-service in-map-name="context" service-name="createPostalAddress">
+        <set-service-fields service-name="createPostalAddress" 
map-name="parameters" to-map-name="createPostalAddressMap"/>
+        <call-service in-map-name="createPostalAddressMap" 
service-name="createPostalAddress">
             <default-message>Postal Address successfully 
created</default-message>
-            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech"/>             
+
+            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech"/>
         </call-service>
-        <log level="info" message="ContactMech for postal address was 
${newFacilityContactMech.contactMechId}, now creating facility contact mech"/>
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-                processor-name="facilityContactMech" in-map-name="parameters" 
out-map-name="context2"/>  
-        <set field="context2.contactMechId" 
from-field="newFacilityContactMech.contactMechId" />
-        <log level="info" message="Copied id to context2: 
${context2.contactMechId}"/>
-        <call-service in-map-name="context2" break-on-error="true" 
service-name="createFacilityContactMech">
-            <default-message>Facility Contact Mechanism successfully 
created</default-message>       
+
+        <check-errors/>
+
+        <set field="createFacilityContactMechMap.contactMechId" 
from-field="newFacilityContactMech.contactMechId"/>
+        <set-service-fields service-name="createFacilityContactMech" 
map-name="parameters" to-map-name="createFacilityContactMechMap"/>
+
+        <call-service service-name="createFacilityContactMech" 
in-map-name="createFacilityContactMechMap" break-on-error="true">
+            <default-message>Facility Contact Mechanism successfully 
created</default-message>
+
         </call-service>
         <field-to-request field-name="contactMechId" 
map-name="newFacilityContactMech"/>
         <field-to-result field-name="contactMechId" 
map-name="newFacilityContactMech"/>
     </simple-method>
-    
+
     <simple-method method-name="updateFacilityPostalAddress" 
short-description="Update a PostalAddress for facility">
+        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <check-permission permission="FACILITY" action="_UPDATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
-        
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="postalAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <call-service in-map-name="context" service-name="updatePostalAddress">
+        <set-service-fields service-name="updatePostalAddress" 
map-name="parameters" to-map-name="updatePostalAddressMap"/>
+        <call-service in-map-name="updatePostalAddressMap" 
service-name="updatePostalAddress">
             <default-message>Postal Address successfully 
updated</default-message>
-            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech" field-name="contactMechId" />             
+            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech" field-name="contactMechId" />
         </call-service>
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-                processor-name="updateFacilityContactMech" 
in-map-name="parameters" out-map-name="context2"/>  
-        <set field="context2.newContactMechId" 
from-field="newFacilityContactMech.contactMechId" />
-        <set field="context2.contactMechTypeId" value="POSTAL_ADDRESS" />
-        <log level="info" message="Copied id to context2: 
${context2.newContactMechId}"/>
-        <call-service in-map-name="context2" 
service-name="updateFacilityContactMech">
-            <default-message>Facility Contact Mechanism successfully 
updated</default-message>       
+
+        <set-service-fields service-name="updateFacilityContactMech" 
map-name="parameters" to-map-name="updateFacilityContactMechMap"/>
+        <set field="updateFacilityContactMechMap.newContactMechId" 
from-field="newFacilityContactMech.contactMechId"/>
+
+        <set field="updateFacilityContactMechMap.contactMechTypeId" 
value="POSTAL_ADDRESS"/>
+        <log level="info" message="Copied id to updateFacilityContactMechMap: 
${updateFacilityContactMechMap.newContactMechId}"/>
+        <call-service service-name="updateFacilityContactMech" 
in-map-name="updateFacilityContactMechMap">
+            <default-message>Facility Contact Mechanism successfully 
updated</default-message>
         </call-service>
         <field-to-request field-name="contactMechId" 
map-name="newFacilityContactMech"/>
         <field-to-result field-name="contactMechId" 
map-name="newFacilityContactMech"/>
@@ -177,80 +191,87 @@
         <check-permission permission="FACILITY" action="_CREATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <log level="info" message="Creating telecom number"/>
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="telecomNumber" in-map-name="parameters" 
out-map-name="context"/>
-        <call-service in-map-name="context" service-name="createTelecomNumber">
+        <set-service-fields service-name="createTelecomNumber" 
map-name="parameters" to-map-name="createTelecomNumberMap"/>
+        <call-service in-map-name="createTelecomNumberMap" 
service-name="createTelecomNumber">
             <default-message>Telecom number successfully 
created</default-message>
-            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech"/>             
+
+            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech"/>
         </call-service>
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-                processor-name="facilityContactMech" in-map-name="parameters" 
out-map-name="context2"/>  
-        <set field="context2.contactMechId" 
from-field="newFacilityContactMech.contactMechId" />
-        <log level="info" message="Copied id to context2: 
${context2.contactMechId}"/>
-        <call-service in-map-name="context2" break-on-error="true" 
service-name="createFacilityContactMech">
-            <default-message>Facility Contact Mechanism successfully 
created</default-message>       
+
+        <set-service-fields service-name="createFacilityContactMech" 
map-name="parameters" to-map-name="createFacilityContactMechMap"/>
+        <set field="createFacilityContactMechMap.contactMechId" 
from-field="newFacilityContactMech.contactMechId"/>
+        <log level="info" message="Copied id to createFacilityContactMechMap: 
${createFacilityContactMechMap.contactMechId}"/>
+
+        <call-service service-name="createFacilityContactMech" 
in-map-name="createFacilityContactMechMap" break-on-error="true">
+            <default-message>Facility Contact Mechanism successfully 
created</default-message>
+
         </call-service>
         <field-to-request field-name="contactMechId" 
map-name="newFacilityContactMech"/>
         <field-to-result field-name="contactMechId" 
map-name="newFacilityContactMech"/>
     </simple-method>
-    
+
     <simple-method method-name="updateFacilityTelecomNumber" 
short-description="Update a TelecomNumber for facility">
+        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>
         <check-permission permission="FACILITY" action="_UPDATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <make-value entity-name="FacilityContactMech" 
value-name="newFacilityContactMech"/>        
-        <call-map-processor 
xml-resource="org/ofbiz/party/contact/ContactMechMapProcs.xml"
-                processor-name="telecomNumber" in-map-name="parameters" 
out-map-name="context"/>
-        <call-service in-map-name="context" service-name="updateTelecomNumber">
+        <set-service-fields service-name="updateTelecomNumber" 
map-name="parameters" to-map-name="updateTelecomNumberMap"/>
+        <call-service service-name="updateTelecomNumber" 
in-map-name="updateTelecomNumberMap">
             <default-message>Telecom Number successfully 
updated</default-message>
-            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech" field-name="contactMechId" />             
+            <result-to-field result-name="contactMechId" 
map-name="newFacilityContactMech" field-name="contactMechId" />
         </call-service>
-        
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-                processor-name="updateFacilityContactMech" 
in-map-name="parameters" out-map-name="context2"/>
-        <set field="context2.newContactMechId" 
from-field="newFacilityContactMech.contactMechId" />  
-        <set field="context2.contactMechTypeId" value="TELECOM_NUMBER" />
-        <log level="info" message="Copied id to context2: 
${context2.newContactMechId}"/>
-        <call-service in-map-name="context2" 
service-name="updateFacilityContactMech">
-            <default-message>Facility Contact Mechanism successfully 
updated</default-message>       
+
+        <set-service-fields service-name="updateFacilityContactMech" 
map-name="parameters" to-map-name="updateFacilityContactMechMap"/>
+        <set field="updateFacilityContactMechMap.newContactMechId" 
from-field="newFacilityContactMech.contactMechId"/>
+
+        <set field="updateFacilityContactMechMap.contactMechTypeId" 
value="TELECOM_NUMBER"/>
+        <log level="info" message="Copied id to updateFacilityContactMechMap: 
${updateFacilityContactMechMap.newContactMechId}"/>
+
+        <call-service in-map-name="updateFacilityContactMechMap" 
service-name="updateFacilityContactMech">
+            <default-message>Facility Contact Mechanism successfully 
updated</default-message>
         </call-service>
         <log level="info" message="Setting result id: 
${newFacilityContactMech.contactMechId}"/>
         <field-to-request field-name="contactMechId" 
map-name="newFacilityContactMech"/>
         <field-to-result field-name="contactMechId" 
map-name="newFacilityContactMech"/>
-    </simple-method>  
-    
+
+    </simple-method>
+
     <simple-method method-name="createFacilityEmailAddress" 
short-description="Create an email address for facility">
         <check-permission permission="FACILITY" action="_UPDATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-            processor-name="emailAddress" in-map-name="parameters" 
out-map-name="context"/>
-        <check-errors/>
-        <set field="context.contactMechTypeId" value="EMAIL_ADDRESS" />
-        <call-service service-name="createFacilityContactMech" 
in-map-name="context">
+        <set-service-fields service-name="createFacilityContactMech" 
map-name="parameters" to-map-name="createFacilityContactMechMap"/>
+        <set field="createFacilityContactMechMap.infoString" 
from-field="parameters.emailAddress"/>
+        <set field="createFacilityContactMechMap.contactMechTypeId" 
value="EMAIL_ADDRESS"/>
+        <call-service service-name="createFacilityContactMech" 
in-map-name="createFacilityContactMechMap">
+
             <default-message>Facility Contact Mechanism successfully 
created.</default-message>
             <result-to-result result-name="contactMechId"/>
             <result-to-request result-name="contactMechId"/>
         </call-service>
     </simple-method>
-    
+
     <simple-method method-name="updateFacilityEmailAddress" 
short-description="Update an email address for facility">
         <check-permission permission="FACILITY" action="_UPDATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
-        <call-map-processor 
xml-resource="org/ofbiz/product/storage/FacilityContactMechMapProcs.xml"
-            processor-name="emailAddress" in-map-name="parameters" 
out-map-name="context"/>
+        <if-validate-method field-name="parameters.emailAddress" 
method="isEmail">
+            <else><add-error><fail-property resource="FacilityUiLabels" 
property="FacilityEmailAddressNotFormattedCorrectly"/></add-error></else>
+        </if-validate-method>
         <check-errors/>
-        <set field="context.contactMechTypeId" value="EMAIL_ADDRESS" />
-        <call-service service-name="updateFacilityContactMech" 
in-map-name="context">
+
+        <set-service-fields service-name="updateFacilityContactMech" 
map-name="parameters" to-map-name="updateFacilityContactMechMap"/>
+        <set field="updateFacilityContactMechMap.infoString" 
from-field="parameters.emailAddress"/>
+        <set field="updateFacilityContactMechMap.contactMechTypeId" 
value="EMAIL_ADDRESS" />
+        <call-service service-name="updateFacilityContactMech" 
in-map-name="updateFacilityContactMechMap">
+
             <default-message>Facility Contact Mechanism successfully 
updated.</default-message>
             <result-to-result result-name="contactMechId"/>
             <result-to-request result-name="contactMechId"/>
         </call-service>
     </simple-method>
-    
+
     <simple-method method-name="createFacilityContactMechPurpose" 
short-description="Create a facility/contact mech purpose">
         <check-permission permission="FACILITY" action="_CREATE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
@@ -261,38 +282,42 @@
         <set field="lookUpMap.contactMechPurposeTypeId" 
from-field="parameters.contactMechPurposeTypeId" />
         <find-by-and entity-name="FacilityContactMechPurpose" 
map-name="lookUpMap" list-name="purposeList"/>
         <filter-list-by-date list-name="purposeList"/>
-        
+
         <if-not-empty field-name="purposeList">
             <add-error><fail-message message="Could not create new purpose, a 
purpose with that type already exists"/></add-error>
+
             <check-errors/>
         </if-not-empty>
-        
+
         <now-timestamp-to-env env-name="nowTimestamp"/>
         <make-value value-name="newEntity" 
entity-name="FacilityContactMechPurpose"/>
         <set field="newEntity.facilityId" from-field="parameters.facilityId" />
         <set field="newEntity.contactMechId" 
from-field="parameters.contactMechId" />
         <set field="newEntity.contactMechPurposeTypeId" 
from-field="parameters.contactMechPurposeTypeId" />
         <set field="newEntity.fromDate" from-field="nowTimestamp" />
+
         <create-value value-name="newEntity"/>
-        
+
         <field-to-result field-name="fromDate" map-name="newEntity" 
result-name="fromDate"/>
     </simple-method>
-    
+
     <simple-method method-name="deleteFacilityContactMechPurpose" 
short-description="Delete a facility/contact mech purpose">
         <check-permission permission="FACILITY" action="_DELETE"><fail-message 
message="You do not have permission to perform this operation for this 
facility."/></check-permission>
         <check-errors/>
 
         <make-value value-name="lookUpMap" 
entity-name="FacilityContactMechPurpose"/>
+
         <set-pk-fields map-name="parameters" value-name="lookUpMap"/>
-        <find-by-primary-key value-name="purposeEntity" 
entity-name="FacilityContactMechPurpose" map-name="lookUpMap"/>        
-        
+        <find-by-primary-key value-name="purposeEntity" 
entity-name="FacilityContactMechPurpose" map-name="lookUpMap"/>
+
         <if-empty field-name="purposeEntity">
             <add-error><fail-message message="Unable to locate purpose; cannot 
delete"/></add-error>
             <check-errors/>
         </if-empty>
-        
+
         <now-timestamp-to-env env-name="nowTimestamp"/>
         <set field="purposeEntity.thruDate" from-field="nowTimestamp" />
-        <store-value value-name="purposeEntity"/>                
-    </simple-method>    
+
+        <store-value value-name="purposeEntity"/>
+    </simple-method>
 </simple-methods>


Reply via email to