| /* |
| * 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.ofbiz.base.util.*; |
| import org.ofbiz.entity.*; |
| import org.ofbiz.security.*; |
| import org.ofbiz.service.*; |
| import org.ofbiz.entity.model.*; |
| import org.ofbiz.widget.renderer.html.HtmlFormWrapper; |
| import org.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.ofbiz.base.util.Debug.logInfo("in permprep, mapIn:" + mapIn, null); |
| result = runService('checkContentPermission', mapIn); |
| permissionStatus = result.permissionStatus; |
| //org.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.ofbiz.base.util.Debug.logInfo("in permprep(2), mapIn:" + mapIn, null); |
| result = dispatcher.runSync("checkContentPermission", mapIn); |
| permissionStatus = result.permissionStatus; |
| //org.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]); |