/* * Created on 4.3.2004 */ package is.idega.idegaweb.golf.clubs.presentation; import is.idega.idegaweb.golf.access.AccessControl; import is.idega.idegaweb.golf.business.GolfCacher; import is.idega.idegaweb.golf.entity.Member; import is.idega.idegaweb.golf.entity.MemberHome; import is.idega.idegaweb.golf.entity.Union; import is.idega.idegaweb.golf.entity.UnionMemberInfo; import java.sql.SQLException; import java.util.List; import javax.ejb.FinderException; import com.idega.data.EntityFinder; import com.idega.data.IDOLookup; import com.idega.presentation.Editor; 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.Text; import com.idega.presentation.ui.CheckBox; import com.idega.presentation.ui.CloseButton; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.HiddenInput; import com.idega.presentation.ui.RadioButton; import com.idega.presentation.ui.SubmitButton; import com.idega.presentation.ui.TextInput; /** * @author laddi */ public class UnionCorrect extends Editor { Member eMember = null; String OkImageUrl = "/pics/formtakks/saekja.gif"; String SaveImageUrl = "/pics/formtakks/vista.gif"; String CloseImageUrl = "/pics/formtakks/loka.gif"; List eUMIs = null; boolean isClubAdmin = false; protected PresentationObject makeLinkTable(int l) { return new Text(""); } protected void control(IWContext modinfo) { isClubAdmin = AccessControl.isClubAdmin(modinfo); String member_id = modinfo.getParameter("member_id"); this.makeView(); if (isAdmin || isClubAdmin) { try { if (modinfo.getParameter("save") != null || modinfo.getParameter("save.x") != null) { if (modinfo.getParameter("rb") != null && member_id != null) { eMember = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)).findByPrimaryKey(Integer.parseInt(member_id)); setMainUnion(eMember, Integer.parseInt(modinfo.getParameter("rb"))); } else if (modinfo.getParameter("newumi") != null && member_id != null) { eMember = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)).findByPrimaryKey(Integer.parseInt(member_id)); makeNewUMI(eMember); } } else if (modinfo.getParameter("ok") != null || modinfo.getParameter("ok.x") != null || modinfo.getParameter("ssn") != null) { String ssn = modinfo.getParameter("ssn").trim(); if (ssn != null && ssn.length() > 5) { List members = EntityFinder.findAllByColumnEquals((Member) IDOLookup.instanciateEntity(Member.class), "social_security_number", ssn); if (members != null) { eMember = (Member) members.get(0); } } } else if (member_id != null) { eMember = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)).findByPrimaryKey(Integer.parseInt(member_id)); } else add("enginn valinn"); this.addLinks(formatText("Kl�bbar")); this.addMain(doView()); this.setBorder(2); } catch (FinderException sql) { add("sql vandr��i"); sql.printStackTrace(); } catch (SQLException sql) { add("sql vandr��i"); sql.printStackTrace(); } } else this.addMain(formatText("Ekki R�ttindi")); } private PresentationObject doView() { Table T = new Table(); T.setCellpadding(0); T.setCellspacing(0); T.setWidth("200"); if (eMember != null) { T.add(formatText(eMember.getName()), 1, 3); T.add(formatText("Kt : "), 1, 4); T.add(formatText(eMember.getSocialSecurityNumber()), 1, 4); T.add(new HiddenInput("member_id", String.valueOf(eMember.getID()))); } TextInput SSN = new TextInput("ssn"); SSN.setMaxlength(10); SSN.setLength(10); T.add(SSN, 1, 1); T.add(getUnionsTable(), 1, 5); SubmitButton ok = new SubmitButton(new Image(OkImageUrl), "ok"); SubmitButton save = new SubmitButton(new Image(SaveImageUrl), "save"); CloseButton close = new CloseButton(new Image(CloseImageUrl)); T.add(ok, 1, 1); T.add(save, 1, 7); T.add(close, 1, 7); Form myForm = new Form(); myForm.add(T); return myForm; } public Table getUnionsTable() { Table bTable = new Table(); bTable.setWidth("100%"); try { if (eMember != null) eUMIs = EntityFinder.findAllByColumn( (UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class), "member_id", eMember.getID()); } catch (SQLException ex) { } if (eUMIs != null && eMember != null) { int len = eUMIs.size(); Table T = new Table(3, len + 1); T.setCellpadding(0); T.setCellspacing(0); T.setColumnAlignment(1, "left"); T.setColumnAlignment(2, "left"); T.setWidth("100%"); // T.add(headerText("Kl�bbur"),1,1); // T.add(headerText("A�ild"),2,1); UnionMemberInfo eUmi; Union eUni; int iUnId; String color = DarkColor; for (int i = 0; i < len; i++) { eUmi = (UnionMemberInfo) eUMIs.get(i); iUnId = eUmi.getUnionID(); eUni = GolfCacher.getCachedUnion(iUnId); Text tAbbrevation = headerText(eUni.getAbbrevation()); String type = eUmi.getMembershipType(); Text tType = headerText(mbsShipMap(type)); RadioButton RB = new RadioButton("rb", String.valueOf(eUni.getID())); if (type.equalsIgnoreCase("main")) { tAbbrevation.setFontColor("#FF0000"); tType.setFontColor("#FF0000"); RB.setSelected(); } T.add(tAbbrevation, 1, i + 2); T.add(tType, 2, i + 2); T.add(RB, 3, i + 2); } bTable.add(T); } else { Table T = new Table(2, 2); T.setCellpadding(0); T.setCellspacing(0); T.setColumnAlignment(1, "left"); T.setColumnAlignment(2, "left"); T.setWidth("100%"); String color = DarkColor; CheckBox chk = new CheckBox("newumi"); T.add(formatText("Er utan kl�bba"), 1, 1); T.add(formatText("Setja � Gestakl�bb"), 1, 2); T.add(chk, 2, 2); bTable.add(T); } return bTable; } private String mbsShipMap(String type) { if ("main".equalsIgnoreCase(type)) return "A�alkl."; else if ("sub".equalsIgnoreCase(type)) return "Aukakl."; else return ""; } 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)); } public void setMemberActiveInSubUnion(Member member, int iUnionId) throws SQLException { UnionMemberInfo[] unies = (UnionMemberInfo[]) ((UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class)).findAllByColumnEquals( "member_id", member.getID()); boolean needToCreateUnionMemberInfo = true; // too lazy to do this better... for (int i = 0; i < unies.length; i++) { if (unies[i].getUnionID() == iUnionId) { needToCreateUnionMemberInfo = false; unies[i].setMembershipType("sub"); unies[i].setMemberStatus("A"); unies[i].update(); } } if (needToCreateUnionMemberInfo) { makeNewSubUMI(member, iUnionId); } } public void setMainUnion(Member member, int iUnionId) throws SQLException { UnionMemberInfo[] unies = (UnionMemberInfo[]) ((UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class)).findAllByColumnEquals( "member_id", member.getID()); boolean needToCreateUnionMemberInfo = true; for (int i = 0; i < unies.length; i++) { if (unies[i].getCardId() == 0) unies[i].setCardId(1); if (unies[i].getPaymentTypeID() == 0) unies[i].setPaymentTypeID(1); if (unies[i].getUnionID() != iUnionId) { unies[i].setMembershipType("sub"); } else { needToCreateUnionMemberInfo = false; unies[i].setMembershipType("main"); unies[i].setMemberStatus("A"); } unies[i].update(); } if (needToCreateUnionMemberInfo) { makeNewMainUMI(member, iUnionId); } } public void setMemberInactiveInAllSubUnions(Member member) throws SQLException { UnionMemberInfo[] unies = (UnionMemberInfo[]) ((UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class)).findAllByColumnEquals( "member_id", member.getID()); for (int i = 0; i < unies.length; i++) { if ("sub".equals(unies[i].getMembershipType())) { unies[i].setMemberStatus("I"); unies[i].update(); } } } public void setMemberInactiveInMainUnion(Member member) throws SQLException { UnionMemberInfo[] unies = (UnionMemberInfo[]) ((UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class)).findAllByColumnEquals( "member_id", member.getID()); for (int i = 0; i < unies.length; i++) { if ("main".equals(unies[i].getMembershipType())) { unies[i].setMemberStatus("I"); unies[i].update(); } } } public void makeNewUMI(Member eMember) { UnionMemberInfo umi = (UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class); umi.setUnionID(1); umi.setMemberID(eMember.getID()); umi.setCardId(1); umi.setPaymentTypeID(1); umi.setMembershipType("main"); umi.setMemberStatus("A"); try { umi.insert(); } catch (Exception ex) { ex.printStackTrace(); } } public void makeNewMainUMI(Member eMember, int unionId) { UnionMemberInfo umi = (UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class); umi.setUnionID(unionId); umi.setMemberID(eMember.getID()); umi.setCardId(1); umi.setPaymentTypeID(1); umi.setMembershipType("main"); umi.setMemberStatus("A"); try { umi.insert(); } catch (Exception ex) { ex.printStackTrace(); } } public void makeNewSubUMI(Member eMember, int unionId) { UnionMemberInfo umi = (UnionMemberInfo) IDOLookup.instanciateEntity(UnionMemberInfo.class); umi.setUnionID(unionId); umi.setMemberID(eMember.getID()); umi.setCardId(1); umi.setPaymentTypeID(1); umi.setMembershipType("sub"); umi.setMemberStatus("A"); try { umi.insert(); } catch (Exception ex) { ex.printStackTrace(); } } }