public void handle( HttpServletRequest request, HttpServletResponse response, RequestContext context) { SimpleRequestContext src = (SimpleRequestContext) context; FormImpl f = prepareForm("toadmin".equalsIgnoreCase(src.getNotNullString("type"))); src.setObject(ACSConstants.FORM_ATTRIBUTE_NAME, f); if (src.getString("message_body") != null) { ((HtmlFormInputElement) f.getElementByName("message_body")) .setValue((String) src.getObject("message_body")); ((HtmlFormInputElement) f.getElementByName("recipient")) .setValue((String) src.getObject("recipient")); boolean res = Messenger.sendMessage( src.getString("message_body"), (UserAccaunt) request.getSession().getAttribute(ACSConstants.ACCAUNT_ATTRIBUTE_NAME), src.getString("recipient").equalsIgnoreCase(UserManager.TESH_SUPPORT.getLogin()) ? new TechSupportRecipientFactory() : new UserRecipientFactory(src.getString("recipient"))); if (res) ((ACSRequestContext) context) .addMessage(new StatusMessage("Сообщение отправленно", StatusMessageType.OK_MESSAGE)); else ((ACSRequestContext) context) .addMessage( new StatusMessage("Сообщение не отправленно", StatusMessageType.ERROR_MESSAGE)); } }
private FormImpl prepareForm(boolean isToAdmin) { FormImpl form = new FormImpl("acsform"); form.setFormUserName("Форма отправки сообщения"); form.setName("writemessage"); form.addElement(getRecipient(isToAdmin)); TextareaElement tae = new TextareaElement(); tae.setCols(45); tae.setFormName("writemessage"); tae.setName("message_body"); tae.setRows(5); tae.setTabindex(7); tae.setUserName("Сообщение"); tae.setCheckJs(HtmlConstants.CHECK_NOT_NULL); tae.setErrorMessage("Введите сообщение"); form.addElement(tae); form.addElement(new SubmitElement("sb", "Отправить")); return form; }