| <?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="createContentAndPurpose" short-description="Create Content And Purpose" login-required="false"> |
| <make-value entity-name="Content" value-field="currentContent"/> |
| <set-pk-fields map="parameters" value-field="currentContent"/> |
| <set-nonpk-fields map="parameters" value-field="currentContent"/> |
| <if-empty field="currentContent.contentId"> |
| <make-next-seq-id seq-field-name="contentId" value-field="currentContent"/> |
| <sequenced-id field="id" sequence-name="Content"/> |
| <set field="currentContent.contentId" from-field="id"/> |
| </if-empty> |
| |
| <log level="info" message="currentContent: ${currentContent}"/> |
| |
| <field-to-list field="parameters.contentPurposeTypeId" list="contentPurposeList"/> |
| <string-to-list list="targetOperationList" string="CONTENT_CREATE"/> |
| <set field="context.currentContent" from-field="currentContent"/> |
| <set field="context.contentPurposeList" from-field="contentPurposeList"/> |
| <set field="context.targetOperationList" from-field="targetOperationList"/> |
| <set field="context.currentContent" from-field="currentContent"/> |
| <session-to-field field="context.userLogin" session-name="userLogin"/> |
| |
| <call-service in-map-name="context" service-name="checkContentPermission"> |
| <result-to-field result-name="permissionStatus" field="permissionStatus"/> |
| </call-service> |
| |
| <log level="info" message="permissionStatus:${permissionStatus}"/> |
| |
| <if-compare field="permissionStatus" operator="not-equals" type="String" value="granted"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentPermissionNotGranted"/> |
| </add-error> |
| </if-compare> |
| <check-errors/> |
| |
| <if-compare field="permissionStatus" operator="equals" type="String" value="granted"> |
| <create-value value-field="currentContent"/> |
| <if-not-empty field="parameters.contentPurposeTypeId"> |
| <make-value entity-name="ContentPurpose" value-field="newContentPurpose"/> |
| <set field="newContentPurpose.contentPurposeTypeId" from-field="parameters.contentPurposeTypeId"/> |
| <set field="newContentPurpose.contentId" from-field="currentContent.contentId"/> |
| <create-value value-field="newContentPurpose"/> |
| </if-not-empty> |
| </if-compare> |
| </simple-method> |
| </simple-methods> |