1 2 package com.quikj.application.communicator.applications.webtalk.controller; 3 4 import java.sql.Connection ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.http.HttpServletResponse ; 8 9 import org.apache.struts.action.Action; 10 import org.apache.struts.action.ActionError; 11 import org.apache.struts.action.ActionErrors; 12 import org.apache.struts.action.ActionForm; 13 import org.apache.struts.action.ActionForward; 14 import org.apache.struts.action.ActionMapping; 15 import org.apache.struts.action.ActionMessage; 16 import org.apache.struts.action.ActionMessages; 17 18 import com.quikj.application.communicator.admin.controller.LinkAttribute; 19 import com.quikj.application.communicator.admin.model.AccountElement; 20 import com.quikj.application.communicator.applications.webtalk.model.RestrictedAccessUserElement; 21 import com.quikj.application.communicator.applications.webtalk.model.RestrictedAccessUserTable; 22 import com.quikj.server.framework.AceLogger; 23 27 public class RestrictedAccessUserManagementAction extends Action 28 { 29 30 31 public RestrictedAccessUserManagementAction() 32 { 33 } 34 35 public ActionForward execute(ActionMapping mapping, 36 ActionForm form, 37 HttpServletRequest request, 38 HttpServletResponse response) 39 { 40 RestrictedAccessUserManagementForm uform = (RestrictedAccessUserManagementForm)form; 41 42 ActionErrors errors = new ActionErrors(); 43 44 Connection c = (Connection )request.getSession().getAttribute("connection"); 45 if (c == null) 46 { 47 errors.add(ActionErrors.GLOBAL_ERROR, 48 new ActionError("error.not.logged.in")); 49 saveErrors(request, errors); 50 return mapping.findForward("logon"); 51 } 52 53 AccountElement element = (AccountElement)request.getSession().getAttribute("userInfo"); 54 if (element.isAdminLevel() == false) 55 { 56 errors.add(ActionErrors.GLOBAL_ERROR, 57 new ActionError("error.insufficient.privilege")); 58 saveErrors(request, errors); 59 60 return mapping.findForward("main_menu"); 61 } 62 63 if (uform.getSubmit().equals("Find") == true) 64 { 65 RestrictedAccessUserTable tbl = new RestrictedAccessUserTable(); 66 tbl.setConnection(c); 67 68 RestrictedAccessUserElement e = tbl.query(uform.getName()); 69 70 if (e == null) 71 { 72 errors.add(ActionErrors.GLOBAL_ERROR, 73 new ActionError("error.restr.accessuser.not.exist")); 74 75 if (tbl.getErrorMessage() != null) 76 { 77 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, 78 "RestrictedAccessUserManagementAction.execute()/Find/by-" 79 + element.getName() 80 + ": " 81 + tbl.getErrorMessage()); 82 } 83 } 84 else 85 { 86 uform.setInfoParms(e.getInfoParms()); 87 uform.setEmail(e.getEmail()); 88 uform.setFullName(e.getFullName()); 89 uform.setName(e.getName()); 90 } 91 } 92 else if (uform.getSubmit().equals("Modify") == true) 93 { 94 RestrictedAccessUserTable tbl = new RestrictedAccessUserTable(); 95 tbl.setConnection(c); 96 97 RestrictedAccessUserElement e = new RestrictedAccessUserElement(); 98 e.setInfoParms(uform.getInfoParms()); 99 e.setEmail(uform.getEmail()); 100 e.setFullName(uform.getFullName()); 101 e.setName(uform.getName()); 102 103 String password = uform.getPassword(); 104 if ((password != null) && (password.length() > 0)) 105 { 106 e.setPassword(password); 107 } 108 109 if (tbl.modify(e) == false) 110 { 111 if (tbl.getErrorMessage() == null) 112 { 113 errors.add(ActionErrors.GLOBAL_ERROR, 114 new ActionError("error.restr.accessuser.not.exist")); 115 } 116 else 117 { 118 errors.add(ActionErrors.GLOBAL_ERROR, 119 new ActionError("error.db.failure")); 120 121 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, 122 "RestrictedAccessUserManagementAction.execute()/Modify/by-" 123 + element.getName() 124 + ": " 125 + tbl.getErrorMessage()); 126 } 127 } 128 else 129 { 130 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG, 131 "User " + element.getName() + " modified webtalk restricted access user " + 132 uform.getName()); 133 134 ActionMessages messages = new ActionMessages(); 136 messages.add(ActionMessages.GLOBAL_MESSAGE, 137 new ActionMessage("message.restr.accessuser.modified")); 138 139 saveMessages(request, messages); 140 return mapping.findForward("webtalk_main_menu"); 141 } 142 } 143 else if (uform.getSubmit().equals("Create") == true) 144 { 145 RestrictedAccessUserTable tbl = new RestrictedAccessUserTable(); 146 tbl.setConnection(c); 147 148 RestrictedAccessUserElement e = new RestrictedAccessUserElement(); 149 150 e.setInfoParms(uform.getInfoParms()); 151 e.setEmail(uform.getEmail()); 152 e.setFullName(uform.getFullName()); 153 e.setName(uform.getName()); 154 e.setPassword(uform.getPassword()); 155 156 if (tbl.create(e) == false) 157 { 158 errors.add(ActionErrors.GLOBAL_ERROR, 159 new ActionError("error.restr.accessuser.create.failure")); 160 161 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, 162 "RestrictedAccessUserManagementAction.execute()/Create/by-" 163 + element.getName() 164 + ": " 165 + tbl.getErrorMessage()); 166 } 167 else 168 { 169 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG, 170 "User " + element.getName() + " created webtalk restricted access user " + 171 uform.getName()); 172 173 ActionMessages messages = new ActionMessages(); 175 messages.add(ActionMessages.GLOBAL_MESSAGE, 176 new ActionMessage("message.restr.accessuser.created")); 177 saveMessages(request, messages); 178 return mapping.findForward("webtalk_main_menu"); 179 } 180 } 181 else if (uform.getSubmit().equals("Delete") == true) 182 { 183 RestrictedAccessUserTable tbl = new RestrictedAccessUserTable(); 184 tbl.setConnection(c); 185 186 if (tbl.delete(uform.getName()) == false) 187 { 188 if (tbl.getErrorMessage() == null) 189 { 190 errors.add(ActionErrors.GLOBAL_ERROR, 191 new ActionError("error.restr.accessuser.not.exist")); 192 } 193 else 194 { 195 errors.add(ActionErrors.GLOBAL_ERROR, 196 new ActionError("error.db.failure")); 197 198 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, 199 "RestrictedAccessUserManagementAction.execute()/Delete/by-" 200 + element.getName() 201 + ": " 202 + tbl.getErrorMessage()); 203 } 204 } 205 else 206 { 207 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG, 208 "User " + element.getName() + " deleted webtalk restricted access user " + 209 uform.getName()); 210 211 ActionMessages messages = new ActionMessages(); 213 messages.add(ActionMessages.GLOBAL_MESSAGE, 214 new ActionMessage("message.restr.accessuser.deleted")); 215 saveMessages(request, messages); 216 return mapping.findForward("webtalk_main_menu"); 217 } 218 } 219 220 if (errors.isEmpty() == false) 221 { 222 saveErrors(request, errors); 223 } 224 225 WebTalkRelatedTasks menu = new WebTalkRelatedTasks(); 227 menu.addLink(new LinkAttribute("Search restricted access users", "display_restricted_access_user_search")); 228 request.setAttribute("menu", menu); 229 230 return mapping.getInputForward(); 231 } 232 233 } 234 | Popular Tags |