1 19 20 package com.lutris.airsent.presentation.admin; 21 22 import com.lutris.appserver.server.httpPresentation.*; 23 import com.lutris.appserver.server.session.*; 24 import com.lutris.util.*; 25 import org.w3c.dom.*; 28 import org.w3c.dom.html.*; 29 import org.enhydra.xml.xmlc.XMLObject; 30 import java.util.*; 31 32 33 import com.lutris.airsent.spec.*; 34 import com.lutris.airsent.presentation.*; 35 36 37 import com.lutris.airsent.spec.messenger.Messenger; 38 39 40 import com.lutris.airsent.spec.address.*; 41 45 public class NewMessenger extends BasePO { 46 private static final int AUTH_LEVEL = AirSentConstants.ADMINISTRATOR_USER; 47 private String _firstname = null; 48 private String _lastname = null; 49 private String _badge = null; 50 private String _password = null; 51 private String _repassword = null; 52 private String _email = null; 53 private String _phone = null; 54 55 61 public int getRequiredAuthLevel() { 62 return AUTH_LEVEL; 63 } 64 65 68 public XMLObject handleDefault() 69 throws AirSentPresentationException { 70 try { 71 Messenger messenger = null; 72 String id = getComms().request.getParameter(AirSentConstants.MESSENGER_NAME); 73 if (id == null) { 74 getSessionData().setMessenger(null); 75 } else { 76 messenger = getMessenger(id); 77 if (messenger == null) { 78 return showPage("Messenger not found", null); 79 } 80 getSessionData().setMessenger(messenger); 81 } 82 return showPage(null, messenger); 83 } catch (Exception e) { 84 throw new AirSentPresentationException("", e); 85 } 86 } 87 88 91 public XMLObject handleNewMessenger() 92 throws HttpPresentationException { 93 try { 94 getParameters(); 95 96 Messenger messenger = getSessionData().getMessenger(); 97 boolean virgin = true; 98 if (messenger != null) { 99 virgin = false; 100 } 101 102 String err = validateForm(messenger); 103 if (err != null) { 104 return showPage(err, messenger); 105 } 106 107 HomeManager hf = getApplication().getHomeManager(); 108 if (virgin == true) { 109 messenger = hf.getMessengerManager().findByBadge(_badge); 110 if (messenger != null) { 111 return showPage("Badge already in use", null); 112 } else { 113 messenger = hf.getMessengerManager().create(); 114 } 115 } 116 117 if (virgin == true) { 118 messenger.setBadge(_badge); 119 messenger.setPassword(_password); 120 } 121 messenger.setFirstName(_firstname); 122 messenger.setLastName(_lastname); 123 messenger.setEmail(_email); 124 Address address = messenger.getAddress(); 125 address.setLocalNumber(_phone); 126 messenger.save(); 127 getSessionData().setMessenger(null); 128 throw new ClientPageRedirectException(AirSentConstants.ADMIN_MAIN_PAGE); 129 135 }catch(NullPointerException e){ 136 NewMessengerHTML page = (NewMessengerHTML) myComms.xmlcFactory.create(NewMessengerHTML.class); 137 page.setTextErrorText("You cannot Enter a New Messenger while running AirSent_pres"); 138 return page; 139 } catch (Exception ex) { 140 throw new AirSentPresentationException("Exception saving messenger in user: ", ex); 141 } 142 } 143 144 147 private XMLObject showPage(String errorMsg, Messenger messenger) throws Exception { 148 NewMessengerHTML page = (NewMessengerHTML) myComms.xmlcFactory.create(NewMessengerHTML.class); 149 if (errorMsg != null || (errorMsg = getSessionData().getAndClearUserMessage()) != null) { 150 page.setTextTitle(""); 151 page.setTextErrorText(errorMsg); 152 } else { 153 page.getElementErrorText().getParentNode().removeChild(page.getElementErrorText()); 154 } 155 156 if (messenger == null) { 157 page.setTextBadgeText(""); 158 page.setTextPasswordText(""); 159 Node n = page.getElementEditMessenger().getParentNode(); 160 n.removeChild(page.getElementNewMessengerLink()); 161 n.removeChild(page.getElementEditMessenger()); 162 } else { 163 page.setTextTitle("Edit a messenger"); 164 page.getElementBadge().getParentNode().removeChild(page.getElementBadge()); 165 page.setTextBadgeText(_badge); 166 page.setTextPasswordText(_password); 167 page.getElementPassword().getParentNode().removeChild(page.getElementPassword()); 168 Node n = page.getElementEditMessenger().getParentNode(); 169 n.removeChild(page.getElementNewMessenger()); 170 } 171 populateForm(page, messenger); 172 return page; 173 } 174 175 178 private void populateForm(NewMessengerHTML page, Messenger messenger) { 179 if (messenger == null) { 180 if (isNullField(_badge) == false) { 181 page.getElementBadge().setValue(_badge); 182 } 183 if (isNullField(_password) == false) { 184 page.getElementPassword().setValue(_password); 185 } 186 if (isNullField(_password) == false) { 187 page.getElementPasswordverify().setValue(_password); 188 } 189 } 190 if (isNullField(_firstname) == false) { 191 page.getElementFirstname().setValue(_firstname); 192 } 193 if (isNullField(_lastname) == false) { 194 page.getElementLastname().setValue(_lastname); 195 } 196 197 if (isNullField(_phone) == false) { 198 page.getElementPhone().setValue(_phone); 199 } 200 if (isNullField(_email) == false) { 201 page.getElementEmail().setValue(_email); 202 } 203 } 204 205 206 211 private String validateForm(Messenger messenger) { 212 if(messenger == null) { 213 if (isNullField(_password)) { 214 return "Please provide a password"; 215 } 216 if (isNullField(_repassword)) { 217 return "Please verify password."; 218 } 219 220 if (_password.equals(_repassword) == false) { 221 return "Please make sure your password and password confirmation match exactly"; 222 } 223 } 224 225 if (isNullField(_firstname)) { 226 return "Please provide a first name"; 227 } 228 if (isNullField(_lastname)) { 229 return "Please provide a last name"; 230 } 231 if (messenger == null) { 232 if (isNullField(_badge)) { 233 return "Please provide a badge"; 234 } 235 } 236 if (isNullField(_email)) { 237 return "Please provide an email"; 238 } 239 if (isNullField(_phone)) { 240 return "Please provide a phone number"; 241 } 242 return null; 243 } 244 245 248 private Messenger getMessenger(String badge) throws Exception { 249 HomeManager hf = getApplication().getHomeManager(); 250 Messenger messenger = hf.getMessengerManager().findByBadge(badge); 251 if ((badge != null) && (messenger != null)) { 252 _firstname = messenger.getFirstName(); 253 _lastname = messenger.getLastName(); 254 _badge = messenger.getBadge(); 255 _password = messenger.getPassword(); 256 _repassword = _password; 257 _email = messenger.getEmail(); 258 Address address = messenger.getAddress(); 259 _phone = address.getLocalNumber(); 260 } 261 return messenger; 262 } 263 264 267 private void getParameters() throws Exception { 268 _firstname = getComms().request.getParameter(AirSentConstants.FIRST_NAME); 269 _lastname = getComms().request.getParameter(AirSentConstants.LAST_NAME); 270 _badge = getComms().request.getParameter(AirSentConstants.BADGE_NAME); 271 _repassword = getComms().request.getParameter(AirSentConstants.PASSWORD_VERIFY_NAME); 272 _password = getComms().request.getParameter(AirSentConstants.PASSWORD_NAME); 273 _email = getComms().request.getParameter(AirSentConstants.EMAIL_NAME); 274 _phone = getComms().request.getParameter(AirSentConstants.PHONE_NAME); 275 } 276 } 277 278 | Popular Tags |