<?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="CreateCustRequestAndAssignTaskToPerson" short-description="">
        <set field="parameters.statusId" value="CRQ_ACCEPTED"/><!-- entered by employee, should only enter accepted customer requests -->
        <if-not-empty field="parameters.communicationEventId">
            <set-service-fields service-name="createCustRequestFromCommEvent" map="parameters" to-map="eventCreateCust"/>
            <call-service service-name="createCustRequestFromCommEvent" in-map-name="eventCreateCust">
                <result-to-field result-name="custRequestId"/>
            </call-service>
            <!-- set the status of all participants to complete so not somebody else will also create a customer request -->
            <entity-and entity-name="CommunicationEventRole" list="commRoles">
                <field-map field-name="communicationEventId" from-field="parameters.communicationEventId"/>
            </entity-and>
            <iterate entry="commRole" list="commRoles">
                <set field="commRole.statusId" value="COM_ROLE_COMPLETED"/>
                <store-value value-field="commRole"/>
            </iterate>
            <else>
                <set-service-fields service-name="createCustRequest" map="parameters" to-map="eventCreateCust"/>
                <call-service service-name="createCustRequest" in-map-name="eventCreateCust">
                    <result-to-field result-name="custRequestId"/>
                </call-service>
            </else>
        </if-not-empty>
        <set field="eventMessage" value="Customer request: ${custRequestId} created"/>
        <if-not-empty field="parameters.workEffortParentId">
            <set-service-fields service-name="createWorkEffort" map="parameters" to-map="createTask"/>
            <set field="createTask.custRequestId" from-field="custRequestId"/>
            <set field="createTask.workEffortName" from-field="parameters.custRequestName"/>
            <call-service service-name="createWorkEffort" in-map-name="createTask" >
                <result-to-field result-name="workEffortId" field="workEffortId"/>
            </call-service>
            <set field="eventMessage" value="${eventMessage} and attached to task: ${workEffortId}"/>
            <set field="updCust.statusId" value="CRQ_REVIEWED"/>
            <set field="updCust.custRequestId" from-field="custRequestId"/>
            <call-service service-name="updateCustRequest" in-map-name="updCust"/>
            <if-not-empty field="parameters.partyId">
                <set field="assignParty.workEffortId" from-field="workEffortId"/>
                <set field="assignParty.partyId" from-field="parameters.partyId"/>
                <set field="assignParty.roleTypeId" from-field="parameters.roleTypeId"/>
                <set field="assignParty.statusId" value="PAS_ASSIGNED"/>
                <call-service service-name="assignPartyToWorkEffort" in-map-name="assignParty"/>
                <set field="eventMessage" value="${eventMessage} and assigned to party: ${parameters.partyId}"/>
            </if-not-empty>
        </if-not-empty>
        <set field="_event_message_" from-field="eventMessage"/>
    </simple-method>
    <simple-method method-name="acceptRequestAndConnectToTask" short-description="Accept a customer request and connect to an existing task">
        <entity-one entity-name="WorkEffort" value-field="workEffort"/>
        <if-empty field="workEffort">
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskNotFound"/></add-error>
        </if-empty>
        <if-compare field="workEffort.currentStatusId" value="PTS_CREATED" operator="not-equals">
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskStatusWrongNoRequestAdded"/></add-error>
        </if-compare>
        <entity-one entity-name="CustRequest" value-field="custRequest"/>
        <if-empty field="custRequest">
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorRequestNotFound"/></add-error>
        </if-empty>
        <if-compare field="custRequest.statusId" value="CRQ_ACCEPTED" operator="not-equals">
            <entity-one entity-name="StatusItem" value-field="status">
                <field-map field-name="statusId" value="custRequest.statusId"/>
            </entity-one>
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorRequestStatusWrong"/></add-error>
        </if-compare>
        <check-errors/>
        <set field="updCust.statusId" value="CRQ_REVIEWED"/>
        <set field="updCust.custRequestId" from-field="parameters.custRequestId"/>
        <call-service service-name="updateCustRequest" in-map-name="updCust"/>
        <set-service-fields service-name="createWorkEffortRequest" map="parameters" to-map="connectMap"/>
        <call-service service-name="createWorkEffortRequest" in-map-name="connectMap"/>
    </simple-method>
    <simple-method method-name="setTaskStatusToComplete" short-description="Set the task status to complete, if resources assigned that status will also be set to complete">
        <entity-one entity-name="WorkEffort" value-field="workEffort"/>
        <if-empty field="workEffort">
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskNotFound"/></add-error>
        </if-empty>
        <if-compare field="workEffort.currentStatusId" value="PTS_CREATED" operator="not-equals">
            <add-error><fail-property resource="ProjectMgrUiLabels" property="ProjectMgrErrorTaskStatusWrongToBeComplete"/></add-error>
        </if-compare>
        <check-errors/>
        <entity-and entity-name="WorkEffortPartyAssignment" list="assigns" filter-by-date="true">
            <field-map field-name="workEffortId" from-field="parameters.workEffortId"/>
        </entity-and>
        <!-- if all assigns are complete the task will be set to complete -->
        <if-not-empty field="assigns">
            <iterate entry="assign" list="assigns">
                <set-service-fields service-name="updateTaskAssigment" map="assign" to-map="upd"/>
                <set field="upd.statusId" value="PAS_COMPLETED"/>
                <call-service service-name="updateTaskAssigment" in-map-name="upd"/>
            </iterate>
            <else>
                <set-service-fields service-name="updateWorkEffort" map="parameters" to-map="upd"/>
                <set field="upd.currentStatusId" value="PTS_COMPLETED"/>
                <call-service service-name="updateWorkEffort" in-map-name="upd"/>
            </else>
        </if-not-empty>
    </simple-method>
    <simple-method method-name="addProjectMgrResource" short-description="make parties available in the project manager.">
        <set-service-fields service-name="ensurePartyRole" map="parameters" to-map="roleData"/>
        <call-service service-name="ensurePartyRole" in-map-name="roleData"/>
        <set field="roleData.roleTypeId" value="PROJECT_TEAM"/>
        <call-service service-name="ensurePartyRole" in-map-name="roleData"/>
    </simple-method>
    <!-- create workEffort content -->
    <simple-method method-name="createWorkEffortContent" short-description="Creates Party Associated Content" login-required="false">
        <call-class-method class-name="org.apache.ofbiz.content.layout.LayoutWorker"
            method-name="uploadImageAndParameters"
            ret-field="formInput">
            <field field="request" type="javax.servlet.http.HttpServletRequest"/>
            <string value="dataResourceName"/>
        </call-class-method>
        <if-empty field="formInput.formInput.contentIdTo">
            <set-service-fields service-name="createContentFromUploadedFile" map="formInput.formInput" to-map="inMap"/>
            <set field="inMap._uploadedFile_fileName" from-field="formInput.imageFileName"/>
            <set field="inMap.uploadedFile" from-field="formInput.imageData"/>
            <set field="inMap._uploadedFile_contentType" from-field="formInput.formInput.mimeTypeId"/>
            
            <call-service service-name="createContentFromUploadedFile" in-map-name="inMap">
                <result-to-field result-name="contentId" field="context.contentId"/>
            </call-service>
            <else>
                <set field="context.contentId" from-field="formInput.formInput.contentIdTo"/>
            </else>
        </if-empty>
        <if-empty field="formInput.formInput.workEffortId">
            <if-not-empty field="formInput.formInput.projectId">
                <set field="context.workEffortId" from-field="formInput.formInput.projectId"/>
            </if-not-empty>
            <else>
                <set field="context.workEffortId" from-field="formInput.formInput.workEffortId"/>
            </else>
        </if-empty>
        <set field="context.workEffortContentTypeId" from-field="formInput.formInput.workEffortContentTypeId"/>
        <now-timestamp field="context.fromDate"/>
        <call-map-processor in-map-name="context" out-map-name="workEffortContext">
            <simple-map-processor name="newWorkEffortContent">
                <process field="workEffortContentTypeId"><copy to-field="workEffortContentTypeId"/></process>
                <process field="contentId"><copy to-field="contentId"/></process>
                <process field="workEffortId"><copy to-field="workEffortId"/></process>
                <process field="fromDate"><copy to-field="fromDate"/></process>
            </simple-map-processor>
        </call-map-processor>
        <!-- create WorkEffortContent-->
        <call-service service-name="createWorkEffortContent" in-map-name="workEffortContext">
            <result-to-field result-name="contentId" field="contentId"/>
        </call-service>
        
        <!-- create ContentAssoc-->
        <set field="context.contentAssocTypeId" value="SUB_CONTENT"/>
        <if-not-empty field="formInput.formInput.contentIdFrom">
            <set field="context.contentIdFrom" from-field="formInput.formInput.contentIdFrom"/>
            <call-map-processor in-map-name="context" out-map-name="contentAssocContext">
                <simple-map-processor name="newContentAssoc">
                    <process field="contentIdFrom"><copy to-field="contentId"/></process>
                    <process field="contentIdFrom"><copy to-field="contentIdFrom"/></process>
                    <process field="contentId"><copy to-field="contentIdTo"/></process>
                    <process field="contentAssocTypeId"><copy to-field="contentAssocTypeId"/></process>
                    <process field="fromDate"><copy to-field="fromDate"/></process>
                </simple-map-processor>
            </call-map-processor>
            <entity-and entity-name="ContentAssoc" list="contentAssoList">
                <field-map field-name="contentId" from-field="contentAssocContext.contentId"/>
                <field-map field-name="contentIdTo" from-field="contentAssocContext.contentIdTo"/>
            </entity-and>
            <if-empty field="contentAssonList">
                <call-service service-name="createContentAssoc" in-map-name="contentAssocContext"/>           
            </if-empty>
        </if-not-empty>
        
        <!-- set the partyId in the request -->
        <field-to-request field="context.workEffortId" request-name="workEffortId"/>
        <field-to-request field="context.projectId" request-name="projectId"/>
        <field-to-request field="contentId" request-name="contentId"/>
    </simple-method>

    <!-- Update workEffort content -->
    <simple-method method-name="updateWorkEffortContent" short-description="Update Party Associated Content" login-required="false">
        <call-class-method class-name="org.apache.ofbiz.content.layout.LayoutWorker"
            method-name="uploadImageAndParameters"
            ret-field="formInput">
            <field field="request" type="javax.servlet.http.HttpServletRequest"/>
            <string value="dataResourceName"/>
        </call-class-method>
        <entity-one entity-name="Content" value-field="content">
            <field-map field-name="contentId" from-field="formInput.formInput.contentId"/>
        </entity-one>
        <set-service-fields service-name="updateContentAndUploadedFile" map="formInput.formInput" to-map="inMap"/>
        <set field="inMap._uploadedFile_fileName" from-field="formInput.imageFileName"/>
        <set field="inMap.uploadedFile" from-field="formInput.imageData"/>
        <set field="inMap._uploadedFile_contentType" from-field="formInput.formInput.mimeTypeId"/>
        <set field="inMap.contentId" from-field="formInput.formInput.contentId"/>
        <set field="inMap.dataResourceId" from-field="content.dataResourceId"/>
        <call-service service-name="updateContentAndUploadedFile" in-map-name="inMap">
            <result-to-field result-name="contentId" field="context.contentId"/>
        </call-service>
        <if-empty field="formInput.formInput.workEffortId">
            <if-not-empty field="formInput.formInput.projectId">
                <set field="workEffortId" from-field="formInput.formInput.projectId"/>
            </if-not-empty>
            <else>
                <set field="workEffortId" from-field="formInput.formInput.workEffortId"/>
            </else>
        </if-empty>

        <!-- set the partyId in the request -->
        <field-to-request field="workEffortId" request-name="workEffortId"/>
        <field-to-request field="projectId" request-name="projectId"/>
        <field-to-request field="contentId" request-name="context"/>
    </simple-method>
</simple-methods>
