1 18 19 package org.apache.roller.ui.core.struts.actions; 20 21 import java.util.ArrayList ; 22 import java.util.List ; 23 import javax.servlet.http.HttpServletRequest ; 24 import javax.servlet.http.HttpServletResponse ; 25 import org.apache.commons.logging.Log; 26 import org.apache.commons.logging.LogFactory; 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.struts.action.ActionMessage; 31 import org.apache.struts.action.ActionMessages; 32 import org.apache.struts.actions.DispatchAction; 33 import org.apache.roller.RollerException; 34 import org.apache.roller.config.RollerConfig; 35 import org.apache.roller.model.Roller; 36 import org.apache.roller.model.RollerFactory; 37 import org.apache.roller.model.UserManager; 38 import org.apache.roller.pojos.PermissionsData; 39 import org.apache.roller.pojos.UserData; 40 import org.apache.roller.pojos.WebsiteData; 41 import org.apache.roller.ui.core.BasePageModel; 42 import org.apache.roller.ui.core.RollerRequest; 43 import org.apache.roller.ui.core.RollerSession; 44 import org.apache.roller.ui.authoring.struts.formbeans.YourWebsitesForm; 45 import org.apache.struts.action.ActionError; 46 import org.apache.struts.action.ActionErrors; 47 48 49 55 public class YourWebsitesAction extends DispatchAction { 56 57 private static Log mLogger = LogFactory.getLog(YourWebsitesAction.class); 58 59 60 61 public ActionForward unspecified( 62 ActionMapping mapping, 63 ActionForm actionForm, 64 HttpServletRequest request, 65 HttpServletResponse response) 66 throws Exception { 67 if (request.getMethod().equals("GET")) { 68 return edit(mapping, actionForm, request, response); 69 } 70 return edit(mapping, actionForm, request, response); 71 } 72 73 74 public ActionForward edit( 75 ActionMapping mapping, 76 ActionForm actionForm, 77 HttpServletRequest request, 78 HttpServletResponse response) 79 throws Exception { 80 request.setAttribute("model", 81 new YourWebsitesPageModel(request, response, mapping)); 82 83 ActionForward forward = mapping.findForward("yourWebsites.page"); 84 return forward; 85 } 86 87 88 public ActionForward accept( 89 ActionMapping mapping, 90 ActionForm actionForm, 91 HttpServletRequest request, 92 HttpServletResponse response) 93 throws Exception { 94 95 YourWebsitesForm form = (YourWebsitesForm)actionForm; 96 UserManager userMgr = RollerFactory.getRoller().getUserManager(); 97 PermissionsData perms = userMgr.getPermissions(form.getInviteId()); 98 if (perms != null) { 99 perms.setPending(false); 102 userMgr.savePermissions(perms); 103 RollerFactory.getRoller().flush(); 104 105 ActionMessages msgs = new ActionMessages(); 106 msgs.add(null, new ActionMessage( 107 "yourWebsites.accepted", perms.getWebsite().getHandle())); 108 saveMessages(request, msgs); 109 } else { 110 ActionErrors errs = new ActionErrors(); 111 errs.add(null, new ActionError("yourWebsites.permNotFound")); 112 saveMessages(request, errs); 113 } 114 115 request.setAttribute("model", 116 new YourWebsitesPageModel(request, response, mapping)); 117 ActionForward forward = mapping.findForward("yourWebsites.page"); 118 return forward; 119 } 120 121 122 public ActionForward decline( 123 ActionMapping mapping, 124 ActionForm actionForm, 125 HttpServletRequest request, 126 HttpServletResponse response) 127 throws Exception { 128 129 YourWebsitesForm form = (YourWebsitesForm)actionForm; 130 UserManager userMgr = RollerFactory.getRoller().getUserManager(); 131 PermissionsData perms = userMgr.getPermissions(form.getInviteId()); 132 if (perms != null) { 133 userMgr.removePermissions(perms); 136 RollerFactory.getRoller().flush(); 137 138 ActionMessages msgs = new ActionMessages(); 139 msgs.add(null, new ActionMessage( 140 "yourWebsites.declined", perms.getWebsite().getHandle())); 141 saveMessages(request, msgs); 142 } else { 143 ActionErrors errs = new ActionErrors(); 144 errs.add(null, new ActionError("yourWebsites.permNotFound")); 145 saveMessages(request, errs); 146 } 147 148 request.setAttribute("model", 149 new YourWebsitesPageModel(request, response, mapping)); 150 ActionForward forward = mapping.findForward("yourWebsites.page"); 151 return forward; 152 } 153 154 155 public ActionForward resign( 156 ActionMapping mapping, 157 ActionForm actionForm, 158 HttpServletRequest request, 159 HttpServletResponse response) 160 throws Exception { 161 YourWebsitesForm form = (YourWebsitesForm)actionForm; 162 163 RollerSession rses = RollerSession.getRollerSession(request); 164 UserData user = rses.getAuthenticatedUser(); 165 RollerRequest rreq = RollerRequest.getRollerRequest(request); 166 WebsiteData website = rreq.getWebsite(); 167 168 UserManager userMgr = RollerFactory.getRoller().getUserManager(); 169 PermissionsData perms = userMgr.getPermissions(website, user); 170 171 if (perms != null) { 172 userMgr.removePermissions(perms); 175 RollerFactory.getRoller().flush(); 176 } 177 178 ActionMessages msgs = new ActionMessages(); 179 msgs.add(null, new ActionMessage( 180 "yourWebsites.resigned", perms.getWebsite().getHandle())); 181 saveMessages(request, msgs); 182 183 request.setAttribute("model", 184 new YourWebsitesPageModel(request, response, mapping)); 185 ActionForward forward = mapping.findForward("yourWebsites.page"); 186 return forward; 187 } 188 189 190 public static class YourWebsitesPageModel extends BasePageModel { 191 private boolean planetAggregatorEnabled = false; 192 private boolean groupBloggingEnabled = false; 193 private List permissions = new ArrayList (); 194 private List pendings = new ArrayList (); 195 private int userWeblogCount = 0; 196 197 public YourWebsitesPageModel(HttpServletRequest request, 198 HttpServletResponse response, ActionMapping mapping) throws RollerException { 199 super("yourWebsites.title", request, response, mapping); 200 Roller roller = RollerFactory.getRoller(); 201 RollerSession rollerSession = RollerSession.getRollerSession(request); 202 UserData user = rollerSession.getAuthenticatedUser(); 203 permissions = roller.getUserManager().getAllPermissions(user); 204 userWeblogCount = permissions.size(); 205 pendings = roller.getUserManager().getPendingPermissions(user); 206 groupBloggingEnabled = 207 RollerConfig.getBooleanProperty("groupblogging.enabled"); 208 setPlanetAggregatorEnabled(RollerConfig.getBooleanProperty("planet.aggregator.enabled")); 209 } 210 public List getPermissions() { 211 return permissions; 212 } 213 public void setPermissions(List permissions) { 214 this.permissions = permissions; 215 } 216 public List getPendings() { 217 return pendings; 218 } 219 public void setPendings(List pendings) { 220 this.pendings = pendings; 221 } 222 223 public boolean isGroupBloggingEnabled() { 224 return groupBloggingEnabled; 225 } 226 227 public void setGroupBloggingEnabled(boolean groupBloggingEnabled) { 228 this.groupBloggingEnabled = groupBloggingEnabled; 229 } 230 231 public boolean isPlanetAggregatorEnabled() { 232 return planetAggregatorEnabled; 233 } 234 235 public void setPlanetAggregatorEnabled(boolean planetAggregatorEnabled) { 236 this.planetAggregatorEnabled = planetAggregatorEnabled; 237 } 238 239 public int getUserWeblogCount() { 240 return userWeblogCount; 241 } 242 public void setUserWeblogCount(int count) { 243 userWeblogCount = count; 244 } 245 } 246 247 } 248 | Popular Tags |