Jelajahi Sumber

Merge branch 'fix/bbsACL-70-20201231' into 'wrdp'

修复jira上bbsManager管理权限问题

See merge request o2oa/o2oa!2623
o2null 5 tahun lalu
induk
melakukan
bd408ab31f

+ 22 - 0
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/jaxrs/permissioninfo/ActionGetSectionOperationPermissoin.java

@@ -7,6 +7,8 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
+import com.x.base.core.project.organization.OrganizationDefinition;
+import com.x.bbs.assemble.control.Business;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionPermissionInfoProcess;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionSectionIdEmpty;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionSectionNotExists;
@@ -168,7 +170,27 @@ public class ActionGetSectionOperationPermissoin extends BaseAction {
 				wrap.setSectionPermissoinManageAble(true);
 				wrap.setSectionConfigManageAble(true);
 			}
+			//是否是管理员
+			Business business = new Business(null);
+			Boolean userBBSManager = business.organization().person().hasRole(effectivePerson, OrganizationDefinition.BBSManager);
+			Boolean userManager = business.organization().person().hasRole(effectivePerson, OrganizationDefinition.Manager);
+			if(userBBSManager || userManager) {
+				wrap.setSubjectPublishAble(true);
+				wrap.setReplyPublishAble(true);
+				wrap.setReplyAuditAble(true);
+				wrap.setSubjectAuditAble(true);
+				wrap.setSubjectManageAble(true);
+				wrap.setSubjectRecommendAble(true);
+				wrap.setSubjectStickAble(true);
+				wrap.setSubjectCreamAble(true);
+				wrap.setReplyManageAble(true);
+				
+				wrap.setSectionManageAble(true);
+				wrap.setSectionPermissoinManageAble(true);
+				wrap.setSectionConfigManageAble(true);
+			}
 		}
+		
 		result.setData(wrap);
 		return result;
 	}

+ 18 - 0
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/jaxrs/permissioninfo/ActionGetSubjectOperationPermissoin.java

@@ -7,6 +7,8 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
+import com.x.base.core.project.organization.OrganizationDefinition;
+import com.x.bbs.assemble.control.Business;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionPermissionInfoProcess;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionSectionNotExists;
 import com.x.bbs.assemble.control.jaxrs.permissioninfo.exception.ExceptionSubjectIdEmpty;
@@ -170,6 +172,22 @@ public class ActionGetSubjectOperationPermissoin extends BaseAction {
 				}
 			}
 		}
+		
+		//是否是管理员
+		Business business = new Business(null);
+		Boolean userBBSManager = business.organization().person().hasRole(effectivePerson, OrganizationDefinition.BBSManager);
+		Boolean userManager = business.organization().person().hasRole(effectivePerson, OrganizationDefinition.Manager);
+		if(userBBSManager || userManager) {
+			wrap.setReplyPublishAble(true);
+			wrap.setAuditAble(true);
+			wrap.setManageAble(true);
+			wrap.setEditAble(true);
+			wrap.setRecommendAble(true);
+			wrap.setStickAble(true);
+			wrap.setCreamAble(true);
+			wrap.setReplyAuditAble(true);
+		    wrap.setReplyManageAble(true);		
+		 }
 
 		result.setData(wrap);
 		return result;

+ 5 - 0
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/service/UserPermissionService.java

@@ -5,7 +5,12 @@ import java.util.Date;
 import java.util.List;
 
 import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.x.base.core.project.x_organization_assemble_express;
 import com.x.base.core.project.cache.ApplicationCache;
+import com.x.base.core.project.connection.ActionResponse;
 import com.x.base.core.project.gson.XGsonBuilder;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.logger.Logger;