package is.idega.idegaweb.member.presentation; import is.idega.idegaweb.member.business.GroupApplicationBusiness; import java.rmi.RemoteException; import com.idega.business.IBOLookup; import com.idega.idegaweb.IWApplicationContext; import com.idega.presentation.Block; import com.idega.presentation.IWContext; import com.idega.presentation.ui.PostalCodeDropdownMenu; import com.idega.user.data.Group; import com.idega.user.presentation.GroupSelectionDoubleBox; /** * @author <a href="mailto:eiki@idega.is">Eirikur S. Hrafnsson</a> * */ public class GroupApplicationFormHandler extends Block { public static final String USER_NAME_PARAM = "user_name"; public static final String PIN_PARAM = "pin"; public static final String PHONE_PARAM = "phone"; public static final String PHONE2_PARAM = "phone2"; public static final String EMAIL_PARAM = "email"; public static final String EMAIL2_PARAM = "email2"; public static final String ADDRESS_PARAM = "address"; public static final String COMMENT_PARAM = "comment"; public static final String ADMIN_COMMENT_PARAM = "admin_comment"; public static final String GROUPS_PARAM = GroupSelectionDoubleBox.selectedGroupsParameterDefaultValue;//hack! public static final String POSTAL_CODE_PARAM = PostalCodeDropdownMenu.IW_POSTAL_CODE_MENU_PARAM_NAME;//hack! public static final String GENDER_PARAM = "gender"; private Group applicationGroup = null; public GroupApplicationFormHandler(){ super(); } /** * @see com.idega.presentation.PresentationObject#main(IWContext) */ public void main(IWContext iwc) throws Exception { if( this.applicationGroup!=null ){ if( iwc.isParameterSet(USER_NAME_PARAM) && iwc.isParameterSet(PIN_PARAM) ){ GroupApplicationBusiness biz = this.getGroupApplicationBusiness(iwc); String name = iwc.getParameter(USER_NAME_PARAM); String pin = iwc.getParameter(PIN_PARAM); String gender = iwc.getParameter(GENDER_PARAM); String email = iwc.getParameter(EMAIL_PARAM); String email2 = iwc.getParameter(EMAIL2_PARAM); String address = iwc.getParameter(ADDRESS_PARAM); String postal = iwc.getParameter(POSTAL_CODE_PARAM); String phone = iwc.getParameter(PHONE_PARAM); String phone2 = iwc.getParameter(PHONE2_PARAM); String comment = iwc.getParameter(COMMENT_PARAM); String adminComment = iwc.getParameter(ADMIN_COMMENT_PARAM); //KR hack if(adminComment==null){ String paymentType = iwc.getParameter("payment_type"); String validMonth = iwc.getParameter("valid_month"); String validYear = iwc.getParameter("valid_year"); String nameOnCard = iwc.getParameter("name_on_credit_card"); String pinOnCard = iwc.getParameter("credit_card_pin"); String caretakerName = iwc.getParameter("caretaker_name"); String caretakerPin = iwc.getParameter("caretaker_pin"); String caretakerEmail = iwc.getParameter("caretaker_email"); String cardNumber = iwc.getParameter("credit_card_number"); boolean credit = false; if( paymentType!=null ){ if( paymentType.equals("C") ){ credit = true; } else if( paymentType.equals("M") ){ credit = false; } } if( credit && cardNumber!=null ){ adminComment = "Vill borga me� kredit korti:\n" +"Kortan�mer : "+cardNumber+"\n" +"Gildir til : "+validMonth+"/"+validYear+"\n" +"Korthafi : "+nameOnCard+"\n" +"Kennitala korthafa : "+pinOnCard+"\n"; } else if( !credit ){ adminComment = "Vill stadgrei�a\n"; } else { adminComment = "Vill borga med korti en kortan�meri� vantar!\n"; } if( caretakerName!=null ){ adminComment += "Forr��ama�ur : "+caretakerName+"\n" +"Kennitala forr��amanns : "+caretakerPin+"\n" +"Netfang forr��amanns : "+caretakerEmail+"\n"; } } String[] groups = iwc.getParameterValues(GROUPS_PARAM); if( groups == null ) { System.err.println("GROUPS are Null!"); } try { biz.createGroupApplication(this.applicationGroup,name,pin,gender,email,email2,address,postal,phone,phone2,comment,adminComment,groups); } catch (Exception e) { add("Error : Application creation failed!"); e.printStackTrace(); } } else { add("Error : No name and PIN!"); } } else{ add("The application group parameter has not been set"); } } public void setApplicationGroup(Group group){ this.applicationGroup = group; } private GroupApplicationBusiness getGroupApplicationBusiness(IWApplicationContext iwac) throws RemoteException { return (GroupApplicationBusiness) IBOLookup.getServiceInstance(iwac, GroupApplicationBusiness.class); } /** * @see com.idega.presentation.PresentationObject#getBundleIdentifier() */ public String getBundleIdentifier() { return "is.idega.idegaweb.member"; } /** * @see java.lang.Object#clone() */ public Object clone() { GroupApplicationFormHandler obj = (GroupApplicationFormHandler) super.clone(); obj.applicationGroup = this.applicationGroup; return obj; } }