<?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"
        xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd">
    <simple-method method-name="createOrderDeliverySchedule" short-description="Creates a new Purchase Order Schedule">
        <!-- Verify the user is allowed to set the fields -->
        <set value="createOrderDeliverySchedule" field="callingMethodName"/>
        <set value="CREATE" field="checkAction"/>
        <call-simple-method method-name="checkSupplierRelatedPermission"/>
        <check-errors/>

        <make-value entity-name="OrderDeliverySchedule" value-field="schedule"/>
        <set-pk-fields map="parameters" value-field="schedule"/>
        <if-empty field="schedule.orderItemSeqId">
            <set value="_NA_" field="schedule.orderItemSeqId"/>
        </if-empty>

        <!-- only set statusId if hasScheduleAdminRelatedPermission -->
        <set-nonpk-fields map="parameters" value-field="schedule"/>
        <if-has-permission permission="ORDERMGR" action="_${checkAction}">
        <else>
            <!-- no permission, set to initial -->
            <set value="ODS_SUBMITTED" field="schedule.statusId"/>
        </else>
        </if-has-permission>

        <create-value value-field="schedule"/>
    </simple-method>
    <simple-method method-name="updateOrderDeliverySchedule" short-description="Updates an existing Purchase Order Schedule">
        <!-- Verify the user is allowed to edit the fields -->
        <set value="updateOrderDeliverySchedule" field="callingMethodName"/>
        <set value="UPDATE" field="checkAction"/>
        <call-simple-method method-name="checkSupplierRelatedPermission"/>
        <check-errors/>

        <!-- Lookup the existing schedule to modify -->
        <make-value entity-name="OrderDeliverySchedule" value-field="lookupPkMap"/>
        <set-pk-fields map="parameters" value-field="lookupPkMap"/>
        <find-by-primary-key entity-name="OrderDeliverySchedule" map="lookupPkMap" value-field="schedule"/>

        <!-- only set statusId if hasScheduleAdminRelatedPermission -->
        <set from-field="schedule.statusId" field="saveStatusId"/>
        <set-nonpk-fields map="parameters" value-field="schedule"/>
        <if-has-permission permission="ORDERMGR" action="_${checkAction}">
        <else>
            <!-- no permission, restore saved status -->
            <set from-field="saveStatusId" field="schedule.statusId"/>
        </else>
        </if-has-permission>

        <!-- Update the actual schedule -->
        <store-value value-field="schedule"/>
    </simple-method>
    <simple-method method-name="sendOrderDeliveryScheduleNotification" short-description="Send Order Delivery Schedule Notification">
        <set value="sendOrderDeliveryScheduleNotification" field="callingMethodName"/>
        <set value="UPDATE" field="checkAction"/>
        <call-simple-method method-name="checkSupplierRelatedPermission"/>
        <check-errors/>

        <if-empty field="parameters.orderItemSeqId">
            <set field="parameters.orderItemSeqId" value="_NA_"/>
        </if-empty>

        <make-value entity-name="OrderDeliverySchedule" value-field="orderDeliverySchedule"/>
        <set-pk-fields value-field="orderDeliverySchedule" map="parameters"/>
        <find-by-primary-key map="orderDeliverySchedule" value-field="orderDeliverySchedule"/>

        <!-- find email address for currently logged in user, set as sendFrom -->
        <set field="curUserPcmFindMap.partyId" from-field="userLogin.partyId"/>
        <set field="curUserPcmFindMap.contactMechTypeId" value="EMAIL_ADDRESS"/>
        <find-by-and entity-name="PartyAndContactMech" map="curUserPcmFindMap" list="curUserPartyAndContactMechs"/>
        <first-from-list list="curUserPartyAndContactMechs" entry="curUserPartyAndContactMech"/>
        <string-append field="sendEmailMap.sendFrom" string="${curUserPartyAndContactMech.infoString}" prefix=","/>

        <!-- find email addresses of all parties in SHIPMENT_CLERK roleTypeId, set as sendTo -->
        <set value="SHIPMENT_CLERK" field="shipmentClerkFindMap.roleTypeId"/>
        <find-by-and entity-name="PartyRole" map="shipmentClerkFindMap" list="shipmentClerkRoles"/>
        <iterate list="shipmentClerkRoles" entry="shipmentClerkRole">
            <set field="sendToPartyIdMap[shipmentClerkRole.partyId]" from-field="shipmentClerkRole.partyId"/>
        </iterate>

        <!-- go through all send to parties and get email addresses -->
        <iterate-map key="sendToPartyId" value="sendToPartyIdValue" map="sendToPartyIdMap">
            <set field="sendToPartyPcmFindMap.partyId" from-field="sendToPartyId"/>
            <set field="sendToPartyPcmFindMap.contactMechTypeId" value="EMAIL_ADDRESS"/>
            <find-by-and entity-name="PartyAndContactMech" map="sendToPartyPcmFindMap" list="sendToPartyPartyAndContactMechs"/>
            <iterate list="sendToPartyPartyAndContactMechs" entry="sendToPartyPartyAndContactMech">
                <string-append field="sendEmailMap.sendTo" string="${sendToPartyPartyAndContactMech.infoString}" prefix=","/>
            </iterate>
        </iterate-map>

        <!-- set subject, contentType, templateName, templateData -->
        <set field="sendEmailMap.subject" value="Delivery Information Updated for Order #${orderDeliverySchedule.orderId}"/>
        <if-compare field="orderDeliverySchedule.orderItemSeqId" operator="not-equals" value="_NA_">
            <string-append string=" Item #${orderDeliverySchedule.orderItemSeqId}" field="sendEmailMap.subject"/>
        </if-compare>
        <set field="sendEmailMap.contentType" value="text/html"/>
        <set field="sendEmailMap.templateName" value="default/OrderDeliveryUpdatedNotice.ftl"/>
        <set field="sendEmailMap.templateData.orderDeliverySchedule" from-field="orderDeliverySchedule"/>

        <!-- call sendGenericNotificationEmail service, if enough information was found -->
        <log level="info" message="Sending generic notification email (if all info is in place): ${sendEmailMap}"/>
        <if>
            <condition>
                <and>
                    <not><if-empty field="sendEmailMap.sendTo"/></not>
                    <not><if-empty field="sendEmailMap.sendFrom"/></not>
                </and>
            </condition>
            <then>
                <call-service service-name="sendGenericNotificationEmail" in-map-name="sendEmailMap"/>
            </then>
            <else>
                <log level="error" message="Insufficient data to send notice email: ${sendEmailMap}"/>
            </else>
        </if>
    </simple-method>

    <simple-method method-name="checkSupplierRelatedOrderPermissionService" short-description="Check Supplier Related Permission Service">
        <set field="checkAction" from-field="parameters.checkAction"/>
        <set field="callingMethodName" from-field="parameters.callingMethodName"/>
        <call-simple-method method-name="checkSupplierRelatedPermission"/>
        <field-to-result field="hasSupplierRelatedPermission"/>
    </simple-method>

    <!-- Should be called in-line to use its out parameter indicating whether the user has permission or not. -->
    <simple-method method-name="checkSupplierRelatedPermission" short-description="Check Supplier Related Permission">
        <if-empty field="callingMethodName">
            <property-to-field resource="CommonUiLabels" property="CommonPermissionThisOperation" field="callingMethodName"/>
        </if-empty>
        <if-empty field="checkAction">
            <set value="UPDATE" field="checkAction"/>
        </if-empty>
        <set field="hasSupplierRelatedPermission" value="false"/>
        <if>
            <condition>
                <if-has-permission permission="ORDERMGR" action="_${checkAction}"/>
            </condition>
            <then>
                <set field="hasSupplierRelatedPermission" value="true"/>
            </then>
            <else>
                <set from-field="parameters.orderId" field="lookupOrderRoleMap.orderId"/>
                <set from-field="userLogin.partyId" field="lookupOrderRoleMap.partyId"/>
                <set value="SUPPLIER_AGENT" field="lookupOrderRoleMap.roleTypeId"/>
                <find-by-primary-key entity-name="OrderRole" map="lookupOrderRoleMap" value-field="permOrderRole"/>
                <if>
                    <condition>
                        <if-empty field="permOrderRole"/>
                    </condition>
                    <then>
                        <set field="hasSupplierRelatedPermission" value="false"/>
                        <string-to-list list="error_list" string="ERROR: You do not have permission to ${checkAction} Delivery Schedule Information; you must be associated with this order as a Supplier Agent or have the ORDERMGR_${checkAction} permission."/>
                    </then>
                    <else>
                        <set field="hasSupplierRelatedPermission" value="true"/>
                    </else>
                </if>
            </else>
        </if>
        <log level="info" message="hasSupplierRelatedPermission is: ${hasSupplierRelatedPermission}"/>
    </simple-method>
</simple-methods>
