applications/order/servicedef/services_request.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
<description>Order Services</description>
<vendor>OFBiz</vendor>
<version>1.0</version>
<!-- Customer Request Services -->
<service name="custRequestPermissionCheck" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="custRequestPermissionCheck">
<description>
Performs a security check for CustRequest. The user, if enters a request for someone else,
must have one of the base ORDERMGR_CRQ CRUD+ADMIN permissions.
</description>
<implements service="permissionInterface"/>
<attribute name="fromPartyId" type="String" mode="IN" optional="true"/>
</service>
<service name="createCustRequest" engine="simple" default-entity-name="CustRequest"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequest" auth="true">
<description>Create a custRequest record and optionally create a custRequest item.</description>
<permission-service service-name="custRequestPermissionCheck" main-action="CREATE"/>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<auto-attributes include="all" mode="IN" entity-name="CustRequestItem" optional="true"/>
<attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
<override name="custRequestName" allow-html="any"/>
<override name="description" allow-html="any"/>
<override name="story" allow-html="any"/>
</service>
<service name="updateCustRequest" engine="simple" default-entity-name="CustRequest"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="updateCustRequest" auth="true">
<description>Update a custRequest record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="oldStatusId" type="String" mode="OUT"/>
<attribute name="story" mode="IN" type="String" optional="true" allow-html="any"/>
<attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
<override name="custRequestName" allow-html="any"/>
<override name="description" allow-html="any"/>
</service>
<service name="deleteCustRequest" engine="simple" default-entity-name="CustRequest"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="deleteCustRequest" auth="true">
<description>Delete a custRequest record in draft status</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="createCustRequestAttribute" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestAttribute" auth="true">
<description>Create CustRequestAttribute record</description>
<attribute name="custRequestId" type="String" mode="IN" optional="false"/>
<attribute name="attrName" type="String" mode="IN" optional="false"/>
<attribute name="attrValue" type="String" mode="IN" optional="false"/>
</service>
<service name="updateCustRequestAttribute" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="updateCustRequestAttribute" auth="true">
<description>Update CustRequestAttribute record</description>
<attribute name="custRequestId" type="String" mode="IN" optional="false"/>
<attribute name="attrName" type="String" mode="IN" optional="false"/>
<attribute name="attrValue" type="String" mode="IN" optional="false"/>
</service>
<service name="createCustRequestItem" engine="simple" default-entity-name="CustRequestItem"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestItem" auth="true">
<description>Create a CustRequestItem record</description>
<auto-attributes include="pk" mode="INOUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="custRequestItemSeqId" optional="true"/>
<override name="story" allow-html="any"/>
<override name="description" allow-html="any"/>
</service>
<service name="updateCustRequestItem" engine="simple" default-entity-name="CustRequestItem"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="updateCustRequestItem" auth="true">
<description>Update a CustRequestItem record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="story" allow-html="any"/>
<override name="description" allow-html="any"/>
</service>
<service name="copyCustRequestItem" default-entity-name="CustRequestItem" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="copyCustRequestItem" auth="true">
<description>Copy a CustRequest</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="custRequestIdTo" type="String" mode="IN" optional="true"/>
<attribute name="custRequestItemSeqIdTo" type="String" mode="IN" optional="true"/>
<attribute name="copyLinkedQuotes" type="String" mode="IN" optional="true"/>
</service>
<!-- SCIPIO: Introduced request item removal service (see ticket #427) -->
<service name="removeCustRequestItem" engine="simple" default-entity-name="CustRequestItem"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="removeCustRequestItem" auth="true">
<description>Remove a CustRequestItem record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="createCustRequestParty" engine="simple" default-entity-name="CustRequestParty"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestParty" auth="true">
<description>Create a CustRequestParty record</description>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
<override name="fromDate" mode="IN" type="Timestamp" optional="true"/>
</service>
<service name="updateCustRequestParty" engine="simple" default-entity-name="CustRequestParty"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="updateCustRequestParty" auth="true">
<description>Update CustRequestParty record</description>
<auto-attributes mode="IN" include="pk" optional="true"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="deleteCustRequestParty" engine="simple" default-entity-name="CustRequestParty"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="deleteCustRequestParty" auth="true">
<description>Delete a CustRequestParty record (SCIPIO: NOTE: 2018-09-10: This now actually deletes CustRequestParty; previously only expired it; use expireCustRequestParty to expire)</description>
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<service name="expireCustRequestParty" engine="simple" default-entity-name="CustRequestParty"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="expireCustRequestParty" auth="true">
<description>Expire a CustRequestParty record</description>
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<service name="createCustRequestNote" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestNote" auth="true">
<description>Create a note for a CustRequest</description>
<attribute name="custRequestId" type="String" mode="IN" optional="false"/>
<attribute name="noteInfo" type="String" mode="IN" optional="false" allow-html="any"/>
<attribute name="noteId" type="String" mode="OUT" optional="false"/>
<attribute name="fromPartyId" type="String" mode="OUT" optional="true"/><!-- party to be notified -->
<attribute name="custRequestName" type="String" mode="OUT" optional="true"/><!-- for notification services -->
</service>
<service name="updateCustRequestNote" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="updateCustRequestNote" auth="true">
<description>Update CustRequest Note</description>
<attribute name="custRequestId" type="String" mode="IN" optional="false"/>
<attribute name="noteId" type="String" mode="IN" optional="false" allow-html="any"/>
<attribute name="noteInfo" type="String" mode="IN" optional="true"/>
</service>
<service name="createCustRequestItemNote" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestItemNote" auth="true">
<description>Create a note for a CustRequestItem</description>
<attribute name="custRequestId" type="String" mode="IN" optional="false"/>
<attribute name="custRequestItemSeqId" type="String" mode="IN" optional="false"/>
<attribute name="note" type="String" mode="IN" optional="false" allow-html="any"/>
<attribute name="noteId" type="String" mode="OUT" optional="false"/>
<attribute name="partyId" type="String" mode="INOUT" optional="true"/><!-- party who created the note -->
<attribute name="fromPartyId" type="String" mode="OUT" optional="true"/><!-- party to be notified -->
<attribute name="custRequestName" type="String" mode="OUT" optional="true"/><!-- for notification services -->
</service>
<service name="createCustRequestFromCart" engine="simple" auth="true"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestFromCart">
<description>Creates a new request from a shopping cart</description>
<attribute name="cart" type="org.ofbiz.order.shoppingcart.ShoppingCart" mode="IN" optional="false"/>
<attribute name="custRequestName" type="String" mode="IN" optional="true"/>
<attribute name="custRequestId" type="String" mode="OUT" optional="false"/>
</service>
<service name="createCustRequestFromShoppingList" engine="simple" auth="true"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestFromShoppingList">
<description>Creates a new quote from a shopping list</description>
<attribute name="shoppingListId" type="String" mode="IN" optional="false"/>
<attribute name="custRequestId" type="String" mode="OUT" optional="false"/>
</service>
<!-- Services for finding Associated CustRequests -->
<service name="getCustRequestsByRole" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="getCustRequestsByRole" auth="true">
<description>Get CustRequests Associated By Role</description>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="custRequestAndRoles" type="java.util.List" mode="OUT" optional="false"/>
</service>
<service name="setCustRequestStatus" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="setCustRequestStatus" auth="true">
<description>Set the Customer Request Status</description>
<attribute name="custRequestId" type="String" mode="INOUT" optional="false"/>
<attribute name="statusId" type="String" mode="IN" optional="false"/>
<attribute name="reason" type="String" mode="IN" optional="true" allow-html="any"/>
<attribute name="oldStatusId" type="String" mode="OUT" optional="true"/>
<attribute name="fromPartyId" type="String" mode="OUT" optional="true"/><!-- for notification services -->
<attribute name="custRequestName" type="String" mode="OUT" optional="true"/><!-- for notification services -->
<attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
</service>
<service name="createCustRequestFromCommEvent" engine="simple" default-entity-name="CommunicationEvent"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestFromCommEvent" auth="true">
<description>Create a Customer request from a commEvent(email)</description>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
<attribute name="custRequestId" mode="IN" type="String" optional="true"/>
<attribute name="custRequestId" mode="OUT" type="String" optional="false"/>
<attribute name="custRequestTypeId" mode="IN" type="String" optional="true"/>
<attribute name="custRequestName" mode="IN" type="String" optional="true" allow-html="any"/>
<attribute name="story" mode="IN" type="String" optional="true" allow-html="any"/>
<override name="content" allow-html="any"/>
</service>
<!-- SCIPIO: 2018-09-10: NOTE: this was made an entity-auto service upstream, but
we will call the old simple-method instead because otherwise statusDatetime field no longer gets set -->
<service name="createCustRequestStatus" engine="simple" default-entity-name="CustRequestStatus"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml" invoke="createCustRequestStatus" auth="true">
<description>Create a Cust Request Status Record</description>
<!-- SCIPIO: currently ignored, always gets new custRequestStatusId
<auto-attributes mode="IN" include="pk" optional="true"/>-->
<auto-attributes mode="IN" include="nonpk" optional="true"/>
<attribute name="custRequestStatusId" type="String" mode="OUT" optional="false"/>
</service>
<!-- custRequest content services -->
<!-- SCIPIO: New service for content files upload -->
<service name="CustRequestUploadContentFile" engine="java"
location="com.ilscipio.scipio.order.quote.content.CustRequestServices" invoke="createCustRequestContent" auth="true" transaction-timeout="7200">
<description>Imports and processes a media file and stores it in the database. Autodetects content-type, defaulting to Binary.</description>
<permission-service service-name="custRequestPermissionCheck" main-action="CREATE"/>
<attribute mode="IN" name="uploadedFile" type="java.nio.ByteBuffer" optional="false"/>
<attribute mode="IN" name="contentName" type="String" optional="false"/>
<attribute mode="IN" name="dataResourceTypeId" type="String" optional="false"/>
<attribute mode="IN" name="_uploadedFile_size" type="String" optional="false"/>
<attribute mode="IN" name="_uploadedFile_fileName" type="String" optional="false"/>
<attribute mode="IN" name="_uploadedFile_contentType" type="String" optional="false"/>
<attribute mode="IN" name="statusId" type="String" optional="true"/>
<attribute mode="IN" name="localeString" type="String" optional="true"/>
<attribute mode="IN" name="isPublic" type="Boolean" optional="true"/>
<attribute mode="INOUT" name="custRequestId" type="String" optional="false"/>
<!-- <attribute mode="IN" name="autoVariants" type="Boolean" optional="true"/> -->
<attribute mode="OUT" name="contentId" type="String" optional="true"/>
<attribute mode="OUT" name="dataResourceId" type="String" optional="true"/>
<attribute mode="OUT" name="dataResourceTypeId" type="String" optional="true"/>
</service>
<!-- custRequest content services -->
<service name="createCustRequestContent" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml"
invoke="createCustRequestContent"
default-entity-name="CustRequestContent" auth="true">
<description>Create a Customer Request Content</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="fromDate" optional="true"/>
</service>
<service name="deleteCustRequestContent" engine="simple"
location="component://order/script/org/ofbiz/order/request/CustRequestServices.xml"
invoke="deleteCustRequestContent"
default-entity-name="CustRequestContent" auth="true">
<description>Update a Customer Request Content</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="createCustRequestCategory" engine="entity-auto" invoke="create" default-entity-name="CustRequestCategory" auth="true">
<description>Create a CustRequestCategory record</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateCustRequestCategory" engine="entity-auto" invoke="update" default-entity-name="CustRequestCategory" auth="true">
<description>Update a CustRequestCategory record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteCustRequestCategory" engine="entity-auto" invoke="delete" default-entity-name="CustRequestCategory" auth="true">
<description>Delete a CustRequestCategory record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
<service name="createCustRequestResolution" engine="entity-auto" invoke="create" default-entity-name="CustRequestResolution" auth="true">
<description>Create a CustRequestResolution record</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateCustRequestResolution" engine="entity-auto" invoke="update" default-entity-name="CustRequestResolution" auth="true">
<description>Update a CustRequestResolution record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteCustRequestResolution" engine="entity-auto" invoke="delete" default-entity-name="CustRequestResolution" auth="true">
<description>Delete a CustRequestResolution record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
<service name="createCustRequestType" engine="entity-auto" invoke="create" default-entity-name="CustRequestType" auth="true">
<description>Create a CustRequestType record</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateCustRequestType" engine="entity-auto" invoke="update" default-entity-name="CustRequestType" auth="true">
<description>Update a CustRequestType record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteCustRequestType" engine="entity-auto" invoke="delete" default-entity-name="CustRequestType" auth="true">
<description>Delete a CustRequestType record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
<service name="createCustRequestTypeAttr" engine="entity-auto" invoke="create" default-entity-name="CustRequestTypeAttr" auth="true">
<description>Create a CustRequestTypeAttr record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateCustRequestTypeAttr" engine="entity-auto" invoke="update" default-entity-name="CustRequestTypeAttr" auth="true">
<description>Update a CustRequestTypeAttr record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteCustRequestTypeAttr" engine="entity-auto" invoke="delete" default-entity-name="CustRequestTypeAttr" auth="true">
<description>Delete a CustRequestTypeAttr record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
<service name="createRespondingParty" engine="entity-auto" invoke="create" default-entity-name="RespondingParty" auth="true">
<description>Create a RespondingParty record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateRespondingParty" engine="entity-auto" invoke="update" default-entity-name="RespondingParty" auth="true">
<description>Update a RespondingParty record</description>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteRespondingParty" engine="entity-auto" invoke="delete" default-entity-name="RespondingParty" auth="true">
<description>Delete a RespondingParty record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
</services>