/* * 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. */ import java.util.ArrayList import java.util.Collection import java.util.HashMap import java.util.Iterator import java.util.LinkedList import java.util.List import java.util.Map import java.util.Set import java.util.TreeSet import org.apache.ofbiz.base.util.* import org.apache.ofbiz.entity.* import org.apache.ofbiz.security.* import org.apache.ofbiz.service.* import org.apache.ofbiz.entity.model.* import org.apache.ofbiz.content.content.PermissionRecorder import javax.servlet.* import javax.servlet.http.* paramMap = UtilHttp.getParameterMap(request) contentIdTo = paramMap.contentIdTo if (!contentIdTo) { request.setAttribute("errorMsgReq", "contentIdTo is empty") return } /* pubPt = paramMap.pubPt ?: context.pubPt if (!pubPt) { request.setAttribute("errorMsgReq", "pubPt is empty") return } */ contentToValue = from("Content").where("contentId", contentIdTo).queryOne() contentToPurposeList = contentToValue.getRelated("ContentPurpose", null, null, true) currentValue = delegator.makeValue("Content", [contentTypeId : "DOCUMENT", statusId : "CTNT_PUBLISHED", privilegeEnumId : "_00_"]) if (contentToPurposeList.contains("RESPONSE")) { ownerContentId = contentToValue.ownerContentId currentValue.ownerContentId = ownerContentId } else { contentId = contentToValue.contentId currentValueownerContentId = contentId } mapIn = [:] mapIn.userLogin = userLogin targetOperationList = StringUtil.split(context.targetOperation, "|") mapIn.targetOperationList = targetOperationList if (currentValue) { mapIn.currentContent = currentValue } mapIn.entityOperation = "_CREATE" mapIn.contentPurposeList = ["RESPONSE"] //org.apache.ofbiz.base.util.Debug.logInfo("in permprep, mapIn:" + mapIn, null) result = runService('checkContentPermission', mapIn) permissionStatus = result.permissionStatus //org.apache.ofbiz.base.util.Debug.logInfo("permissionStatus:" + permissionStatus, null) if (!"granted".equals(permissionStatus)) { request.setAttribute("errorMsgReq", "Permission to add response is denied (1)") errorMessage = "Permission to add response is denied (2)" recorder = result.permissionRecorder //Debug.logInfo("recorder(0):" + recorder, "") if (recorder) { permissionMessage = recorder.toHtml() //Debug.logInfo("permissionMessage(0):" + permissionMessage, "") errorMessage += " \n " + permissionMessage } request.setAttribute("permissionErrorMsg", errorMessage) context.permissionErrorMsg = errorMessage context.hasPermission = false request.setAttribute("hasPermission", false) request.setAttribute("permissionStatus", "") return } else { context.hasPermission = true request.setAttribute("hasPermission", true) request.setAttribute("permissionStatus", "granted") } /* pubContentValue = delegator.findOne("Content", [contentId : pubPt], false) if (pubContentValue) { mapIn.currentContent = pubContentValue mapIn.statusId = "CTNT_PUBLISHED" } //org.apache.ofbiz.base.util.Debug.logInfo("in permprep(2), mapIn:" + mapIn, null) result = dispatcher.runSync("checkContentPermission", mapIn) permissionStatus = result.permissionStatus //org.apache.ofbiz.base.util.Debug.logInfo("permissionStatus(2):" + permissionStatus, null) if (!"granted".equals(permissionStatus)) { request.setAttribute("errorMsgReq", "Permission to add response is denied (2)") errorMessage = "Permission to add response is denied (2)" recorder = result.permissionRecorder //Debug.logInfo("recorder(0):" + recorder, "") if (recorder) { permissionMessage = recorder.toHtml() //Debug.logInfo("permissionMessage(0):" + permissionMessage, "") errorMessage += " \n " + permissionMessage } request.setAttribute("permissionErrorMsg", errorMessage) context.permissionErrorMsg = errorMessage context.hasPermission = false request.setAttribute("hasPermission", false) request.setAttribute("permissionStatus", "") return } else { context.hasPermission = true request.setAttribute("hasPermission", true) request.setAttribute("permissionStatus", "granted") } */ request.setAttribute("currentValue", currentValue) singleWrapper = context.singleWrapper singleWrapper.putInContext("contentPurposeTypeId", context.contentPurposeTypeId) singleWrapper.putInContext("targetOperation", context.targetOperation) singleWrapper.putInContext("targetOperationString", context.targetOperation) singleWrapper.putInContext("currentValue", currentValue) trailList = context.trailList replyName = null if (trailList) { idNamePair = trailList[trailList.size() -1] replyName = idNamePair[1] if (!replyName.contains("RE:")) { replyName = "RE:" + replyName } } singleWrapper.putInContext("replyName", [contentName : replyName, description : replyName])