/* * Created on 26.4.2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Generation - Code and Comments */ package is.idega.idegaweb.golf.handicap.presentation; import is.idega.idegaweb.golf.block.image.presentation.GolfImage; 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.presentation.GolfBlock; import is.idega.idegaweb.golf.util.GolfConstants; import java.io.IOException; import java.sql.SQLException; import javax.ejb.FinderException; 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.Table; import com.idega.presentation.text.Break; import com.idega.presentation.text.Text; import com.idega.presentation.ui.GenericButton; import com.idega.user.data.User; import com.idega.user.data.UserHome; import com.idega.util.text.TextSoap; /** * @author laddi * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ public class HandicapMemberInfo extends GolfBlock { private boolean isAdmin = false; private String iMemberID; private Table table; private IWResourceBundle iwrb; private IWBundle iwb; /* (non-Javadoc) * @see com.idega.presentation.PresentationObject#main(com.idega.presentation.IWContext) */ public void main(IWContext modinfo) throws Exception { iwrb = getResourceBundle(); iwb = getBundle(); isAdmin = isAdministrator(modinfo); if (modinfo.isParameterSet(GolfConstants.MEMBER_UUID)) { MemberHome home = (MemberHome) IDOLookup.getHomeLegacy(Member.class); try { Member member = home.findByUniqueID(modinfo.getParameter(GolfConstants.MEMBER_UUID)); iMemberID = member.getPrimaryKey().toString(); } catch (FinderException fe) { UserHome userHome = (UserHome) IDOLookup.getHome(User.class); try { User user = userHome.findUserByUniqueId(modinfo.getParameter(GolfConstants.MEMBER_UUID)); Member member = home.findMemberByIWMemberSystemUser(user); iMemberID = member.getPrimaryKey().toString(); } catch (FinderException e) { //Nothing found... } } if (iMemberID != null) { modinfo.setSessionAttribute("member_id", iMemberID); } } if (iMemberID == null) { iMemberID = modinfo.getRequest().getParameter("member_id"); } if (iMemberID == null) { iMemberID = (String) modinfo.getSession().getAttribute("member_id"); } if (iMemberID == null) { Member memberinn = (Member) modinfo.getSession().getAttribute("member_login"); if (memberinn != null) { iMemberID = String.valueOf(memberinn.getID()); if (iMemberID == null) { iMemberID = "1"; } } else { iMemberID = "1"; } } try { drawTable(modinfo); } catch (FinderException fe) { log(fe); } add(table); } private void drawTable(IWContext iwc) throws IOException, SQLException, FinderException { table = new Table(1, 9); table.setCellpadding(0); table.setCellspacing(0); table.setHeight(2, 12); table.setHeight(4, 3); table.setHeight(6, 12); table.setHeight(8, 3); table.setColumnAlignment(1, Table.HORIZONTAL_ALIGN_CENTER); Member member = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)).findByPrimaryKey(Integer.parseInt(iMemberID)); MemberInfo memberInfo = ((MemberInfoHome) IDOLookup.getHomeLegacy(MemberInfo.class)).findByPrimaryKey(Integer.parseInt(iMemberID)); //Optimization by Sigtryggur 23.06.05 int order = memberInfo.getNumberOfRecords("handicap", "<", "" + memberInfo.getHandicap()) + 1; Text handicap = getBigHeader(iwrb.getLocalizedString("handicap.handicap", "Handicap")); table.add(handicap, 1, 3); Text totalOrder = getBigHeader(iwrb.getLocalizedString("handicap.national_ranking", "National ranking")); table.add(totalOrder, 1, 7); Text handicapText = null; if ((int) memberInfo.getHandicap() == 100) { handicapText = getText(iwrb.getLocalizedString("handicap.no_handicap", "No handicap")); } else { handicapText = getBigText(TextSoap.singleDecimalFormat(String.valueOf(memberInfo.getHandicap()))); } table.add(handicapText, 1, 5); if (isAdmin) { GenericButton handicapUpdate = getButton(new GenericButton("update_handicap", iwrb.getLocalizedString("handicap.update_handicap", "Update handicap"))); handicapUpdate.setWindowToOpen(HandicapUpdate.class); handicapUpdate.addParameterToWindow("member_id", iMemberID); table.add(new Break(), 1, 5); table.add(handicapUpdate, 1, 5); } String noRounds = iwrb.getLocalizedString("handicap.no_round", "No rounds registered"); Text orderText = getBigText(Integer.toString(order)); if ((int) memberInfo.getHandicap() == 100) { orderText = getText(noRounds); } table.add(orderText, 1, 9); Image memberImage = null; if (member.getImageId() == 1) { memberImage = iwb.getImage("/shared/user/user.jpg"); memberImage.setAlt(localize("handicap.no_image_found", "No image found from user")); memberImage.setToolTip(localize("handicap.no_image_found", "No image found from user")); } else { memberImage = new GolfImage(member.getImageId()); memberImage.setAlt(member.getName()); memberImage.setToolTip(member.getName()); } memberImage.setMaxImageWidth(100); memberImage.setBorder(1); memberImage.setBorderColor(getHeaderColor()); memberImage.setBorderStyle("solid"); table.add(memberImage, 1, 1); } }