| <?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 login-required="true" method-name="createLayout" short-description="Create Layout"> |
| <log level="always" message="in createLayout."/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <make-value entity-name="Content" value-field="currentContent"/> |
| <set-pk-fields map="parameters" value-field="currentContent"/> |
| <set-nonpk-fields map="parameters" value-field="currentContent"/> |
| <map-to-map map="currentContent" to-map="context"/> |
| <log level="always" message="context: ${context}"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <string-to-list list="targetOperationList" string="CONTENT_CREATE"/> |
| <set field="context.targetOperationList" from-field="targetOperationList"/> |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| <set field="context.objectInfo" from-field="parameters.drObjectInfo"/> |
| <set field="context.dataResourceTypeId" value="LOCAL_FILE"/> |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field field="contentId" result-name="contentId"/> |
| <result-to-field field="dataResourceId" result-name="dataResourceId"/> |
| </call-service> |
| <if-empty field="contentId"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentPermissionNotGranted"/> |
| </add-error> |
| </if-empty> |
| <check-errors/> |
| <field-to-request field="contentId" request-name="contentId"/> |
| <field-to-request field="dataResourceId" request-name="drDataResourceId"/> |
| |
| </simple-method> |
| |
| <simple-method login-required="true" method-name="updateLayout" short-description="Update Layout"> |
| <log level="always" message="in updateLayout."/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <make-value entity-name="Content" value-field="currentContent"/> |
| <set-pk-fields map="parameters" value-field="currentContent"/> |
| <set-nonpk-fields map="parameters" value-field="currentContent"/> |
| <set field="context.currentContent" from-field="currentContent"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <string-to-list list="targetOperationList" string="CONTENT_CREATE"/> |
| <set field="context.targetOperationList" from-field="targetOperationList"/> |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| <call-service in-map-name="context" service-name="checkContentPermission"> |
| <result-to-field field="permissionStatus" result-name="permissionStatus"/> |
| </call-service> |
| <if-compare field="permissionStatus" operator="not-equals" value="granted" type="String"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentPermissionNotGranted"/> |
| </add-error> |
| </if-compare> |
| <check-errors/> |
| <set field="content.contentId" from-field="parameters.contentId"/> |
| <find-by-primary-key entity-name="Content" value-field="content" map="content"/> |
| <set-nonpk-fields map="parameters" value-field="content"/> |
| <log level="always" message="content: ${content}"/> |
| <store-value value-field="content"/> |
| <field-to-request field="content.contentId" request-name="contentId"/> |
| <set field="dataResource.dataResourceId" from-field="parameters.dataResourceId"/> |
| <find-by-primary-key entity-name="DataResource" value-field="dataResource" map="dataResource"/> |
| <set-nonpk-fields map="parameters" value-field="dataResource"/> |
| <set field="dataResource.objectInfo" from-field="parameters.drObjectInfo"/> |
| <log level="always" message="dataResource: ${dataResource}"/> |
| <store-value value-field="dataResource"/> |
| <field-to-request field="dataResource.dataResourceId" request-name="drDataResourceId"/> |
| <check-errors/> |
| </simple-method> |
| |
| <simple-method login-required="true" method-name="createLayoutText" short-description="Create Layout Text"> |
| <log level="always" message="in createLayoutText."/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="dataResourceIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentAssocIn" in-map-name="parameters" out-map-name="context"/> |
| |
| <log level="always" message="context: ${context}"/> |
| <set field="context.dataResourceName" from-field="context.contentName"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <set field="context.contentIdTo" from-field="parameters.contentIdTo"/> |
| <set field="context.textData" from-field="parameters.textData"/> |
| |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <set field="context.dataResourceTypeId" value="ELECTRONIC_TEXT"/> |
| <set field="context.mimeTypeId" value="text/plain"/> |
| <set field="context.contentAssocTypeId" value="SUB_CONTENT"/> |
| <set field="context.contentTypeId" value="DOCUMENT"/> |
| |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field field="context2.activeContentId" result-name="contentId"/> |
| <result-to-field field="dataResourceId" result-name="dataResourceId"/> |
| <result-to-field field="context2.contentAssocTypeId" result-name="contentAssocTypeId"/> |
| <result-to-field field="context2.fromDate" result-name="fromDate"/> |
| </call-service> |
| <check-errors/> |
| |
| <field-to-request field="context2.activeContentId" request-name="contentId"/> |
| <field-to-request field="dataResourceId" request-name="drDataResourceId"/> |
| <set field="currentEntityName" value="SubContentDataResourceView"/> |
| <field-to-request field="currentEntityName" request-name="currentEntityName"/> |
| |
| <set field="context2.contentIdTo" from-field="parameters.contentIdTo"/> |
| <set field="context2.mapKey" from-field="parameters.mapKey"/> |
| <if-not-empty field="context2.activeContentId"> |
| <call-service in-map-name="context2" service-name="deactivateAssocs"> |
| <result-to-field field="deactivateList" result-name="deactivateList"/> |
| </call-service> |
| </if-not-empty> |
| |
| <!-- add to most recently used list --><!-- |
| <make-value entity-name="SubContentDataResourceView" value-field="subContent"/> |
| <field-to-field field-name="contentId" to-map-name="subContent" to-field-name="contentId"/> |
| <field-to-field field-name="dataResourceId" to-map-name="subContent" to-field-name="drDataResourceId"/> |
| <log level="always" message="subContent: ${subContent}"/> |
| <log level="always" message="contentId: ${contentId}"/> |
| <log level="always" message="dataResourceId: ${dataResourceId}"/> |
| <call-class-method class-name="org.apache.ofbiz.content.ContentManagementWorker" method-name="mruAdd"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="subContent" type="org.apache.ofbiz.entity.GenericEntity"/> |
| </call-class-method> |
| --> |
| </simple-method> |
| |
| <simple-method login-required="true" method-name="updateLayoutText" short-description="Update Layout Text"> |
| <log level="always" message="in updateLayoutText."/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="dataResourceIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentAssocIn" in-map-name="parameters" out-map-name="context"/> |
| |
| <log level="always" message="context: ${context}"/> |
| <set field="context.dataResourceName" from-field="context.contentName"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <set field="context.contentIdTo" from-field="parameters.contentIdTo"/> |
| <set field="context.textData" from-field="parameters.textData"/> |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field result-name="contentId" field="contentId"/> |
| <result-to-field result-name="dataResourceId" field="dataResourceId"/> |
| </call-service> |
| <check-errors/> |
| </simple-method> |
| |
| <simple-method login-required="true" method-name="createLayoutImage" short-description="Create Layout Image"> |
| <log level="always" message="in createLayoutImage."/> |
| |
| <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="imageData"/> |
| </call-class-method> |
| |
| <call-class-method class-name="org.apache.ofbiz.content.layout.LayoutWorker" method-name="returnByteBuffer" ret-field="byteWrap"> |
| <field field="formInput" type="java.util.Map"/> |
| </call-class-method> |
| |
| <clear-field field="formInput.imageData"/> |
| |
| <log level="always" message="formInput: ${formInput}"/> |
| <log level="always" message="byteWrap: ${byteWrap}"/> |
| |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentIn" in-map-name="formInput" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="dataResourceIn" in-map-name="formInput" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentAssocIn" in-map-name="formInput" out-map-name="context"/> |
| |
| <log level="always" message="context: ${context}"/> |
| <set field="context.dataResourceName" from-field="context.contentName"/> |
| <set field="context.contentPurposeTypeId" from-field="formInput.contentPurposeTypeId"/> |
| <set field="context.contentIdTo" from-field="formInput.contentIdTo"/> |
| |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <set field="context.dataResourceTypeId" value="IMAGE_OBJECT"/> |
| <set field="context.mimeTypeId" value="text/plain"/> |
| <set field="context.contentAssocTypeId" value="SUB_CONTENT"/> |
| <set field="context.contentTypeId" value="DOCUMENT"/> |
| |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field field="context2.activeContentId" result-name="contentId"/> |
| <result-to-field field="dataResourceId" result-name="dataResourceId"/> |
| <result-to-field field="context2.contentAssocTypeId" result-name="contentAssocTypeId"/> |
| <result-to-field field="context2.fromDate" result-name="fromDate"/> |
| </call-service> |
| <check-errors/> |
| |
| <field-to-request field="context2.activeContentId" request-name="contentId"/> |
| <field-to-request field="dataResourceId" request-name="drDataResourceId"/> |
| <set field="currentEntityName" value="SubContentDataResourceView"/> |
| <field-to-request field="currentEntityName" request-name="currentEntityName"/> |
| |
| <set field="context2.contentIdTo" from-field="formInput.contentIdTo"/> |
| <set field="context2.mapKey" from-field="formInput.mapKey"/> |
| <if-not-empty field="context2.activeContentId"> |
| <call-service in-map-name="context2" service-name="deactivateAssocs"> |
| <result-to-field field="deactivateList" result-name="deactivateList"/> |
| </call-service> |
| </if-not-empty> |
| |
| <!-- add to most recently used list --><!-- |
| <make-value entity-name="SubContentDataResourceView" value-field="subContent"/> |
| <field-to-field field-name="contentId" to-map-name="subContent" to-field-name="contentId"/> |
| <field-to-field field-name="dataResourceId" to-map-name="subContent" to-field-name="drDataResourceId"/> |
| <log level="always" message="subContent: ${subContent}"/> |
| <log level="always" message="contentId: ${contentId}"/> |
| <log level="always" message="dataResourceId: ${dataResourceId}"/> |
| <call-class-method class-name="org.apache.ofbiz.content.ContentManagementWorker" method-name="mruAdd"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="subContent" type="org.apache.ofbiz.entity.GenericEntity"/> |
| </call-class-method> |
| --> |
| </simple-method> |
| |
| <simple-method login-required="true" method-name="createLayoutUrl" short-description="Create Layout URL"> |
| <log level="always" message="in createLayoutUrl"/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="dataResourceIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentAssocIn" in-map-name="parameters" out-map-name="context"/> |
| |
| <log level="always" message="context: ${context}"/> |
| <set field="context.dataResourceName" from-field="context.contentName"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <set field="context.contentIdTo" from-field="parameters.contentIdTo"/> |
| |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <set field="context.dataResourceTypeId" value="URL_RESOURCE"/> |
| <set field="context.mimeTypeId" value="text/plain"/> |
| <set field="context.contentAssocTypeId" value="SUB_CONTENT"/> |
| <set field="context.contentTypeId" value="DOCUMENT"/> |
| |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field field="context2.activeContentId" result-name="contentId"/> |
| <result-to-field field="dataResourceId" result-name="dataResourceId"/> |
| <result-to-field field="context2.contentAssocTypeId" result-name="contentAssocTypeId"/> |
| <result-to-field field="context2.fromDate" result-name="fromDate"/> |
| </call-service> |
| <check-errors/> |
| |
| <field-to-request field="context2.activeContentId" request-name="contentId"/> |
| <field-to-request field="dataResourceId" request-name="drDataResourceId"/> |
| <set field="currentEntityName" value="SubContentDataResourceView"/> |
| <field-to-request field="currentEntityName" request-name="currentEntityName"/> |
| |
| <set field="context2.contentIdTo" from-field="parameters.contentIdTo"/> |
| <set field="context2.mapKey" from-field="parameters.mapKey"/> |
| <if-not-empty field="context2.activeContentId"> |
| <call-service in-map-name="context2" service-name="deactivateAssocs"> |
| <result-to-field field="deactivateList" result-name="deactivateList"/> |
| </call-service> |
| </if-not-empty> |
| |
| <!-- add to most recently used list --><!-- |
| <make-value entity-name="SubContentDataResourceView" value-field="subContent"/> |
| <field-to-field field-name="contentId" to-map-name="subContent" to-field-name="contentId"/> |
| <field-to-field field-name="dataResourceId" to-map-name="subContent" to-field-name="drDataResourceId"/> |
| <log level="always" message="subContent: ${subContent}"/> |
| <log level="always" message="contentId: ${contentId}"/> |
| <log level="always" message="dataResourceId: ${dataResourceId}"/> |
| <call-class-method class-name="org.apache.ofbiz.content.ContentManagementWorker" method-name="mruAdd"> |
| <field field="request" type="javax.servlet.http.HttpServletRequest"/> |
| <field field="subContent" type="org.apache.ofbiz.entity.GenericEntity"/> |
| </call-class-method> |
| --> |
| </simple-method> |
| |
| <simple-method method-name="updateLayoutUrl" short-description="Update Layout URL" login-required="true"> |
| <log level="always" message="in updateLayoutUrl."/> |
| <log level="always" message="parameters: ${parameters}"/> |
| |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="dataResourceIn" in-map-name="parameters" out-map-name="context"/> |
| <call-map-processor xml-resource="component://content/minilang/ContentManagementMapProcessors.xml" |
| processor-name="contentAssocIn" in-map-name="parameters" out-map-name="context"/> |
| |
| <log level="always" message="context: ${context}"/> |
| <set field="context.dataResourceName" from-field="context.contentName"/> |
| <set field="context.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <set field="context.contentIdTo" from-field="parameters.contentIdTo"/> |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <call-service in-map-name="context" service-name="persistContentAndAssoc"> |
| <result-to-field result-name="contentId" field="contentId"/> |
| <result-to-field result-name="dataResourceId" field="dataResourceId"/> |
| </call-service> |
| <check-errors/> |
| </simple-method> |
| |
| <simple-method method-name="createGenericContent" short-description="Create Generic Content"> |
| <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> |
| |
| <!-- Check input parameters --> |
| <if> |
| <condition> |
| <and> |
| <if-empty field="formInput.formInput.contentId"/> |
| <if-empty field="formInput.imageFileName"/> |
| </and> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentContentIdOrUploadFileIsMissing"/> |
| </add-error> |
| </then> |
| </if> |
| <check-errors/> |
| <!-- Create new content form upload file / set content from Existing content --> |
| <if-empty field="formInput.formInput.contentId"> |
| <if> |
| <condition> |
| <or> |
| <!-- Compare MimeType between upload file and selected MimeType --> |
| <if-compare-field field="formInput.uploadMimeType" operator="equals" to-field="formInput.formInput.mimeTypeId"/> |
| <if-compare field="formInput.formInput.mimeTypeId" operator="equals" value="application/octet-stream"/> |
| <if-compare field="formInput.formInput.mimeTypeId" operator="equals" value=""/> |
| </or> |
| </condition> |
| <then> |
| <!-- Create new content from upload file --> |
| <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.uploadMimeType"/> |
| <call-service service-name="createContentFromUploadedFile" in-map-name="inMap"> |
| <result-to-field result-name="contentId" field="context.contentId"/> |
| </call-service> |
| </then> |
| <else> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentUploadFileTypeNotMatch"/> |
| </add-error> |
| </else> |
| </if> |
| <check-errors/> |
| <else> |
| <!--set content from Existing content--> |
| <set field="context.contentId" from-field="formInput.formInput.contentId"/> |
| </else> |
| </if-empty> |
| |
| <!-- create ContentAssoc--> |
| <set-service-fields service-name="createContentAssoc" map="formInput.formInput" to-map="contentMap"/> |
| <if-not-empty field="formInput.formInput.contentIdFrom"> |
| <set field="contentMap.contentAssocTypeId" value="SUB_CONTENT"/> |
| <set field="contentMap.contentIdFrom" from-field="formInput.formInput.contentIdFrom"/> |
| <set field="contentMap.contentId" from-field="formInput.formInput.contentIdFrom"/> |
| <set field="contentMap.contentIdTo" from-field="context.contentId"/> |
| <now-timestamp field="contentMap.fromDate"/> |
| <entity-and entity-name="ContentAssoc" list="contentAssoList"> |
| <field-map field-name="contentId" from-field="contentMap.contentId"/> |
| <field-map field-name="contentIdTo" from-field="contentMap.contentIdTo"/> |
| </entity-and> |
| <if-empty field="contentAssonList"> |
| <call-service service-name="createContentAssoc" in-map-name="contentMap"/> |
| </if-empty> |
| </if-not-empty> |
| </simple-method> |
| </simple-methods> |