/* * Created on 4.3.2004 */ package is.idega.idegaweb.golf.clubs.presentation; import is.idega.idegaweb.golf.business.GolfCacher; import is.idega.idegaweb.golf.entity.Address; import is.idega.idegaweb.golf.entity.AddressHome; import is.idega.idegaweb.golf.entity.Card; import is.idega.idegaweb.golf.entity.CardHome; import is.idega.idegaweb.golf.entity.Country; import is.idega.idegaweb.golf.entity.CountryHome; import is.idega.idegaweb.golf.entity.Family; import is.idega.idegaweb.golf.entity.Group; import is.idega.idegaweb.golf.entity.Member; import is.idega.idegaweb.golf.entity.MemberHome; import is.idega.idegaweb.golf.entity.MemberInfo; import is.idega.idegaweb.golf.entity.MemberInfoHome; import is.idega.idegaweb.golf.entity.PaymentType; import is.idega.idegaweb.golf.entity.Phone; import is.idega.idegaweb.golf.entity.PhoneHome; import is.idega.idegaweb.golf.entity.PhoneType; import is.idega.idegaweb.golf.entity.PriceCatalogue; import is.idega.idegaweb.golf.entity.Union; import is.idega.idegaweb.golf.entity.UnionHome; import is.idega.idegaweb.golf.entity.UnionMemberInfo; import is.idega.idegaweb.golf.entity.UnionMemberInfoHome; import is.idega.idegaweb.golf.entity.ZipCode; import is.idega.idegaweb.golf.handicap.presentation.HandicapOverview; import is.idega.idegaweb.golf.presentation.GolfBlock; import is.idega.idegaweb.golf.service.AccountViewer; import is.idega.idegaweb.golf.service.GroupMemberInsertWindow; import is.idega.idegaweb.golf.service.Tariffer; import is.idega.idegaweb.golf.templates.page.GolfWindow; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date; import java.sql.SQLException; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import java.util.ListIterator; import java.util.Vector; import javax.ejb.FinderException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import com.idega.block.image.presentation.SimpleUploaderWindow; import com.idega.block.media.presentation.ImageInserter; import com.idega.data.EntityFinder; import com.idega.data.IDOLookup; import com.idega.idegaweb.IWBundle; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.Image; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; import com.idega.presentation.ui.BorderTable; import com.idega.presentation.ui.CloseButton; import com.idega.presentation.ui.DateInput; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.HeaderTable; import com.idega.presentation.ui.HiddenInput; import com.idega.presentation.ui.InterfaceObject; import com.idega.presentation.ui.Parameter; import com.idega.presentation.ui.SubmitButton; import com.idega.presentation.ui.TextArea; import com.idega.presentation.ui.TextInput; import com.idega.presentation.ui.Window; import com.idega.util.IWTimestamp; import com.idega.util.text.Name; import com.idega.util.text.SocialSecurityNumber; /** * @author laddi */ public class MemberEditor extends GolfWindow { public MemberEditor() { setWidth(690); setHeight(610); setTitle("Member editor"); setScrollbar(true); setResizable(true); setTitlebar(false); setMenubar(false); add(new Editor()); } public class Editor extends GolfBlock { private static final int COUNTRY_ID = 1; IWResourceBundle iwrb; IWBundle iwb; public void main(IWContext modinfo) throws Exception { try { boolean doSocialSecuritySearchOnNewMember = true; String union_id = (String) (modinfo .getSessionAttribute("golf_union_id")); String member_id = modinfo.getParameter("member_id"); IWResourceBundle iwrb = getResourceBundle(); IWBundle iwb = getBundle(); /// added by eiki 3.may 2001 Table linkTable = new Table(); linkTable.setWidth("100%"); linkTable.setCellpadding(0); linkTable.setCellspacing(0); linkTable.setBackgroundImage(iwb.getImage("shared/greytiler.gif")); //linkTable.setColor("#BDBDBD"); Link general = new Link(iwrb.getImage("member/general.gif", "Almennar uppl�singar kylfingsins")); general.addParameter("member_id", member_id); Link finance = new Link(iwrb.getImage("member/finance.gif", "Fj�rm�l kylfingsins"), "/tarif/accountview.jsp"); finance.addParameter("member_id", member_id); Link handicap = new Link(iwrb.getImage("member/handicap_overview.gif", iwrb.getLocalizedString("member.handicap", "Handicap"))); handicap.addParameter("member_id", member_id); handicap.addParameter("menuaction", "handicap"); Link history = new Link(iwrb.getImage("member/history.gif", "Saga kylfingsins")); history.addParameter("member_id", member_id); history.addParameter("menuaction", "history"); Window commentWindow = new Window("Athugasemd", 400, 300, "/clubs/membercomment.jsp"); Link comment = new Link(iwrb.getImage("member/comments.gif", "Athugasemd"), commentWindow); comment.addParameter("member_id", member_id); comment.addParameter("union_id", union_id); Window loginWindow = new Window("Login", 200, 270, "/clubs/memberlogin.jsp"); loginWindow.setScrollbar(false); Link login = new Link(iwrb.getImage("member/password.gif", "Lykilor�"), loginWindow); login.addParameter("member_id", member_id); login.addParameter("union_id", union_id); Window clubsWindow = new Window("Athugasemd", 250, 250, "/clubs/unioncorrect.jsp"); clubsWindow.setScrollbar(false); Link clubs = new Link(iwrb.getImage("member/clubs.gif", "Kl�bbar"), clubsWindow); clubs.addParameter("member_id", member_id); if (member_id != null) { linkTable.add(general); linkTable.add(finance); linkTable.add(handicap); linkTable.add(history); linkTable.add(comment); linkTable.add(login); linkTable.add(clubs); add(linkTable); } //// String action = modinfo.getParameter("menuaction"); if (action == null) { //debug check beacause of a member that is new in the system doesn't // have a member_id String imagecheck = modinfo.getParameter("image_id"); if (doSocialSecuritySearchOnNewMember && ((member_id == null) && (imagecheck == null))) { Table tafel = new Table(2, 2); Form socialForm = new Form(); TextInput input = new TextInput("socialnumber"); String text1 = iwrb.getLocalizedString("member.newmembermessage", "Enter the SocialSecurityNumber of the new member"); //Text texti = new Text("Skrifa�u inn kennit�lu n�ja f�lagans"); Text texti = new Text(text1); texti.setBold(); HiddenInput actionInput = new HiddenInput("menuaction", "checksocial"); tafel.add(texti, 1, 1); tafel.add(input, 1, 2); tafel.add(new SubmitButton(), 2, 2); tafel.add(actionInput, 2, 1); socialForm.add(tafel); add(socialForm); } else main2(member_id, union_id, modinfo); } else if (action.equalsIgnoreCase("checksocial")) { String socialnumber = modinfo.getParameter("socialnumber"); if ((socialnumber != null) && !(socialnumber.equalsIgnoreCase(""))) { List members = EntityFinder.findAllByColumnEquals((Member) IDOLookup .instanciateEntity(Member.class), "social_security_number", socialnumber); if (members != null) { Member member = (Member) members.get(0); main2(Integer.toString(member.getID()), union_id, modinfo); } else main2(member_id, union_id, modinfo); } else main2(member_id, union_id, modinfo); } else if (action.equalsIgnoreCase("finance")) { if (member_id != null) add(new AccountViewer()); } else if (action.equalsIgnoreCase("handicap")) { if (member_id != null) add(new HandicapOverview(member_id)); } else if (action.equalsIgnoreCase("history")) { if (member_id != null) { Member member = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(Integer.parseInt(member_id)); MemberInfo meminf = member.getMemberInfo(); Table T = new Table(1, 2); T.setHeight(1, "50"); T.setWidth("100%"); T.setCellpadding(4); T.setAlignment(1, 2, "center"); Table tafla = new Table(1, 3); tafla.setCellspacing(0); tafla.setWidth(400); tafla.setColor(1, 1, "#336660"); tafla.setColor(1, 2, "#ADCAB1"); tafla.setColor(1, 3, "#CEDFD0"); Text texti = new Text(iwrb.getLocalizedString("member.history", "History of") + " " + member.getName()); texti.setFontColor("#FFFFFF"); texti.setBold(); tafla.add(texti); tafla.add(meminf.getHistory(), 1, 3); T.add(tafla, 1, 2); add(T); } else if (modinfo.getParameter("account_action") != null) { add(new AccountViewer()); } } } catch (Exception e) { e.printStackTrace(); } } public void main2(String memberString, String unionString, IWContext modinfo) throws IOException { GolfMemberInsert inserter = null; iwrb = getResourceBundle(); iwb = getBundle(); int union_id = -1; int memberId = -1; if (unionString == null) { //debug eiki add("F�lagsn�mer, Session-i� er �trunni�"); } else { union_id = Integer.parseInt(unionString); } if (memberString != null) { memberId = Integer.parseInt(memberString); } try { if (memberId != -1) { inserter = new GolfMemberInsert(modinfo, memberId, union_id); } else { inserter = new GolfMemberInsert(modinfo, union_id); } inserter.setBundle(iwrb, iwb); inserter.showInputForm(); } catch (Exception er) { System.err.println(er.getMessage()); er.printStackTrace(System.err); } } public class GolfMemberInsert { private AddressInsert addrInsert; private AddressInsert addrInsert2; private MemberInsert memberInsert; private PhoneInsert homePhoneInsert; private PhoneInsert gsmInsert; private PhoneInsert workPhoneInsert; private UnionMemberInfoInsert unionMemberInsert; private CardInsert cardInsert; private MemberInfoInsert memInfoInsert; private Form form = new Form(); private IWContext modinfo; private Image memberImg = new Image("/pics/member/x.gif"); private Image uppi = new Image("/pics/member/uppi.gif"); private Image info = new Image("/pics/member/upplysingar.gif"); private Vector vError = new Vector(); private String strSessionId = "error"; //private String strErrorPage = "membererror.jsp"; private String strUnionId = null; private int iUnionId = -1; private int iMemberId = -1; private int iImageId = 1; private Member member, eMember; private List eUMIs = null; private String imageId; private boolean isUpdate; private int memberID = -1; private String DarkColor = "#336660", LightColor = "#CEDFD0", MiddleColor = "#ADCAB1"; private String styleAttribute = "font-size: 8pt"; private String sMemberImageURL = "/pics/member/x.gif"; private int bodyFontSize = 1; private int fontSize = 2; private IWResourceBundle iwrb; private IWBundle iwb; public GolfMemberInsert(IWContext modinfo, int unionId) throws SQLException { this.modinfo = modinfo; isUpdate = false; this.iUnionId = unionId; strUnionId = String.valueOf(unionId); addrInsert = new AddressInsert(modinfo, "heimili1", "heimililand1", "postnr1"); addrInsert2 = new AddressInsert(modinfo, "heimili2", "heimililand2", "postnr2"); memberInsert = new MemberInsert(modinfo); homePhoneInsert = new PhoneInsert(modinfo, "simi", "similand1", "homephonetype"); gsmInsert = new PhoneInsert(modinfo, "gsm", "similand2", "gsmphonetype"); workPhoneInsert = new PhoneInsert(modinfo, "vinnusimi", "similand3", "workphonetype"); unionMemberInsert = new UnionMemberInfoInsert(modinfo); unionMemberInsert.setUnionId(unionId); cardInsert = new CardInsert(modinfo); memInfoInsert = new MemberInfoInsert(modinfo); } public GolfMemberInsert(IWContext modinfo, int memberId, int unionId) throws SQLException, FinderException { this.modinfo = modinfo; memberID = memberId; this.iMemberId = memberID; this.iUnionId = unionId; eUMIs = EntityFinder.findAllByColumn((UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "member_id", iMemberId); isUpdate = true; strUnionId = String.valueOf(unionId); member = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(memberId); eMember = member; Address[] addressArr = member.getAddress(); int addressLenght = addressArr.length; Phone[] phoneArr = member.getPhone(); int phoneLength = phoneArr.length; int unionMemIfnId = -1; int memberInfId = -1; int cardId = -1; if (member.getUnionMemberInfo(String.valueOf(unionId), String .valueOf(memberId)) != null) unionMemIfnId = member.getUnionMemberInfo(String.valueOf(unionId), String.valueOf(memberId)).getID(); if (member.getMemberInfo() != null) memberInfId = member.getMemberInfo().getID(); iImageId = member.getImageId(); memberInsert = new MemberInsert(modinfo, member.getID()); if (addressLenght > 0) { addrInsert = new AddressInsert(modinfo, addressArr[0].getID(), "heimili1", "heimililand1", "postnr1"); } else { addrInsert = new AddressInsert(modinfo, "heimili1", "heimililand1", "postnr1"); //addrInsert = new AddressInsert(modinfo); } if (addressLenght > 1) addrInsert2 = new AddressInsert(modinfo, addressArr[1].getID(), "heimili2", "heimililand2", "postnr2"); else addrInsert2 = new AddressInsert(modinfo, "heimili2", "heimililand2", "postnr2"); if (phoneLength > 0) homePhoneInsert = new PhoneInsert(modinfo, phoneArr[0].getID(), "simi", "similand1", "homephonetype"); else homePhoneInsert = new PhoneInsert(modinfo, "simi", "similand1", "homephonetype"); if (phoneLength > 1) gsmInsert = new PhoneInsert(modinfo, phoneArr[1].getID(), "gsm", "similand2", "gsmphonetype"); else gsmInsert = new PhoneInsert(modinfo, "gsm", "similand2", "gsmphonetype"); if (phoneLength > 2) workPhoneInsert = new PhoneInsert(modinfo, phoneArr[2].getID(), "vinnusimi", "similand3", "workphonetype"); else workPhoneInsert = new PhoneInsert(modinfo, "vinnusimi", "similand3", "workphonetype"); if (unionMemIfnId != -1) { unionMemberInsert = new UnionMemberInfoInsert(modinfo, unionMemIfnId, memberId, unionId); } else { unionMemberInsert = new UnionMemberInfoInsert(modinfo); } if (memberInfId != -1) { memInfoInsert = new MemberInfoInsert(modinfo, memberInfId); } else { memInfoInsert = new MemberInfoInsert(modinfo); } cardId = unionMemberInsert.getUnionMemberInfo().getCardId(); //debug if ((cardId != -1) && (cardId != 1)) { cardInsert = new CardInsert(modinfo, cardId); } else { cardInsert = new CardInsert(modinfo); } unionMemberInsert.setUnionId(unionId); unionMemberInsert.setMemberId(memberId); } public void setBundle(IWResourceBundle iwrb, IWBundle iwb) { this.iwb = iwb; this.iwrb = iwrb; } public void showInputForm() throws IOException, SQLException, FinderException { boolean isUpdating = false; if (modinfo.getParameter("save") != null || modinfo.getParameter("save.x") != null) { isUpdating = true; handleError(); } PresentationObject imageObject = null; ImageInserter imageInsert = null; if (iImageId != 1) { imageInsert = new ImageInserter(member.getImageId()); } else { imageInsert = new ImageInserter(); } imageInsert.setHasUseBox(false); imageInsert.setMaxImageWidth(110); imageInsert.setWindowClassToOpen(SimpleUploaderWindow.class); // imageInsert.setDefaultImageURL(sMemberImageURL); imageObject = imageInsert; if (member != null) form.add(new HiddenInput("member_id", String .valueOf(member.getID()))); /* * form.setAction(modinfo.getRequest().getRequestURI()+"?member_id="+member.getID()); * else * form.setAction(modinfo.getRequest().getRequestURI()+"?cmd=submit"); */ boolean border = false; Table Frame = new Table(2, 1); Frame.setCellpadding(0); Frame.setCellspacing(0); Frame.setRowVerticalAlignment(1, "top"); Table leftTable = new Table(1, 8); leftTable.setCellpadding(0); leftTable.setCellspacing(0); Frame.add(leftTable, 1, 1); Table table = new Table(4, 5); table.setCellpadding(0); table.setCellspacing(0); Frame.add(table, 2, 1); // debug if (border) { Frame.setBorder(1); leftTable.setBorder(1); table.setBorder(1); } int firstrow = 1, secondrow = 3, thirdrow = 5; int firstcol = 1, secondcol = 2, thirdcol = 4; if (isUpdating) { String sSaving = iwrb.getLocalizedString("member.saving", "Saving"); Text text = new Text(sSaving, true, true, true); text.setFontColor("red"); text.setFontSize("4"); leftTable.add(text, 1, 5); } Frame.setAlignment("center"); table.setCellpadding(0); table.setCellspacing(0); table.setHeight(firstrow, "220"); table.setHeight(secondrow, "220"); table.setHeight(thirdrow, "220"); table.setWidth(1, "10"); table.setWidth(2, "210"); table.setWidth(3, "10"); table.setWidth(4, "210"); leftTable.setAlignment(1, 6, "center"); leftTable.setHeight(1, "210"); table.setRowVerticalAlignment(1, "top"); table.setRowVerticalAlignment(3, "top"); table.setRowVerticalAlignment(5, "top"); BorderTable memberTable = getMemberTable(); BorderTable addressTable = getAddressTable(); BorderTable phoneTable = getPhoneTable(); BorderTable cardTable = getCardTable(); BorderTable groupTable = getGroupTable(); BorderTable unionMemInfTable = getUnionMemberInfoTable(); BorderTable memberInfoTable = getMemberInfoTable(); BorderTable familyTable = getFamilyTable(); BorderTable unionsTable = getUnionsTable(); BorderTable statusTable = getStatusTable(); String color = LightColor; memberTable.setColor(color); addressTable.setColor(color); phoneTable.setColor(color); cardTable.setColor(color); unionMemInfTable.setColor(color); memberInfoTable.setColor(color); familyTable.setColor(color); groupTable.setColor(color); unionsTable.setColor(color); color = DarkColor; memberTable.setBorderColor(color); addressTable.setBorderColor(color); phoneTable.setBorderColor(color); memberInfoTable.setBorderColor(color); unionMemInfTable.setBorderColor(color); cardTable.setBorderColor(color); familyTable.setBorderColor(color); groupTable.setBorderColor(color); unionsTable.setBorderColor(color); statusTable.setBorderColor(color); int b = 0; memberTable.setBorder(b); addressTable.setBorder(b); phoneTable.setBorder(b); memberInfoTable.setBorder(b); unionMemInfTable.setBorder(b); cardTable.setBorder(b); familyTable.setBorder(b); groupTable.setBorder(b); unionsTable.setBorder(b); statusTable.setBorder(b); String width = "100%"; String height = "210"; memberTable.setWidth(width); addressTable.setWidth(width); phoneTable.setWidth(width); cardTable.setWidth(width); unionMemInfTable.setWidth(width); familyTable.setWidth(width); groupTable.setWidth(width); memberInfoTable.setWidth(width); unionsTable.setWidth(width); statusTable.setWidth(width); memberTable.setHeight(height); addressTable.setHeight(height); phoneTable.setHeight(height); cardTable.setHeight(height); unionMemInfTable.setHeight(height); familyTable.setHeight(90); groupTable.setHeight(90); memberInfoTable.setHeight(50); //unionsTable.setHeight("200"); Table T = new Table(1, 2); T.setHeight("100%"); T.setCellpadding(0); T.setCellspacing(0); T.add(headerText(iwrb.getLocalizedString("member.photo", "Photo")), 1, 1); T.add(imageObject, 1, 1); T.add( headerText(iwrb.getLocalizedString("member.handicap", "Handicap")), 1, 2); T.add(memberInfoTable, 1, 2); leftTable.add(T, 1, 1); leftTable.add(headerText(iwrb.getLocalizedString("member.clubs", "Clubs")), 1, 3); leftTable.add(unionsTable, 1, 3); SubmitButton save = new SubmitButton( iwrb.getImage("/buttons/save.gif"), "save"); leftTable.add(save, 1, 6); leftTable.add(statusTable, 1, 8); String sMember = iwrb.getLocalizedString("member.member", "Member"); table.add(headerText(sMember), secondcol, firstrow); table.add(memberTable, secondcol, firstrow); String sAddress = iwrb.getLocalizedString("member.address", "Address"); table.add(headerText(sAddress), secondcol, secondrow); table.add(addressTable, secondcol, secondrow); String sPhones = iwrb.getLocalizedString("member.phones", "Phones"); table.add(headerText(sPhones), thirdcol, secondrow); table.add(phoneTable, thirdcol, secondrow); String sClub = iwrb.getLocalizedString("member.club", "Club"); table.add(headerText(sClub), thirdcol, firstrow); table.add(unionMemInfTable, thirdcol, firstrow); String sCard = iwrb.getLocalizedString("member.card", "Card"); table.add(headerText(sCard), thirdcol, thirdrow); table.add(cardTable, thirdcol, thirdrow); if (memberID != -1) { String sFamily = iwrb.getLocalizedString("member.family", "Family"); String sGroups = iwrb.getLocalizedString("member.groups", "Groups"); table.add(headerText(sFamily), secondcol, thirdrow); table.add(familyTable, secondcol, thirdrow); table.add(getFamilyLinkTable(), secondcol, thirdrow); table.add(headerText(sGroups), secondcol, thirdrow); table.add(groupTable, secondcol, thirdrow); table.add(getGroupLinkTable(), secondcol, thirdrow); } table.add(Text.getBreak(), firstcol, secondrow); //table.setAlignment(firstcol,secondrow,"center"); table.setColor("#FFFFFF"); table.setCellspacing(0); form.add(Frame); add(form); } private void handleError() throws IOException, SQLException { vError.addAll(memberInsert.getNeetedEmptyFields()); if (vError.size() > 0) { modinfo.getSession().setAttribute(strSessionId, vError); // modinfo.getResponse().sendRedirect(strErrorPage); //getParentPage().setToRedirect(strErrorPage); } else insert(); } private void insert() throws SQLException, IOException { if (member == null) { Family family = (Family) IDOLookup.createLegacy(Family.class); family.insert(); unionMemberInsert.getUnionMemberInfo().setFamily(family); } imageId = modinfo.getParameter("image_id"); if ((imageId != null) && (!imageId.equals("null"))) { int id = 1; try { id = Integer.parseInt(imageId); } catch (NumberFormatException nfe) { } if (id < 1) id = 1; memberInsert.getMember().setImageId(id); } memberInsert.store(); member = memberInsert.getMember(); memInfoInsert.setMemberId(member.getID()); memInfoInsert.store(); homePhoneInsert.store(member); gsmInsert.store(member); workPhoneInsert.store(member); addrInsert.store(member); addrInsert2.store(member); cardInsert.store(); unionMemberInsert.setMemberId(member.getID()); int cardID = cardInsert.getCard().getID(); if (cardID == -1) unionMemberInsert.setCardId(1); else unionMemberInsert.setCardId(cardID); unionMemberInsert.store(); /* * String type = * unionMemberInsert.getUnionMemberInfo().getMembershipType(); * if(type.equalsIgnoreCase("main")) member.setMainUnion(iUnionId); */ /* * if(modinfo.getSession().getAttribute("image_id") != null) { String * imId = (String) modinfo.getSession().getAttribute("image_id"); * member.setimage_id(Integer.parseInt(imId)); * modinfo.getSession().removeAttribute("image_id"); } */ //debug // modinfo.getResponse().sendRedirect(modinfo.getRequest().getRequestURI()+"?&member_id="+member.getID()); getParentPage().setToRedirect( modinfo.getRequest().getRequestURI() + "?&member_id=" + member.getID()); } private void checkEmptyFields(String[] strArr) { for (int i = 0; i < strArr.length; i++) { vError.add(strArr[i]); } } public void forwardPage(String strURL) { try { ServletContext sc = modinfo.getServletContext(); RequestDispatcher rd; rd = sc.getRequestDispatcher(strURL); rd.forward(modinfo.getRequest(), modinfo.getResponse()); } catch (java.io.IOException e) { System.out.println(e); } catch (javax.servlet.ServletException e) { System.out.println(e); } } public BorderTable getAddressTable() { BorderTable hTable = new BorderTable(); Table table = new Table(2, 6); hTable.add(table); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.address", "Heimili")), 1, 1); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.zipcode", "P�stnr")), 1, 2); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.country", "Land")), 1, 3); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.address2", "Heimili 2")), 1, 4); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.zipcode", "P�stnr")), 1, 5); table.add(addrInsert.formatText(iwrb.getLocalizedString( "member.country", "Land")), 1, 6); table.add(addrInsert.getInputAddress(), 2, 1); table.add(addrInsert.getDropZipcode(), 2, 2); table.add(addrInsert.getDropCountry(), 2, 3); table.add(addrInsert2.getInputAddress(), 2, 4); table.add(addrInsert2.getDropZipcode(), 2, 5); table.add(addrInsert2.getDropCountry(), 2, 6); return hTable; } public BorderTable getPhoneTable() { BorderTable hTable = new BorderTable(); //hTable.setHeaderText("S�mi"); Table table = new Table(2, 3); hTable.add(table); /* * table.add("Tegund", 1, 1); table.add("N�mer", 1, 2); * * table.add("Tegund", 1, 3); table.add("N�mer", 1, 4); * * table.add("Tegund", 1, 5); table.add("N�mer", 1, 6); */ homePhoneInsert.getInputPhoneNumber().setSize(11); workPhoneInsert.getInputPhoneNumber().setSize(11); gsmInsert.getInputPhoneNumber().setSize(11); table.add(homePhoneInsert.getDropType(), 1, 1); table.add(homePhoneInsert.getInputPhoneNumber(), 2, 1); table.add(workPhoneInsert.getDropType(), 1, 2); table.add(workPhoneInsert.getInputPhoneNumber(), 2, 2); table.add(gsmInsert.getDropType(), 1, 3); table.add(gsmInsert.getInputPhoneNumber(), 2, 3); table.setCellpadding(3); return hTable; } public BorderTable getCardTable() { return cardInsert.getInputTable(); } public BorderTable getMemberTable() { return memberInsert.getInputTable(); } public BorderTable getUnionMemberInfoTable() { return unionMemberInsert.getInputTable(); } public BorderTable getMemberInfoTable() { return this.memInfoInsert.getInputTable(); } /* * public HeaderTable getGroupTable() { return * this.groupInsert.getInputTable(false); } */ public BorderTable getGroupTable() { BorderTable hTable = new BorderTable(); //hTable.setHeaderText("Flokkar"); try { if (eMember != null && iUnionId != -1) {//debug eiki && gimmi Union uni = ((UnionHome) IDOLookup.getHomeLegacy(Union.class)) .findByPrimaryKey(iUnionId); Group[] groupArr = null; Group[] grArr = null; Group theGroup = (Group) IDOLookup.instanciateEntity(Group.class); grArr = (Group[]) theGroup .findAll("select group_.* from group_, union_group, group_member where member_id = '" + eMember.getID() + "' and group_.group_id = group_member.group_id and union_group.group_id = group_member.group_id and union_group.union_id = 3"); groupArr = (Group[]) theGroup .findAll("select group_.* from group_, union_group, group_member where member_id = '" + eMember.getID() + "' and group_.group_id = group_member.group_id and union_group.group_id = group_member.group_id and union_group.union_id = " + uni.getID()); groupArr = joinArrays(grArr, groupArr); Table table = new Table(1, groupArr.length); table.setAlignment("center"); int i = 0; for (; i < groupArr.length; i++) { Text t = new Text(groupArr[i].getName(), true, false, false); t.setFontFace("Arial"); t.setFontSize(2); table.add(t, 1, i + 1); } hTable.add(table); } else { Table empty = new Table(1, 1); empty.add("�a� �arf a� vista ��ur<br>en flokkur er valinn"); hTable.add(empty); } } catch (Exception e) { e.printStackTrace(); } return hTable; } public BorderTable getFamilyTable() throws SQLException, FinderException { BorderTable familyTable = new BorderTable(); UnionMemberInfo uniMem = null; if (eMember != null) { uniMem = eMember.getUnionMemberInfo(iUnionId); if (uniMem != null) { //debug eiki added union_id UnionMemberInfo[] uniarr = (UnionMemberInfo[]) uniMem .findAll("select * from union_member_info where family_id=" + uniMem.getFamilyId() + " and union_id=" + this.iUnionId); Vector vector = new Vector(); for (int k = 0; k < uniarr.length; k++) { if (eMember != null && uniarr[k].getMemberID() != eMember.getID()) vector.addElement(((MemberHome) IDOLookup .getHomeLegacy(Member.class)).findByPrimaryKey(uniarr[k] .getMemberID())); } Table familyInnerTable = new Table(1, vector.size()); for (int i = 0; i < vector.size(); i++) { familyInnerTable.add(new Link(((Member) vector.elementAt(i)) .getName(), modinfo.getRequestURI() + "?member_id=" + ((Member) vector.elementAt(i)).getID()), 1, i + 1); } familyTable.add(familyInnerTable); } } return familyTable; } public BorderTable getUnionsTable() throws SQLException { BorderTable bTable = new BorderTable(); eUMIs = EntityFinder.findAllByColumn((UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "member_id", iMemberId); if (eUMIs != null) { int len = eUMIs.size(); Table T = new Table(3, len); T.setColumnAlignment(1, "left"); T.setColumnAlignment(2, "center"); T.setColumnAlignment(3, "right"); T.setWidth("100%"); //T.add(headerText("Kl�bbur"),1,1); //T.add(headerText("A�ild"),2,1); UnionMemberInfo eUmi; Union eUni; int iUnId; for (int i = 0; i < len; i++) { eUmi = (UnionMemberInfo) eUMIs.get(i); iUnId = eUmi.getUnionID(); eUni = GolfCacher.getCachedUnion(iUnId); Text tAbbrevation = headerText(eUni.getAbbrevation()); Text tStatus = headerText(eUmi.getMemberStatus()); Text tType = headerText(mbsShipMap(eUmi.getMembershipType())); //Text id = bodyText(eUmi.getID()); if (iUnId == this.iUnionId) { tAbbrevation.setFontColor("FF0000"); tType.setFontColor("FF0000"); tStatus.setFontColor("FF0000"); } T.add(tAbbrevation, 1, i + 1); T.add(tStatus, 2, i + 1); T.add(tType, 3, i + 1); //T.add(id,2,i+1); } bTable.add(T); } return bTable; } public BorderTable getStatusTable() { Table T = new Table(); int row = 1; T.setColumnAlignment(1, "left"); T.setColumnAlignment(2, "right"); T.add(iwrb.getLocalizedString("member.status"), 1, 1); T.mergeCells(1, row, 2, row); row++; T.add("A :", 1, row); T.add(iwrb.getLocalizedString("member.active", "Virkur"), 2, row++); T.add("I :", 1, row); T.add(iwrb.getLocalizedString("member.inactive", "�virkur"), 2, row++); T.add("W :", 1, row); T.add(iwrb.getLocalizedString("member.waiting", "� bi�"), 2, row++); T.add("Q :", 1, row); T.add(iwrb.getLocalizedString("member.retired", "H�ttur"), 2, row++); T.add("D :", 1, row); T.add(iwrb.getLocalizedString("member.deceased", "L�tinn"), 2, row++); BorderTable bTable = new BorderTable(); bTable.add(T); return bTable; } public PresentationObject getGroupLinkTable() throws SQLException { //Union uni = new Union(iUnionId); //GroupMemberInsertWindow group = new GroupMemberInsertWindow(eMember, // uni, false); //Link linkInsertGroup = new Link(iwrb.getImage("buttons/find.gif"), // group); //GroupMemberRemoveWindow groupRem = new // GroupMemberRemoveWindow(eMember, uni, false); //Link linkRemoveGroup = new // Link(iwrb.getImage("buttons/detach.gif"),groupRem); //Table T = new Table(2, 1); //T.add(linkInsertGroup, 1, 1); //T.add(linkRemoveGroup, 2, 1); Link link = GroupMemberInsertWindow.getLink(iwrb .getImage("buttons/find.gif"), eMember.getID(), iUnionId, 3); link.setWindowToOpen(GroupMemberInsertWindow.class); Table T = new Table(1, 1); T.add(link, 1, 1); return T; } public PresentationObject getFamilyLinkTable() throws SQLException, FinderException { Table T = new Table(2, 1); FamilyInsertWindow findFam = new FamilyInsertWindow(iMemberId, iUnionId); Link linkFindFamily = new Link(iwrb.getImage("buttons/find.gif"), findFam); FamilyDisconnecterWindow winNewFamily = new FamilyDisconnecterWindow( iMemberId, iUnionId); Link linkNewFamily = new Link(iwrb.getImage("buttons/detach.gif"), winNewFamily); T.add(linkNewFamily, 1, 1); T.add(linkFindFamily, 2, 1); return T; } private String mbsShipMap(String type) { if ("main".equalsIgnoreCase(type)) return iwrb.getLocalizedString("member.main_club", "A�alkl."); else if ("sub".equalsIgnoreCase(type)) return iwrb.getLocalizedString("member.extra_club", "Aukakl."); else return ""; } public Text bodyText(String s) { Text T = new Text(); if (s != null) { T = new Text(s); T.setFontColor(this.DarkColor); T.setFontSize(this.bodyFontSize); T.setBold(); } return T; } public Text bodyText(int i) { return bodyText(String.valueOf(i)); } public Text headerText(String s) { Text T = new Text(); if (s != null) { T = new Text(s); T.setFontColor(this.DarkColor); T.setFontSize(this.fontSize); T.setBold(); } return T; } public Text headerText(int i) { return headerText(String.valueOf(i)); } private Group[] joinArrays(Group[] p1, Group[] p2) { Vector v = new Vector(); for (int i = 0; i < p1.length; i++) { v.add(p1[i]); } for (int i = 0; i < p2.length; i++) { v.add(p2[i]); } Group[] returnEntity = new Group[v.size()]; for (int i = 0; i < v.size(); i++) { returnEntity[i] = (Group) v.get(i); } return returnEntity; } } public class AddressInsert extends EntityInsert { private Address address; private TextInput addressInput; private DropdownMenu zipDrop; private DropdownMenu countryDrop; private String addressName = "AddressInsert_address"; private String zipName = "AddressInsert_zipcode"; private String countryName = "AddressInsert_country"; private String addressValue = null; private String zipValue = null; private String countryValue = null; private boolean isUpdate = false; private void init() { setStyle(addressInput); setStyle(countryDrop); setStyle(zipDrop); } public AddressInsert(IWContext modinfo) { super(modinfo); isUpdate = false; address = (Address) IDOLookup.createLegacy(Address.class); addressInput = new TextInput(addressName); countryDrop = countryDropDown(countryName, "1"); zipDrop = zipDropDown(zipName, "2"); init(); //setVariables(); } public AddressInsert(IWContext modinfo, String addressInputName, String countryDropDownName, String zipCodeDropDownName) { super(modinfo); isUpdate = false; address = (Address) IDOLookup.createLegacy(Address.class); addressName = addressInputName; countryName = countryDropDownName; zipName = zipCodeDropDownName; addressInput = new TextInput(addressName); countryDrop = countryDropDown(countryName, "1"); zipDrop = zipDropDown(zipName, "2"); init(); //setVariables(); } public AddressInsert(IWContext modinfo, int addressId) throws java.sql.SQLException, FinderException { super(modinfo, addressId); isUpdate = true; address = ((AddressHome) IDOLookup.getHomeLegacy(Address.class)) .findByPrimaryKey(addressId); if (address.getStreet() != null) addressInput = new TextInput(addressName, address.getStreet()); else addressInput = new TextInput(addressName, ""); if (address.getCountryId() != -1) countryDrop = countryDropDown(countryName, String.valueOf(address .getCountryId())); else countryDrop = countryDropDown(countryName, "2"); zipDrop = zipDropDown(zipName, String.valueOf(address.getZipcodeId())); init(); //setVariables(); } public AddressInsert(IWContext modinfo, int addressId, String addressInputName, String countryDropDownName, String zipCodeDropDownName) throws java.sql.SQLException, FinderException { super(modinfo, addressId); isUpdate = true; address = ((AddressHome) IDOLookup.getHomeLegacy(Address.class)) .findByPrimaryKey(addressId); addressName = addressInputName; countryName = countryDropDownName; zipName = zipCodeDropDownName; if (address.getStreet() != null) addressInput = new TextInput(addressName, address.getStreet()); else addressInput = new TextInput(addressName, ""); if (address.getCountryId() != -1) countryDrop = countryDropDown(countryName, String.valueOf(address .getCountryId())); else countryDrop = countryDropDown(countryName, "2"); zipDrop = zipDropDown(zipName, String.valueOf(address.getZipcodeId())); init(); //setVariables(); } private DropdownMenu countryDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); try { Country country = ((CountryHome) IDOLookup .getHomeLegacy(Country.class)).findByPrimaryKey(COUNTRY_ID); //Country[] countryArr = (Country[]) country.findAll(); Country[] countryArr = { country}; for (int i = 0; i < countryArr.length; i++) { drp.addMenuElement(countryArr[i].getID(), countryArr[i].getName()); } drp.setSelectedElement(selected); } catch (Exception e) { e.printStackTrace(); } return drp; } private DropdownMenu zipDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); ZipCode zip = (ZipCode) IDOLookup.instanciateEntity(ZipCode.class); try { //ZipCode [] zipArr = (ZipCode[]) zip.findAllOrdered("code"); ZipCode[] zipArr = (ZipCode[]) zip .findAll("select * from zipcode where country_id=" + COUNTRY_ID + " order by code"); for (int i = 0; i < zipArr.length; i++) { drp.addMenuElement(zipArr[i].getID(), zipArr[i].getCode() + " " + zipArr[i].getCity()); } drp.setSelectedElement(selected); } catch (SQLException e) { e.printStackTrace(); } return drp; } public void setVariables() { addressValue = getValue(addressName); zipValue = getValue(zipName); countryValue = getValue(countryName); addressInput.keepStatusOnAction(); zipDrop.keepStatusOnAction(); countryDrop.keepStatusOnAction(); if (addressValue != null) { address.setStreet(addressValue); } if (zipValue != null) { address.setZipcodeId(new Integer(zipValue)); } if (countryValue != null) { address.setCountryId(new Integer(countryValue)); } } public TextInput getInputAddress() { return addressInput; } public DropdownMenu getDropCountry() { return countryDrop; } public DropdownMenu getDropZipcode() { return zipDrop; } public boolean areSomeFieldsEmpty() { return (isEmpty(addressName) || isEmpty(zipName) || isEmpty(countryName)); } public boolean areNeetedFieldsEmpty() { return isEmpty(addressName); } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(addressValue)) { vec.addElement("Heimilisfang"); } if (isInvalid(countryValue)) { vec.addElement("Land"); } if (isInvalid(zipValue)) { vec.addElement("P�stn�mer"); } return vec; } public Vector getNeetedEmptyFields() { setVariables(); Vector vec = new Vector(); if (isInvalid(addressValue)) { vec.addElement("Heimilisfang"); } return vec; } public Address getAddress() { return this.address; } public void store() throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); setVariables(); if (addressValue == null) { return; } if (isUpdate) address.update(); else address.insert(); } /** If to link the address to a member */ public void store(Member member) throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); setVariables(); if (addressValue == null) { return; } if (isUpdate) { if ((address.getStreet() != null) && (!address.getStreet().equals(""))) address.update(); else { address.removeFrom(member); address.delete(); } } else if ((address.getStreet() != null) && (!address.getStreet().equals(""))) { address.insert(); address.addTo(member); } } } public class MemberInsert extends EntityInsert { private Member member; private TextInput inputSocial; private TextInput inputName; private TextInput inputEmail; private TextInput inputJob; private TextInput inputWorkPlace; private DropdownMenu dropGender; private final String inputSocialName = "MemberInsert_sociasecuritynumber"; private final String inputNameName = "MemberInsert_name"; private final String inputEmailName = "MemberInsert_email"; private final String inputJobName = "MemberInsert_job"; private final String inputWorkPlaceName = "MemberInsert_workplace"; private final String dropGenderName = "MemberInsert_gender"; private String inputSocialValue; private String inputNameValue; private String inputEmailValue; private String inputJobValue; private String inputWorkPlaceValue; private String dropGenderValue; private String headerText = "Me�limur"; public boolean debug = true; public MemberInsert(IWContext modinfo) throws java.sql.SQLException { super(modinfo); isUpdate = false; member = (Member) IDOLookup.createLegacy(Member.class); if (debug) { member.setDefaultValues(); // member.setCardId(1); } inputSocial = new TextInput(inputSocialName); if (modinfo.isParameterSet("socialnumber")) inputSocial.setContent(modinfo.getParameter("socialnumber")); inputName = new TextInput(inputNameName); inputName.setAsNotEmpty(iwrb.getLocalizedString( "member.please_insert_name", "Please enter a name")); inputSocial.setAsNotEmpty(iwrb.getLocalizedString( "member.please_insert_ssn", "Please enter Social Security Number")); inputEmail = new TextInput(inputEmailName); inputJob = new TextInput(inputJobName); inputWorkPlace = new TextInput(inputWorkPlaceName); dropGender = genderDrop(dropGenderName, "M"); init(); //setVariables(); } public MemberInsert(IWContext modinfo, int memberId) throws SQLException, FinderException { super(modinfo, memberId); isUpdate = true; member = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(memberId); if (member.getSocialSecurityNumber() != null) inputSocial = new TextInput(inputSocialName, member .getSocialSecurityNumber()); else inputSocial = new TextInput(inputSocialName); if (member.getName() != null) inputName = new TextInput(inputNameName, member.getName()); else inputName = new TextInput(inputNameName); if (member.getEmail() != null) inputEmail = new TextInput(inputEmailName, member.getEmail()); else inputEmail = new TextInput(inputEmailName); if (member.getJob() != null) inputJob = new TextInput(inputJobName, member.getJob()); else inputJob = new TextInput(inputJobName); if (member.getWorkPlace() != null) inputWorkPlace = new TextInput(inputWorkPlaceName, member .getWorkPlace()); else inputWorkPlace = new TextInput(inputWorkPlaceName); if (member.getGender() != null) dropGender = genderDrop(dropGenderName, member.getGender()); else dropGender = genderDrop(dropGenderName, "M"); inputName.setAsNotEmpty("Vinsamlegast settu nafn"); init(); //setVariables(); } private void init() { setStyle(inputSocial); setStyle(inputName); setStyle(inputName); setStyle(inputSocial); setStyle(inputEmail); setStyle(inputJob); setStyle(inputWorkPlace); setStyle(dropGender); } public TextInput getInputSocialSecurityNumber() { return this.inputSocial; } public TextInput getInputMemberName() { return this.inputName; } public TextInput getInputEmail() { return this.inputEmail; } public TextInput getInputJob() { return this.inputJob; } public TextInput getInputWorkPlace() { return this.inputWorkPlace; } public DropdownMenu getDropdownGender() { return dropGender; } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(inputSocialValue)) { vec.addElement("Kennit�lu"); } else if (!SocialSecurityNumber .isValidIcelandicSocialSecurityNumber(inputSocialValue)) { vec.addElement(iwrb.getLocalizedString("member.wrong_ssn", "Invalid social security number")); } if (isInvalid(inputNameValue)) { vec.addElement("Nafn"); } else { Name name = new Name(inputNameValue); if (name.getLastName().equals("")) vec.addElement("Eftirnafn"); } if (isInvalid(inputEmailValue)) { vec.addElement("Netfang"); } if (isInvalid(inputJobValue)) { vec.addElement("Starfsheiti"); } if (isInvalid(inputWorkPlaceValue)) { vec.addElement("Vinnusta�ur"); } if (isInvalid(dropGenderValue)) { vec.addElement("Kyn"); } return vec; } public Vector getNeetedEmptyFields() { setVariables(); Vector vec = new Vector(); if (isInvalid(inputSocialValue)) { vec.addElement("Kennit�lu"); } else if (!SocialSecurityNumber .isValidIcelandicSocialSecurityNumber(inputSocialValue)) { vec.addElement(iwrb.getLocalizedString("member.wrong_ssn", "Invalid social security number")); } if (isInvalid(inputNameValue)) { vec.addElement("Nafn"); } if (isInvalid(dropGenderValue)) { vec.addElement("Kyn"); } return vec; } public boolean areSomeFieldsEmpty() { return (getEmptyFields().size() > 0); } public Member getMember() { return this.member; } public boolean areNeetedFieldsEmpty() { return (getNeetedEmptyFields().size() > 0); } //precondition Have to call getNetedEmptyFields() !!! public void store() throws java.io.IOException, java.sql.SQLException { if (isUpdate()) member.update(); else member.insert(); } public BorderTable getInputTable() { BorderTable hTable = new BorderTable(); //hTable.setHeaderText(headerText); Table table = new Table(2, 6); hTable.add(table); table.add(formatText(iwrb.getLocalizedString("member.name", "Nafn")), 1, 1); table.add(formatText(iwrb.getLocalizedString( "member.social_security_number", "SSN")), 1, 2); table.add(formatText(iwrb.getLocalizedString("member.gender", "Kyn")), 1, 3); table.add( formatText(iwrb.getLocalizedString("member.email", "Netfang")), 1, 4); table.add(formatText(iwrb.getLocalizedString("member.work_title", "Starfsheiti")), 1, 5); table.add(formatText(iwrb.getLocalizedString("member.workplace", "Vinnusta�ur")), 1, 6); table.add(getInputMemberName(), 2, 1); table.add(getInputSocialSecurityNumber(), 2, 2); table.add(getDropdownGender(), 2, 3); table.add(getInputEmail(), 2, 4); table.add(getInputJob(), 2, 5); table.add(getInputWorkPlace(), 2, 6); return hTable; } public void showInputForm() throws java.io.IOException, java.sql.SQLException { PrintWriter out = modinfo.getResponse().getWriter(); try { Table table = new Table(2, 7); //table.setBorder(1); Form form = new Form(); form.setAction(modinfo.getRequest().getRequestURI() + "?cmd=submit"); table.add("Nafn", 1, 1); table.add(iwrb.getLocalizedString("member.social_security_number", "SSN"), 1, 2); table.add("Kyn", 1, 3); table.add("Netfang", 1, 4); table.add("Starfsheit", 1, 5); table.add("Vinnusta�ur", 1, 6); table.add(getInputMemberName(), 2, 1); table.add(getInputSocialSecurityNumber(), 2, 2); table.add(getDropdownGender(), 2, 3); table.add(getInputEmail(), 2, 4); table.add(getInputJob(), 2, 5); table.add(getInputWorkPlace(), 2, 6); table.add(new SubmitButton(), 2, 7); if (getValue("cmd") != null && getValue("cmd").equalsIgnoreCase("submit")) { store(); } form.add(table); add(form); } catch (SQLException e) { out.println(e.getMessage()); e.printStackTrace(out); } catch (Exception er) { out.println(er.getMessage()); er.printStackTrace(out); } } public void setVariables() { inputSocialValue = getValue(inputSocialName); inputNameValue = getValue(inputNameName); inputEmailValue = getValue(inputEmailName); inputJobValue = getValue(inputJobName); inputWorkPlaceValue = getValue(inputWorkPlaceName); dropGenderValue = getValue(dropGenderName); setEntity(); } private void setEntity() { if (!isInvalid(inputSocialValue)) { if (SocialSecurityNumber .isValidIcelandicSocialSecurityNumber(inputSocialValue)) { member.setSocialSecurityNumber(inputSocialValue); member.setDateOfBirth(SocialSecurityNumber .getDateFromSocialSecurityNumber(inputSocialValue)); } } if (!isInvalid(inputNameValue)) { Name name = new Name(inputNameValue); member.setFirstName(name.getFirstName()); member.setMiddleName(name.getMiddleName()); member.setLastName(name.getLastName()); } if (inputEmailValue != null) { member.setEmail(inputEmailValue); } if (inputJobValue != null) { member.setJob(inputJobValue); } if (inputWorkPlaceValue != null) { member.setWorkPlace(inputWorkPlaceValue); } if (dropGenderValue != null) { member.setGender(dropGenderValue); } } public DropdownMenu genderDrop(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("M", iwrb.getLocalizedString("member.male", "KK")); drp .addMenuElement("F", iwrb .getLocalizedString("member.female", "KVK")); drp.setSelectedElement(selected); return drp; } } public class UnionMemberInfoInsert extends EntityInsert { private UnionMemberInfo member; private Member eMember = null; private TextInput inputMemberNumber; private DropdownMenu dropMemberShipType; private DropdownMenu dropFamilyStatus; private DropdownMenu dropNumberOfPaiments; private TextInput inputLocker; private DateInput dateInputFirstPayday; private TextArea areaComment; private DropdownMenu dropVisible; private DropdownMenu dropPaymentTypes; private DropdownMenu dropCatalogue; private DropdownMenu dropActive; private HiddenInput hmbstype; private boolean mbshpChange = false; private final String inputMemberNumberName = "UnionMemberInfoInsert_member_number"; private final String dropMemberShipTypeName = "UnionMemberInfoInsert_mbshiptype"; private final String dropFamilyStatusName = "UnionMemberInfoInsert_family_status"; private final String dropNumberOfPaimentsName = "UnionMemberInfoInsert_numpayments"; private final String inputLockerName = "UnionMemberInfoInsert_locker"; private final String dateInputFirstPaydayName = "UnionMemberInfoInsert_firstpayday"; private final String areaCommentName = "UnionMemberInfoInsert_comment"; private final String dropVisibleName = "UnionMemberInfoInsert_isvisible"; private final String dropPaymentTypesName = "UnionMemberInfoInsert_paymenttypes"; private final String dropCatalogueName = "UnionMemberInfoInsert_catalogue"; private final String dropActiveName = "UnionMemberInfoInsert_isactive"; private String inputMemberNumberValue; private String dropMemberShipTypeValue; private String dropFamilyStatusValue; private String dropNumberOfPaimentsValue; private String inputLockerValue; private Date dateInputFirstPaydayValue; private String areaCommentValue; private String dropVisibleValue; private String dropPaymentTypesValue; private String dropCatalogueValue; private String dropActiveValue; public UnionMemberInfoInsert(IWContext modinfo) throws java.sql.SQLException { super(modinfo); isUpdate = false; GregorianCalendar cal = new GregorianCalendar(); dateInputFirstPayday = new DateInput(dateInputFirstPaydayName, true); dateInputFirstPayday.setDay(1); dateInputFirstPayday.setMonth(2); //dateInputFirstPayday.setYearRange(cal.get(cal.YEAR), // cal.get(cal.YEAR)); dateInputFirstPayday.setYear(cal.get(cal.YEAR)); member = (UnionMemberInfo) IDOLookup .createLegacy(UnionMemberInfo.class); member.setRegistrationDate(new Date(System.currentTimeMillis())); inputMemberNumber = new TextInput(inputMemberNumberName); inputMemberNumber.setLength(4); inputLocker = new TextInput(inputLockerName); inputLocker.setSize(8); areaComment = new TextArea(areaCommentName); dropMemberShipType = mbshiptypeDropdown(dropMemberShipTypeName, "main"); hmbstype = new HiddenInput("hmbstype", ""); dropVisible = visibleDropdown(dropVisibleName, "Y"); dropPaymentTypes = paymentTypeDrop(dropPaymentTypesName, "1"); dropCatalogue = catalogueDrop(dropCatalogueName, "0"); dropActive = activeDropdown(dropActiveName, "A"); dropNumberOfPaiments = numberOfPaymentDrop(dropNumberOfPaimentsName, "0"); dropFamilyStatus = familyStatusDropdown(dropFamilyStatusName, "head"); init(); //setVariables(); } public UnionMemberInfoInsert(IWContext modinfo, int unionMemInfoId, int memberID, int unionID) throws SQLException, FinderException { super(modinfo, unionMemInfoId); isUpdate = true; GregorianCalendar cal = new GregorianCalendar(); member = ((UnionMemberInfoHome) IDOLookup .getHomeLegacy(UnionMemberInfo.class)) .findByPrimaryKey(unionMemInfoId); eMember = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(memberID); setMemberId(memberID); setUnionId(unionID); dateInputFirstPayday = new DateInput(dateInputFirstPaydayName, true); //dateInputFirstPayday.setYearRange(cal.get(cal.YEAR), // cal.get(cal.YEAR)); dateInputFirstPayday.setYear(cal.get(cal.YEAR)); if (member.getMemberStatus() != null) { //debug dropActive = activeDropdown(dropActiveName, member.getMemberStatus()); //dropActive = activeDropdown(dropActiveName, "A"); } else dropActive = activeDropdown(dropActiveName, "A"); if (member.getFamilyStatus() != null) dropFamilyStatus = familyStatusDropdown(dropFamilyStatusName, member .getFamilyStatus()); else dropFamilyStatus = familyStatusDropdown(dropFamilyStatusName, "head"); if (member.getPreferredInstallmentNr() != -1) dropNumberOfPaiments = numberOfPaymentDrop(dropNumberOfPaimentsName, String.valueOf(member.getPreferredInstallmentNr())); else dropNumberOfPaiments = numberOfPaymentDrop(dropNumberOfPaimentsName, "0"); if (member.getLockerNumber() != null) inputLocker = new TextInput(inputLockerName, member.getLockerNumber()); else inputLocker = new TextInput(inputLockerName); if (member.getComment() != null) areaComment = new TextArea(areaCommentName, member.getComment()); else areaComment = new TextArea(areaCommentName); if (member.getVisible()) dropVisible = visibleDropdown(dropVisibleName, "Y"); else dropVisible = visibleDropdown(dropVisibleName, "N"); if (member.getPaymentTypeID() != -1) dropPaymentTypes = paymentTypeDrop(dropPaymentTypesName, String .valueOf(member.getPaymentTypeID())); else dropPaymentTypes = paymentTypeDrop(dropPaymentTypesName, "1"); if (member.getFirstInstallmentDate() != null) { dateInputFirstPayday.setDate(member.getFirstInstallmentDate()); } else { dateInputFirstPayday.setDay(1); dateInputFirstPayday.setMonth(2); } if (member.getMembershipType() != null) { dropMemberShipType = mbshiptypeDropdown(dropMemberShipTypeName, member.getMembershipType()); hmbstype = new HiddenInput("hmbstype", member.getMembershipType()); } else { dropMemberShipType = mbshiptypeDropdown(dropMemberShipTypeName, "main"); hmbstype = new HiddenInput("hmbstype", ""); } String mn = String.valueOf(member.getMemberNumber()); inputMemberNumber = new TextInput(inputMemberNumberName, mn); inputMemberNumber.setLength(4); inputLocker.setSize(8); dropCatalogue = catalogueDrop(dropCatalogueName, String.valueOf(member .getPriceCatalogueID())); init(); } private void init() { dateInputFirstPayday.setStyle(this.styleAttribute); setStyle(inputMemberNumber); setStyle(inputLocker); setStyle(areaComment); setStyle(dropMemberShipType); setStyle(dropPaymentTypes); setStyle(dropVisible); setStyle(dropCatalogue); setStyle(dropActive); setStyle(dropNumberOfPaiments); setStyle(dropFamilyStatus); } public TextInput getInputMemberNumber() { return inputMemberNumber; } public UnionMemberInfo getUnionMemberInfo() { return member; } public void setUnionId(int id) { this.member.setUnionID(id); } public void setMemberId(int id) { this.member.setMemberID(id); } public void setCardId(int id) { this.member.setCardId(id); } //debug added by eiki public void setMemberStatus(String status) { this.member.setMemberStatus(status); } //debug added by eiki public void setMembershipType(String type) { this.member.setMembershipType(type); } public DropdownMenu getDropdownNumberOfPayments() { return this.dropNumberOfPaiments; } public DropdownMenu getDropdownFamilyStatus() { return this.dropFamilyStatus; } public TextInput getInputLocker() { return this.inputLocker; } public DateInput getDateInputFirstPaymentDate() { return dateInputFirstPayday; } public DropdownMenu getDropVisible() { return this.dropVisible; } public DropdownMenu getDropCatalogue() { return dropCatalogue; } public DropdownMenu getDropMemberStatus() { return dropActive; } public DropdownMenu getDropMemberShipType() { return dropMemberShipType; } public DropdownMenu getDropdownPaymentType() { return dropPaymentTypes; } public TextArea getAreaComment() { return areaComment; } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(inputLockerValue)) { vec.addElement("Sk�pan�mer"); } if (!isDateInputValid(dateInputFirstPaydayName)) { vec.addElement("Dagsetning fyrstu afborgunar"); } return vec; } public Vector getNeetedEmptyFields() { return new Vector(); } public boolean areSomeFieldsEmpty() { return (getEmptyFields().size() > 0); } public boolean areNeetedFieldsEmpty() { return (getNeetedEmptyFields().size() > 0); } public void store() throws java.io.IOException, java.sql.SQLException { setVariables(); if (isUpdate()) member.update(); else { if (member.getUnionID() == 0 || member.getUnionID() == -1 || member.getMemberID() == 0 || member.getMemberID() == -1) throw new SQLException( "Vantar UNION_ID OG/E�A MEMBER_ID GILDI A KALLINN"); int nextNumber = member.getMaxColumnValue("member_number", "union_id", String.valueOf(member.getUnionID())); nextNumber++; member.setMemberNumber(nextNumber); member.insert(); } } public BorderTable getInputTable() { Table table = null; Image obj = new Image("/pics/formtakks/edit.gif"); Window pcWindow = new Window("Pricecatalogue", 400, 400, "/tarif/pcmake.jsp"); pcWindow.setScrollbar(false); pcWindow.setResizable(true); pcWindow.setParentToReload(); Link sidan = new Link(obj, pcWindow); sidan.addParameter("catal_action", "main"); sidan.addParameter("union_id", String.valueOf(member.getUnionID())); Link link = Tariffer.getExtraCatalogueLink("Skr� Gjaldflokk", String .valueOf(member.getUnionID())); link.setObject(new Image("/pics/formtakks/edit.gif")); if (isUpdate()) { table = new Table(2, 8); table.add(formatText(iwrb .getLocalizedString("member.number", "N�mer")), 1, 1); table.add(formatText(iwrb .getLocalizedString("member.status", "Sta�a")), 1, 2); table.add(formatText(iwrb.getLocalizedString("member.payments", "Grei�slur")), 1, 3); table.add(formatText(iwrb.getLocalizedString("member.first_payment", "1.Gjaldd.")), 1, 4); //table.add(formatText("Grei�slum�ti"), 1, 5); table.add(formatText(iwrb.getLocalizedString("member.web", "Vefur")), 1, 5); table.add(formatText(iwrb.getLocalizedString("member.locker", "Sk�pur")), 1, 6); table.add(formatText(iwrb.getLocalizedString("member.family_status", "Fj.sta�a")), 1, 7); table.add(formatText(iwrb.getLocalizedString("member.special_price", "S�rgjald")), 1, 8); table.add(getInputMemberNumber(), 2, 1); table.add(getDropMemberStatus(), 2, 2); table.add(getDropMemberShipType(), 2, 2); table.add(hmbstype, 2, 2); table.add(getDropdownNumberOfPayments(), 2, 3); table.add(getDropdownPaymentType(), 2, 3); table.add(getDateInputFirstPaymentDate(), 2, 4); table.add(getDropVisible(), 2, 5); table.add(getInputLocker(), 2, 6); table.add(getDropdownFamilyStatus(), 2, 7); table.add(getDropCatalogue(), 2, 8); //table.add(link, 2, 8); table.add(sidan, 2, 8); } else { table = new Table(2, 8); table.add(formatText(iwrb .getLocalizedString("member.status", "Sta�a")), 1, 2); table.add(formatText(iwrb.getLocalizedString("member.payments", "Grei�slur")), 1, 3); table.add(formatText(iwrb.getLocalizedString("member.first_payment", "1.Gjaldd.")), 1, 4); //table.add(formatText("Grei�slum�ti"), 1, 4); table.add(formatText(iwrb.getLocalizedString("member.web", "Vefur")), 1, 5); table.add(formatText(iwrb.getLocalizedString("member.locker", "Sk�pur")), 1, 6); table.add(formatText(iwrb.getLocalizedString("member.family_status", "Fj.sta�a")), 1, 7); table.add(formatText(iwrb.getLocalizedString("member.special_price", "S�rgjald")), 1, 8); table.add(getDropMemberStatus(), 2, 2); table.add(getDropMemberShipType(), 2, 2); table.add(hmbstype, 2, 2); table.add(getDropdownNumberOfPayments(), 2, 3); table.add(getDropdownPaymentType(), 2, 3); table.add(getDateInputFirstPaymentDate(), 2, 4); table.add(getDropVisible(), 2, 5); table.add(getInputLocker(), 2, 6); table.add(getDropdownFamilyStatus(), 2, 7); table.add(getDropCatalogue(), 2, 8); //table.add(link, 2, 8); table.add(sidan, 2, 8); } BorderTable hTable = new BorderTable(); //hTable.setHeaderText("F�lags uppl�singar"); hTable.add(table); return hTable; } public void setVariables() { inputMemberNumberValue = getValue(inputMemberNumberName); dropMemberShipTypeValue = getValue(dropMemberShipTypeName); String hmbshp = getValue("hmbstype"); mbshpChange = dropMemberShipTypeValue.equalsIgnoreCase(hmbshp) ? false : true; dropNumberOfPaimentsValue = getValue(dropNumberOfPaimentsName); inputLockerValue = getValue(inputLockerName); dateInputFirstPaydayValue = getDateFromInput(dateInputFirstPaydayName); areaCommentValue = getValue(areaCommentName); dropVisibleValue = getValue(dropVisibleName); dropPaymentTypesValue = getValue(dropPaymentTypesName); dropCatalogueValue = getValue(dropCatalogueName); dropActiveValue = getValue(dropActiveName); dropFamilyStatusValue = getValue(dropFamilyStatusName); setEntity(); } private void setEntity() { if (!isInvalid(dropNumberOfPaimentsValue)) { if (isDigitOnly(dropNumberOfPaimentsValue)) member.setPreferredInstallmentNr(new Integer( dropNumberOfPaimentsValue)); } if (inputMemberNumberValue != null) { try { int number = Integer.parseInt(inputMemberNumberValue); member.setMemberNumber(number); } catch (NumberFormatException ex) { System.err.println("membernumber not integer:"); ex.printStackTrace(); } } if (inputLockerValue != null) { member.setLockerNumber(inputLockerValue); } if (dateInputFirstPaydayValue != null) { member.setFirstInstallmentDate(dateInputFirstPaydayValue); } /* * if (! isInvalid(areaCommentValue)) { * member.setComment(areaCommentValue); } */ if (!isInvalid(dropVisibleValue)) { if (dropVisibleValue.equalsIgnoreCase("Y")) member.setVisible(true); else member.setVisible(false); } if (!isInvalid(dropPaymentTypesValue)) { member.setPaymentTypeID(new Integer(dropPaymentTypesValue)); } if (!isInvalid(dropCatalogueValue)) { member.setPriceCatalogueID(Integer.parseInt(dropCatalogueValue)); } member.setMembershipType(dropMemberShipTypeValue); if (mbshpChange && eMember != null) { try { eMember.setMainUnion(member.getUnionID()); } catch (SQLException ex) { System.err.println("club changes fail"); } } member.setMemberStatus(dropActiveValue); member.setFamilyStatus(dropFamilyStatusValue); } public DropdownMenu paymentTypeDrop(String name, String selected) throws java.sql.SQLException { DropdownMenu drp = new DropdownMenu(name); PaymentType type = (PaymentType) IDOLookup .instanciateEntity(PaymentType.class); PaymentType[] types = (PaymentType[]) type.findAll(); for (int i = 0; i < types.length; i++) { String sname = types[i].getName(); if (sname.length() > 5) sname = sname.substring(0, 5); drp.addMenuElement(types[i].getID(), sname); } drp.setSelectedElement(selected); return drp; } public DropdownMenu catalogueDrop(String name, String selected) throws java.sql.SQLException { if (selected.equals("-1")) selected = "0"; DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement(0, "-----"); List list = Tariffer.getExtraCatalogList(String.valueOf(member .getUnionID())); if (list != null) { ListIterator iter = list.listIterator(); PriceCatalogue cate = null; String sname; while (iter.hasNext()) { cate = (PriceCatalogue) iter.next(); sname = cate.getName(); if (sname.length() > 15) sname = sname.substring(0, 15) + ".."; drp.addMenuElement(cate.getID(), sname); } drp.setSelectedElement(selected); } return drp; } public DropdownMenu numberOfPaymentDrop(String name, String selected) throws java.sql.SQLException { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement(0, "--"); for (int i = 1; i < 13; i++) { drp.addMenuElement(i, String.valueOf(i)); } drp.setSelectedElement(selected); return drp; } public DropdownMenu mbshiptypeDropdown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("main", iwrb.getLocalizedString("member.main_club", "A�alkl.")); drp.addMenuElement("sub", iwrb.getLocalizedString("member.extra_club", "Aukakl.")); drp.setSelectedElement(selected); return drp; } public DropdownMenu activeDropdown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("A", iwrb.getLocalizedString("member.active", "Virkur")); drp.addMenuElement("I", iwrb.getLocalizedString("member.inactive", "�virkur")); drp.addMenuElement("W", iwrb.getLocalizedString("member.waiting", "� bi�")); drp.addMenuElement("Q", iwrb.getLocalizedString("member.retired", "H�ttur")); drp.addMenuElement("D", iwrb.getLocalizedString("member.deceased", "L�tinn")); drp.setSelectedElement(selected); return drp; } public DropdownMenu familyStatusDropdown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("head", iwrb.getLocalizedString("member.head", "H�fu�")); drp.addMenuElement("partner", iwrb.getLocalizedString("member.spouse", "Maki")); drp.addMenuElement("child", iwrb.getLocalizedString("member.child", "Barn")); drp.setSelectedElement(selected); return drp; } public DropdownMenu visibleDropdown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("Y", iwrb.getLocalizedString("member.visible", "Sj�st � vef")); drp.addMenuElement("N", iwrb.getLocalizedString("member.not_visible", "Ekki sj�st � vef")); drp.setSelectedElement(selected); return drp; } } public class PhoneInsert extends EntityInsert { private Phone phone; private String phoneNumberName = "PhoneInsert_phonenumber"; private String countryName = "PhoneInsert_country"; private String typeName = "PhoneInsert_phonetype"; private TextInput inputPhoneNumber; private DropdownMenu countryDrop; private DropdownMenu typeDrop; private String phoneNumberValue; private String countryValue = "1"; private String typeValue = "1"; private String phoneType = "S�mi"; private String headerText = "S�mi"; public PhoneInsert(IWContext modinfo) { super(modinfo); isUpdate = false; phone = (Phone) IDOLookup.createLegacy(Phone.class); phone.setDefaultValues(); inputPhoneNumber = new TextInput(phoneNumberName); countryDrop = countryDropDown(countryName, "1"); typeDrop = typeDropDown(typeName, "1"); init(); //setVariables(); } public PhoneInsert(IWContext modinfo, String inputPhoneName, String dropdownTypeName) { super(modinfo); isUpdate = false; phone = (Phone) IDOLookup.createLegacy(Phone.class); phone.setDefaultValues(); phoneNumberName = inputPhoneName; typeName = dropdownTypeName; inputPhoneNumber = new TextInput(phoneNumberName); countryDrop = countryDropDown(countryName, "1"); typeDrop = typeDropDown(typeName, "1"); init(); //setVariables(); } public PhoneInsert(IWContext modinfo, String inputPhoneName, String countryDropName, String dropdownTypeName) { super(modinfo); isUpdate = false; phone = (Phone) IDOLookup.createLegacy(Phone.class); phone.setDefaultValues(); phoneNumberName = inputPhoneName; typeName = dropdownTypeName; countryName = countryDropName; inputPhoneNumber = new TextInput(phoneNumberName); countryDrop = countryDropDown(countryName, "1"); typeDrop = typeDropDown(typeName, "1"); init(); //setVariables(); } public PhoneInsert(IWContext modinfo, int phoneId) throws java.sql.SQLException, FinderException { super(modinfo, phoneId); isUpdate = true; phone = ((PhoneHome) IDOLookup.getHomeLegacy(Phone.class)) .findByPrimaryKey(phoneId); phone.setDefaultValues(); inputPhoneNumber = new TextInput(phoneNumberName, phone.getNumber()); countryDrop = countryDropDown(countryName, String.valueOf(phone .getCountryId())); if (phone.getPhoneTypeId() != -1) typeDrop = typeDropDown(typeName, String.valueOf(phone .getPhoneTypeId())); else typeDrop = typeDropDown(typeName, "1"); init(); //setVariables(); } public PhoneInsert(IWContext modinfo, int phoneId, String inputPhoneName, String countryDropName, String dropdownTypeName) throws java.sql.SQLException, FinderException { super(modinfo, phoneId); isUpdate = true; phone = ((PhoneHome) IDOLookup.getHomeLegacy(Phone.class)) .findByPrimaryKey(phoneId); phone.setDefaultValues(); phoneNumberName = inputPhoneName; typeName = dropdownTypeName; countryName = countryDropName; inputPhoneNumber = new TextInput(phoneNumberName, phone.getNumber()); countryDrop = countryDropDown(countryName, String.valueOf(phone .getCountryId())); if (phone.getPhoneTypeId() != -1) typeDrop = typeDropDown(typeName, String.valueOf(phone .getPhoneTypeId())); else typeDrop = typeDropDown(typeName, "1"); init(); //setVariables(); } private void init() { setStyle(inputPhoneNumber); setStyle(countryDrop); setStyle(typeDrop); } public boolean areNeetedFieldsEmpty() { return isEmpty(phoneNumberName); } public Vector getNeetedEmptyFields() { Vector vec = new Vector(); if (isInvalid(phoneNumberValue)) { vec.addElement(phoneType); } return vec; } public TextInput getInputPhoneNumber() { return inputPhoneNumber; } public DropdownMenu getDropCountry() { return countryDrop; } public DropdownMenu getDropType() { return this.typeDrop; } public boolean areAllFieldsEmpty() { return (isEmpty(phoneNumberName) && isEmpty(countryName) && isEmpty(typeName)); } public boolean areSomeFieldsEmpty() { return areAllFieldsEmpty(); } public void setPhoneType(String phoneType) { this.phoneType = phoneType; } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(phoneNumberValue)) { vec.addElement(phoneType); } return vec; } public void showInputForm() throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); try { Table table = new Table(2, 3); Form form = new Form(); form.setAction(modinfo.getRequest().getRequestURI() + "?cmd=submit"); table.add("Tegund", 1, 1); table.add("N�mer", 1, 2); table.add(getDropType(), 2, 1); table.add(getInputPhoneNumber(), 2, 2); table.add(new SubmitButton(), 2, 3); if (getValue("cmd") != null && getValue("cmd").equalsIgnoreCase("submit")) { this.store(); } //modinfo.getResponse().sendRedirect(modinfo.); form.add(table); add(form); } catch (SQLException e) { out.println(e.getMessage()); e.printStackTrace(out); } catch (Exception er) { out.println(er.getMessage()); er.printStackTrace(out); } } public HeaderTable getInputTable(boolean submitButton) { HeaderTable hTable = new HeaderTable(); hTable.setHeaderText(headerText); Table table = new Table(2, 3); hTable.add(table); table.add("Tegund", 1, 1); table.add("N�mer", 1, 2); table.add(getDropType(), 2, 1); table.add(getInputPhoneNumber(), 2, 2); if (submitButton) table.add(new SubmitButton(), 2, 3); return hTable; } public void store() throws SQLException, IOException { setVariables(); if (phoneNumberValue == null) { return; } else if (isUpdate()) { phone.update(); } else { phone.insert(); } } public void store(Member member) throws SQLException, IOException { setVariables(); if (phoneNumberValue == null) { return; } else if (isUpdate()) { if ((phone.getNumber() != null) && (!phone.getNumber().equals(""))) { phone.update(); } else { phone.removeFrom(member); phone.delete(); } } else if ((phone.getNumber() != null) && (!phone.getNumber().equals(""))) { phone.insert(); phone.addTo(member); } } public void setVariables() { phoneNumberValue = getValue(phoneNumberName); typeValue = getValue(typeName); if (!isInvalid(typeValue)) phone.setPhoneTypeId(Integer.parseInt(typeValue)); if (phoneNumberValue != null) { phone.setNumber(phoneNumberValue); } else phone.setNumber(""); phone.setCountryId(new Integer(countryValue)); } private DropdownMenu countryDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); Country country = (Country) IDOLookup.instanciateEntity(Country.class); try { Country[] countryArr = (Country[]) country.findAll(); for (int i = 0; i < countryArr.length; i++) { drp.addMenuElement(countryArr[i].getID(), countryArr[i].getName()); } drp.setSelectedElement(selected); } catch (Exception e) { e.printStackTrace(); } return drp; } private DropdownMenu typeDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); PhoneType type = (PhoneType) IDOLookup .instanciateEntity(PhoneType.class); try { PhoneType[] typeArr = (PhoneType[]) type.findAll(); for (int i = 0; i < typeArr.length; i++) { drp.addMenuElement(String.valueOf(typeArr[i].getID()), typeArr[i] .getName()); } drp.setSelectedElement(selected); } catch (Exception e) { e.printStackTrace(); } return drp; } } public class CardInsert extends EntityInsert { private Card card; private TextInput nameInput; private TextInput socialInput; private TextInput numberInput; private DropdownMenu typeDrop; private DropdownMenu expireMonth; private DropdownMenu expireYear; private String ownarName = "CardInsert_name"; private String socialName = "CardInsert_social"; private String numberName = "CardInsert_number"; private String typeName = "CardInsert_type"; private String expireMonthName = "CardInsert_expiremonth"; private String expireYearName = "CardInsert_expireyear"; private String ownarValue = null; private String socialValue = null; private String numberValue = null; private String typeValue = null; private String expireMonthValue = null; private String expireYearValue = null; private String headerText = "Kortauppl�singar"; public CardInsert(IWContext modinfo) { super(modinfo); card = (Card) IDOLookup.createLegacy(Card.class); nameInput = new TextInput(ownarName); setStyle(nameInput); socialInput = new TextInput(socialName); setStyle(socialInput); numberInput = new TextInput(numberName); setStyle(numberInput); typeDrop = typeDropDown(typeName, ""); setStyle(typeDrop); setExireDate(null); isUpdate = false; } public CardInsert(IWContext modinfo, int cardId) throws SQLException, FinderException { super(modinfo, cardId); card = ((CardHome) IDOLookup.getHomeLegacy(Card.class)) .findByPrimaryKey(cardId); if (card.getName() != null) nameInput = new TextInput(ownarName, card.getName()); else nameInput = new TextInput(ownarName); if (card.getSocialSecurityNumber() != null) socialInput = new TextInput(socialName, card .getSocialSecurityNumber()); else socialInput = new TextInput(socialName); if (card.getCardNumber() != null) numberInput = new TextInput(numberName, card.getCardNumber()); else numberInput = new TextInput(numberName); if (card.getCardType() != null) typeDrop = typeDropDown(typeName, card.getCardType()); else typeDrop = typeDropDown(typeName, ""); setExireDate(card.getExpireDate()); setStyle(nameInput); setStyle(socialInput); setStyle(numberInput); setStyle(typeDrop); setStyle(expireMonth); setStyle(expireYear); isUpdate = true; } private void setExireDate(java.sql.Date date) { GregorianCalendar cal = new GregorianCalendar(); if (date != null) { IWTimestamp stamp = new IWTimestamp(date); expireMonth = monthDropDown(expireMonthName, String.valueOf(stamp .getMonth())); expireYear = yearDropDown(expireYearName, String.valueOf(stamp .getYear()), (cal.get(Calendar.YEAR) - 5), (cal .get(Calendar.YEAR) + 3)); } else { expireMonth = monthDropDown(expireMonthName, ""); expireYear = yearDropDown(expireYearName, "", (cal.get(Calendar.YEAR) - 5), (cal.get(Calendar.YEAR) + 3)); } } public Card getCard() { return card; } public TextInput getNameInput() { return this.nameInput; } public TextInput getSocialSequrityNumberInput() { return this.socialInput; } public TextInput getNumberInput() { return this.numberInput; } public DropdownMenu getDropYear() { return this.expireYear; } public DropdownMenu getDropMonth() { return this.expireMonth; } public DropdownMenu getTypeDrop() { return this.typeDrop; } public boolean areNeetedFieldsEmpty() { if (areAllFieldsEmpty()) return false; else return areSomeFieldsEmpty(); } public boolean areAllFieldsEmpty() { boolean isEmpty = true; isEmpty = (isInvalid(expireMonthValue) && isInvalid(expireYearValue)/* * expireValue == * null */ && isEmpty(ownarName) && isEmpty(numberName) && isEmpty(socialName) && isEmpty(typeName)); return isEmpty; } public boolean areSomeFieldsEmpty() { return (isInvalid(expireMonthValue) || isInvalid(expireYearValue) || (ownarValue == null) || (numberValue == null) || (socialValue == null) || (typeValue == null) || !ownarValue.equals("") || !numberValue.equals("") || !socialValue.equals("") || !typeValue.equals("")); } public void setVariables() { ownarValue = getValue(ownarName); numberValue = getValue(numberName); socialValue = getValue(socialName); typeValue = getValue(typeName); expireMonthValue = getValue(expireMonthName); expireYearValue = getValue(expireYearName); if (numberValue != null) { card.setCardNumber(numberValue); } if (!isInvalid(expireMonthValue) && !isInvalid(expireYearValue)) { IWTimestamp stamp = new IWTimestamp(1, Integer .parseInt(expireMonthValue), Integer.parseInt(expireYearValue)); card.setExpireDate(stamp.getSQLDate()); } if (typeValue != null) { card.setCardType(typeValue); } if (ownarValue != null) { card.setName(ownarValue); } if (numberValue != null) { card.setCardNumber(numberValue); } if (socialValue != null) { card.setSocialSecurityNumber(socialValue); } } public Vector getNeetedEmptyFields() { return getEmptyFields(); } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(expireMonthValue) || isInvalid(expireYearValue)) { vec.addElement("Gildist�mi"); } if (isInvalid(ownarValue)) { vec.addElement("Korthafi"); } if (isInvalid(numberValue)) { vec.addElement("Kortan�mer"); } if (isInvalid(socialValue)) { vec.addElement(iwrb.getLocalizedString( "member.social_security_number", "SSN")); } if (isInvalid(typeValue)) { vec.addElement("Tegund korts"); } return vec; } public void store() throws SQLException, IOException { setVariables(); Vector vError = getEmptyFields(); int errSize = vError.size(); if ((!isUpdate) && errSize == 5) { return; } else if ((!isUpdate) && errSize > 0) { return; } if (isUpdate) { card.update(); } else { card.insert(); } } public void showInputForm() throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); try { HeaderTable hTable = new HeaderTable(); hTable.setHeaderText(headerText); Form form = new Form(); Table table = new Table(2, 6); form.add(table); hTable.add(form); table.add(iwrb.getLocalizedString("member.social_security_number", "SSN"), 1, 1); table.add(getSocialSequrityNumberInput(), 2, 1); table.add("Gildist�mi", 1, 2); table.add(getDropMonth(), 2, 2); table.add(getDropYear(), 2, 2); table.add("Korthafi", 1, 3); table.add(getNameInput(), 2, 3); table.add("Kortan�mer", 1, 4); table.add(getNumberInput(), 2, 4); table.add("Tegund", 1, 5); table.add(getTypeDrop(), 2, 5); table.add(new SubmitButton("Vista"), 2, 6); form.add(new Parameter("cmd", "submit")); if (getValue("cmd") != null && getValue("cmd").equalsIgnoreCase("submit")) { store(); if (card.getID() != -1) form.add(new Parameter("card_id", "" + card.getID())); } modinfo.getRequest().removeAttribute("cmd"); add(hTable); } catch (SQLException e) { out.println(e.getMessage()); e.printStackTrace(out); } catch (Exception er) { out.println(er.getMessage()); er.printStackTrace(out); } } public BorderTable getInputTable() { BorderTable hTable = new BorderTable(); //hTable.setHeaderText(headerText); Table table = new Table(2, 5); hTable.add(table); table.add(formatText(iwrb.getLocalizedString( "member.social_security_number", "Kennitala")), 1, 1); table.add(getSocialSequrityNumberInput(), 2, 1); table.add(formatText(iwrb.getLocalizedString("member.valid_through", "Gildist�mi")), 1, 2); table.add(getDropMonth(), 2, 2); table.add(getDropYear(), 2, 2); table.add(formatText(iwrb.getLocalizedString("member.card_owner", "Korthafi")), 1, 3); table.add(getNameInput(), 2, 3); table.add(formatText(iwrb.getLocalizedString("member.card_number", "Kortan�mer")), 1, 4); table.add(getNumberInput(), 2, 4); table.add(formatText(iwrb.getLocalizedString("member.card_type", "Tegund")), 1, 5); table.add(getTypeDrop(), 2, 5); return hTable; } private DropdownMenu monthDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); String month = null; drp.addMenuElement("1", "M�n."); for (int i = 1; i < 13; i++) { if (i < 10) month = "0" + i; else month = String.valueOf(i); drp.addMenuElement(String.valueOf(i), month); } drp.setSelectedElement(selected); return drp; } private DropdownMenu yearDropDown(String name, String selected, int from, int to) { DropdownMenu drp = new DropdownMenu(name); int year = IWTimestamp.RightNow().getYear() + 1; drp.addMenuElement(String.valueOf(year), iwrb.getLocalizedString( "member.year", "�r")); for (int i = from; i <= to; i++) { drp.addMenuElement(String.valueOf(i), String.valueOf(i)); } drp.setSelectedElement(selected); return drp; } private DropdownMenu typeDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("", "Tegund"); drp.addMenuElement("visa", "Visa"); drp.addMenuElement("eurocard", "Eurocard"); drp.setSelectedElement(selected); return drp; } } public class FamilyDisconnecterWindow extends com.idega.presentation.ui.Window { private final String STORE_NAME = "STOREFAMILY"; private UnionMemberInfo uniMemInfo = null; private String headerText = iwrb.getLocalizedString( "member.family.disconnect", "Disconnect family ties"); private int unionId; public FamilyDisconnecterWindow(int memberId, int unionId) throws java.sql.SQLException, FinderException { setTitle(iwrb.getLocalizedString("member.family.findfamily", "Find family")); this.unionId = unionId; uniMemInfo = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(memberId).getUnionMemberInfo(unionId); } public void main(IWContext modinfo) { this.empty(); add(getInputTable(modinfo)); } public Form getInputTable(IWContext modinfo) { Form form = new Form(); form.setMethod("get"); try { String strStore = modinfo.getRequest() .getParameter(STORE_NAME + ".x"); HeaderTable hTable = new HeaderTable(); hTable.setHeaderText(headerText); Table table = new Table(1, 3); Text t = new Text(iwrb.getLocalizedString( "member.family.disconnectconfirm", "Are you sure?"), true, false, false); t.setFontColor("red"); table.setRowAlignment(1, "center"); table.add(t, 1, 1); Table buttonTable = new Table(2, 1); buttonTable.add(new SubmitButton( iwrb.getImage("buttons/confirm.gif"), STORE_NAME, "storeval"), 1, 1); buttonTable.add(new CloseButton(iwrb.getImage("buttons/close.gif")), 2, 1); table.add(buttonTable, 1, 3); if (strStore != null) { store(modinfo); close(); setParentToReload(); } hTable.add(table); form.add(hTable); } catch (Exception e) { System.err.println("\n\nVilla i getInputTable\n\n"); e.printStackTrace(); } return form; } private void store(IWContext modinfo) throws SQLException, IOException { Family family = (Family) IDOLookup.createLegacy(Family.class); family.insert(); uniMemInfo.setFamily(family); uniMemInfo.update(); } } public class FamilyInsertWindow extends com.idega.presentation.ui.Window { private static final String NAME = "1"; private static final String NAME_AND_MIDDLE = "2"; private static final String SOSIAL_SEC_NUM = "3"; private static final String ALL = "4"; private final String STORE_NAME = "STOREFAMILY"; private final String FIND_NAME = "FINDFAMILY"; private final String STORE = "store"; private final String FIND = "find"; private UnionMemberInfo uniMemInfo = null; private Family family; private DropdownMenu selectFamily; private String selectionFamilyName = "familyBox"; private String[] selectionFamilyValues; private String headerText = iwrb.getLocalizedString("member.family", "Family"); private int unionId; private TextInput inputFind; private DropdownMenu choise; private String findValue; private String findName = "familyFinder"; private String choiseName = "keyToSearch"; private String choiseValue; private String[] selectGroupsValues = new String[0]; public FamilyInsertWindow(int memberId, int unionId) throws java.sql.SQLException, FinderException { setTitle(iwrb.getLocalizedString("member.family.findfamily", "Find Family")); this.unionId = unionId; inputFind = new TextInput(findName); inputFind.keepStatusOnAction(); choise = getChoises(choiseName); choise.keepStatusOnAction(); Member mem = (Member) IDOLookup.createLegacy(Member.class); uniMemInfo = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(memberId).getUnionMemberInfo(unionId); } public void main(IWContext modinfo) { this.empty(); add(getInputTable(modinfo)); } private void setVariables(IWContext modinfo) { choiseValue = modinfo.getRequest().getParameter(choiseName); findValue = getValue(findName, modinfo); if (findValue != null && (!findValue.equals(""))) { //member.setFamilyId(Integer.parseInt(findValue)); } } public Form getInputTable(IWContext modinfo) { Form form = new Form(); form.setMethod("get"); try { String strStore = modinfo.getRequest() .getParameter(STORE_NAME + ".x"); String strFind = modinfo.getRequest().getParameter(FIND_NAME + ".x"); HeaderTable hTable = new HeaderTable(); hTable.setHeaderText(headerText); Table table = new Table(1, 6); table.mergeCells(1, 1, 2, 1); table.add(choise, 1, 3); table.add(inputFind, 1, 3); Table buttonTable = new Table(2, 1); buttonTable.setCellpadding(0); buttonTable.setCellspacing(0); table.add(new SubmitButton(iwrb.getImage("/buttons/search.gif"), FIND_NAME, "findval"), 1, 4); buttonTable .add(new SubmitButton(iwrb.getImage("/buttons/register.gif"), STORE_NAME, "storeval"), 1, 1); buttonTable.add(new CloseButton(iwrb.getImage("buttons/close.gif")), 2, 1); table.add(buttonTable, 1, 6); if (strStore != null) { store(modinfo); close(); setParentToReload(); } else { if (strFind != null) { setVariables(modinfo); int numRecords = 0; List l = find(findValue, choiseValue); setSelectionBox(l); if (l != null) { numRecords = l.size(); } table.add(iwrb.getLocalizedString( "member.family.numberofrecords", "Number of records: ") + numRecords, 1, 1); table.add(selectFamily, 1, 5); } } hTable.add(table); form.add(hTable); } catch (Exception e) { System.err.println("\n\nError in getInputTable\n\n"); e.printStackTrace(); } return form; } private void store(IWContext modinfo) { selectionFamilyValues = modinfo.getRequest().getParameterValues( selectionFamilyName); String familyId = selectionFamilyValues[0]; int nOldFamilyID = this.uniMemInfo.getFamilyId(); try { if (selectionFamilyValues != null && selectionFamilyValues.length > 0) { if (!familyId.equals("")) { uniMemInfo.setFamilyId(new Integer(familyId)); uniMemInfo.update(); } } } catch (SQLException e) { System.err.println("Error in store!! ... !!\n"); System.err.println(e.getMessage()); } } public String getValue(String attribute, IWContext modinfo) { return modinfo.getParameter(attribute); } private DropdownMenu getChoises(String name) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement(NAME, iwrb .getLocalizedString("member.family.first_full_name")); drp.addMenuElement(NAME_AND_MIDDLE, iwrb.getLocalizedString( "member.family.first_middle_name", "First name and middle name")); drp.addMenuElement(SOSIAL_SEC_NUM, iwrb.getLocalizedString( "member.social_security_number", "SSN")); drp.addMenuElement(ALL, iwrb.getLocalizedString("member.family.all", "All")); return drp; } private List find(String toFind, String cmd) { toFind = toFind.replace('*', '%'); Name name = new Name(toFind); List list = null; try { if ((name.getFirstName().equals("")) && (!cmd.equals(ALL))) { return list; } if (cmd.equals(SOSIAL_SEC_NUM)) { list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " and member.SOCIAL_SECURITY_NUMBER like '" + name.getFirstName() + "'"); } else if (cmd.equals(ALL)) { list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " order by member.first_name"); } else if (!name.getMiddleName().equals("")) { if (cmd.equals(this.NAME)) { list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " and member.first_name like '" + name.getFirstName() + "' and member.middle_name like '" + name.getMiddleName() + "' and member.last_name like '" + name.getLastName() + "'"); } else { // if (cmd.equals(this.NAME_AND_MIDDLE)) list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " and member.first_name like '" + name.getFirstName() + "' and member.middle_name like '" + name.getMiddleName() + "'"); } } else if (!name.getLastName().equals("")) { list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " and member.first_name like '" + name.getFirstName() + "' and member.last_name like '" + name.getLastName() + "'"); } else { list = EntityFinder .findAll( (UnionMemberInfo) IDOLookup .instanciateEntity(UnionMemberInfo.class), "select union_member_info.* from member, union_member_info where member.member_id = union_member_info.member_id and union_member_info.union_id = " + unionId + " and member.first_name like '" + name.getFirstName() + "'"); } } catch (Exception e) { System.err.println("Error in FamilyWindow " + e.getMessage()); e.printStackTrace(); return list; } return list; } private void setSelectionBox(List list) throws Exception { selectFamily = new DropdownMenu(selectionFamilyName); //selectFamily.setHeight(8); selectFamily.setMarkupAttribute("size", "8"); Member mem = null; UnionMemberInfo uni = null; if ((list == null) || list.isEmpty()) { selectFamily.addMenuElement("", iwrb.getLocalizedString( "member.family.nosearchresult", "Nothing found")); } else if (list != null) { for (int i = 0; i < list.size(); i++) { uni = (UnionMemberInfo) list.get(i); mem = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)) .findByPrimaryKey(uni.getMemberID()); if (mem != null) { selectFamily.addMenuElement(uni.getFamilyId(), mem.getName()); } } } } } public class MemberInfoInsert extends EntityInsert { private MemberInfo memInfo; private String inputHandicapName = "MemberInfoInsert_memInfonumber"; private int memberID = 1; private TextInput inputHandicap; private HiddenInput hiddenHandicap; private String inputHandicapValue; private String headerText = iwrb.getLocalizedString("member.handicap", "Handicap"); private Text handicap = null; public MemberInfoInsert(IWContext modinfo) { super(modinfo); isUpdate = false; memInfo = (MemberInfo) IDOLookup.createLegacy(MemberInfo.class); memInfo.setDefaultValues(); inputHandicap = new TextInput(inputHandicapName); //setVariables(); } public MemberInfoInsert(IWContext modinfo, int memInfoId) throws java.sql.SQLException, FinderException { super(modinfo, memInfoId); isUpdate = true; memInfo = ((MemberInfoHome) IDOLookup.getHomeLegacy(MemberInfo.class)) .findByPrimaryKey(memInfoId); memInfo.setDefaultValues(); String h = com.idega.util.text.TextSoap .singleDecimalFormat((double) memInfo.getHandicap()); handicap = formatText(h); handicap.setFontSize(6); hiddenHandicap = new HiddenInput(inputHandicapName, String .valueOf(memInfo.getHandicap())); inputHandicap = new TextInput(inputHandicapName, String.valueOf(memInfo .getHandicap())); //setVariables(); } public MemberInfo getMemberInfo() { return this.memInfo; } public void setMemberId(int id) { memberID = id; } public boolean areNeetedFieldsEmpty() { return false; } public Vector getNeetedEmptyFields() { return new Vector(); } public TextInput getInputHandicap() { inputHandicap.setMaxlength(4); inputHandicap.setLength(4); return inputHandicap; } public Text getHandicap() { return this.handicap; } public boolean areSomeFieldsEmpty() { return (isEmpty(inputHandicapName)); } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(inputHandicapValue)) { vec .addElement(iwrb .getLocalizedString("member.handicap", "Handicap")); } return vec; } public void showInputForm() throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); try { Table table = new Table(2, 2); table.setBorder(1); Form form = new Form(); form.setAction(modinfo.getRequest().getRequestURI() + "?cmd=submit"); table.add(iwrb.getLocalizedString("member.handicap", "Handicap"), 1, 1); table.add(getInputHandicap(), 2, 1); table.add(new SubmitButton(), 2, 2); if (getValue("cmd") != null && getValue("cmd").equalsIgnoreCase("submit")) { this.store(); } form.add(table); add(form); } catch (SQLException e) { out.println(e.getMessage()); e.printStackTrace(out); } catch (Exception er) { out.println(er.getMessage()); er.printStackTrace(out); } } public BorderTable getInputTable() { BorderTable hTable = new BorderTable(); if (isUpdate) { Table table = new Table(1, 1); hTable.add(table); table.add(getHandicap(), 1, 1); table.add(hiddenHandicap); } else { Table table = new Table(1, 1); hTable.add(table); table.add(formatText(iwrb.getLocalizedString("member.handicap", "Handicap")), 1, 1); table.add(getInputHandicap(), 1, 1); } return hTable; } public void store() throws SQLException, IOException { PrintWriter out = modinfo.getResponse().getWriter(); setVariables(); if (!isUpdate()) { IWTimestamp stamp = new IWTimestamp(new java.sql.Date(System .currentTimeMillis())); memInfo.setHistory(stamp.toString() + ": " + iwrb.getLocalizedString("member.member_added", "F�lagi n�skr��ur � kerfi�")); memInfo.setMemberId(memberID); memInfo.setFirstHandicap(memInfo.getHandicap()); memInfo.insert(); } } public void setVariables() { inputHandicapValue = getValue(inputHandicapName); if (!isInvalid(inputHandicapValue)) { inputHandicapValue = com.idega.util.text.TextSoap.findAndReplace( inputHandicapValue, ",", "."); memInfo.setHandicap(Float.valueOf(inputHandicapValue)); } else memInfo.setHandicap(Float.valueOf("100")); } } public abstract class EntityInsert { protected String errorRedirect; protected String sessionId; protected IWContext modinfo; protected boolean isUpdate; protected String headerText = ""; private int entityID; public String styleAttribute = "font-size: 8pt"; private int fontSize = 1; private String fontColor = "#336660"; public EntityInsert(IWContext modinfo) { this.modinfo = modinfo; //errorRedirect = "membererror.jsp"; sessionId = "error"; isUpdate = false; } public EntityInsert(IWContext modinfo, int entityId) { this.modinfo = modinfo; //errorRedirect = "membererror.jsp"; sessionId = "error"; isUpdate = true; entityID = entityId; } public abstract boolean areSomeFieldsEmpty(); public abstract boolean areNeetedFieldsEmpty(); public abstract Vector getEmptyFields(); public abstract Vector getNeetedEmptyFields(); public abstract void store() throws SQLException, IOException; public abstract void setVariables(); public boolean isDateInputValid(String inputName) { if (inputName + "_day" == null || (inputName + "_day").equals("")) return false; else if (inputName + "_month" == null || (inputName + "_month").equals("")) return false; else if (inputName + "_year" == null || (inputName + "_year").equals("")) return false; return true; } public boolean isDigitOnly(String value) { if (value == null || value.length() == 0) return false; char[] arr = value.toCharArray(); for (int i = 0; i < arr.length; i++) { if (!Character.isDigit(arr[i])) return false; } return true; } public boolean isEmpty(String inputName) { return (getValue(inputName) == null || getValue(inputName).equals("")); } public String getValue(String attribute) { return modinfo.getParameter(attribute); } public void setErrorRedirectPageAndSessionID(String redirectPage, String sessionID) { this.errorRedirect = redirectPage; this.sessionId = sessionID; } protected boolean isUpdate() { return isUpdate; } protected java.sql.Date getDateFromInput(String inputName) { String strDay = getValue(inputName + "_day"); String strMonth = getValue(inputName + "_month"); String strYear = getValue(inputName + "_year"); if (strDay == null || strMonth == null || strYear == null || strDay.equals("") || strMonth.equals("") || strYear.equals("")) { return null; } IWTimestamp stamp = new IWTimestamp(Integer.parseInt(strDay), Integer .parseInt(strMonth), Integer.parseInt(strYear)); return stamp.getSQLDate(); } public void setHeaderText(String text) { this.headerText = text; } public boolean isInvalid(String str) { return ((str == null) || str.equals("")); } protected Vector StringArrToVector(String[] strArr) { Vector vec = new Vector(); for (int i = 0; i < strArr.length; i++) { vec.addElement(strArr[i]); } return vec; } public Text formatText(String s) { Text T = new Text(); if (s != null) { T = new Text(s); T.setFontColor(this.fontColor); T.setFontSize(this.fontSize); } return T; } public Text formatText(int i) { return formatText(String.valueOf(i)); } protected void setStyle(InterfaceObject O) { O.setStyleAttribute(this.styleAttribute); } } } }