📄 adminforumauth.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs.bean;import biz.tbuy.bbs.AuthAction;import biz.tbuy.bbs.AuthModel;import biz.tbuy.bbs.ForumFactory;import biz.tbuy.bbs.ForumModel;import biz.tbuy.bbs.ZoneFactory;import biz.tbuy.bbs.ZoneModel;import biz.tbuy.common.Constants;import biz.tbuy.common.Utils;import javax.faces.component.UISelectBoolean;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b><a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b><a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class AdminForumAuth extends BaseBean{ private ForumModel _forum; // 正在被编辑权限的forum private UISelectBoolean _uiBePost; private UISelectBoolean _uiBeReply; private UISelectBoolean _uiBeUpload; private UISelectBoolean _uiVisible; /** Creates a new instance of AdminForumAuth */ public AdminForumAuth() { _forum = new ForumModel(); _uiBePost = new UISelectBoolean(); _uiBeReply = new UISelectBoolean(); _uiBeUpload = new UISelectBoolean(); _uiVisible = new UISelectBoolean(); } public void setForum(ForumModel forum) { _forum = forum; } public ForumModel getForum() { return _forum; } public void setUiBePost(UISelectBoolean uiBePost) { _uiBePost = uiBePost; } public UISelectBoolean getUiBePost() { _uiBePost.setSelected(loadForumAuth().getBePost()); _uiBePost.getAttributes().put("disabled", !getZoneAuth().getBePost()); return _uiBePost; } public void setUiBeReply(UISelectBoolean uiBeReply) { _uiBeReply = uiBeReply; } public UISelectBoolean getUiBeReply() { _uiBeReply.setSelected(loadForumAuth().getBeReply()); _uiBeReply.getAttributes().put("disabled", !getZoneAuth().getBeReply()); return _uiBeReply; } public void setUiBeUpload(UISelectBoolean uiBeUpload) { _uiBeUpload = uiBeUpload; } public UISelectBoolean getUiBeUpload() { _uiBeUpload.setSelected(loadForumAuth().getBeUpload()); _uiBeUpload.getAttributes().put("disabled", !getZoneAuth().getBeUpload()); return _uiBeUpload; } public void setUiVisible(UISelectBoolean uiVisible) { _uiVisible = uiVisible; } public UISelectBoolean getUiVisible() { _uiVisible.setSelected(loadForumAuth().getVisible()); _uiVisible.getAttributes().put("disabled", !getZoneAuth().getVisible()); return _uiVisible; } /** * 更新该讨论区的权限配置信息,该方法首先尝试获取该讨论区的权限配置信息, * 如果没有定义,则新建AuthModel,然后更新 * @return success or failure */ public String updateAuth() { boolean disPost = Boolean.valueOf(_uiBePost.getAttributes() .get("disabled").toString()); boolean disReply = Boolean.valueOf(_uiBeReply.getAttributes() .get("disabled").toString()); boolean disUpload = Boolean.valueOf(_uiBeUpload.getAttributes() .get("disabled").toString()); boolean disVisible = Boolean.valueOf(_uiVisible.getAttributes() .get("disabled").toString()); AuthModel auth = getBBSApplication().getForumsAuthMap().get(_forum.getNum()); if (auth == null) { // 如果auth为null则初始化一个 auth = new AuthModel(); auth.setBePost(true); auth.setBeReply(true); auth.setBeUpload(true); auth.setVisible(true); } auth.setByForum(_forum.getNum()); // 这里需要注意 if (!disPost) auth.setBePost(Boolean.valueOf(_uiBePost.getValue().toString())); if (!disReply) auth.setBeReply(Boolean.valueOf(_uiBeReply.getValue().toString())); if (!disUpload) auth.setBeUpload(Boolean.valueOf(_uiBeUpload.getValue().toString())); if (!disVisible) auth.setVisible(Boolean.valueOf(_uiVisible.getValue().toString())); if (AuthAction.updateAuthByCheck(auth)) { Utils.addInfoMessage(getBundle(), "权限配置成功!"); getBBSApplication().reloadZonsAndForums(); // 重新载入BBS全局信息 } else { Utils.addErrorMessage(getBundle(), "配置权限时遇到问题!"); } return Constants.OUT_SUCCESS; } /** * 根据所载入的讨论区信息,加载该讨论区的最终权限设置信息 * 该权限是zone与当前forum的组合权限 */ private AuthModel loadForumAuth() { ForumModel forum = getBBSApplication().getForumsMap().get(_forum.getNum()); AuthModel auth = ForumFactory.getFinallAuthModel(forum); if (auth == null) { auth = new AuthModel(); } return auth; } /** * 获取得当前所操作的forum的父专区的最终权限配置信息 * @return auth */ private AuthModel getZoneAuth() { ForumModel forum = getBBSApplication().getForumsMap().get(_forum.getNum()); ZoneModel zone = getBBSApplication().getZonesMap().get(forum.getByZone()); return ZoneFactory.getFinalAuthModel(zone); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -