/* * Created on 5.3.2004 */ package is.idega.idegaweb.golf.tournament.presentation; import is.idega.idegaweb.golf.entity.Tournament; import is.idega.idegaweb.golf.entity.TournamentHome; import is.idega.idegaweb.golf.entity.TournamentRound; import is.idega.idegaweb.golf.tournament.business.PrintStickersWriter; import java.io.IOException; import java.rmi.RemoteException; import java.sql.SQLException; import javax.ejb.FinderException; import com.idega.block.reports.business.ReportWriter; import com.idega.data.IDOLookup; import com.idega.idegaweb.IWMainApplication; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.GenericButton; import com.idega.presentation.ui.HiddenInput; import com.idega.presentation.ui.SubmitButton; /** * @author gimmi */ public class Printing extends TournamentBlock { private IWResourceBundle iwrb; protected boolean tournamentMustBeSet() { return true; } public void main(IWContext modinfo) throws Exception { iwrb = getResourceBundle(); getPrintScreen(modinfo); } public void getTournaments(IWContext modinfo) throws RemoteException { DropdownMenu menu = null; GenericButton submit = getButton(new SubmitButton(localize("tournament.continue","Continue"))); Form myForm = new Form(); myForm.setMethod("post"); myForm.add(new HiddenInput("mode","print")); Table myTable = new Table(1,3); myTable.setAlignment("center"); myTable.setAlignment(1,2,"center"); myTable.setAlignment(1,3,"right"); myTable.setCellpadding(4); menu = getTournamentBusiness(modinfo).getDropdownOrderedByUnion(new DropdownMenu("tournament"),modinfo); menu.setMarkupAttribute("size","10"); Text selectText = new Text(iwrb.getLocalizedString("tournament.choose_tournament","Choose tournament")+":"); selectText.setBold(); selectText.setFontSize(3); myTable.add(selectText,1,1); myTable.add(menu,1,2); myTable.add(submit,1,3); myForm.add(myTable); add("<br>"); add(myForm); } public void getPrintScreen(IWContext modinfo) throws IOException,SQLException,FinderException { String tournament_id = (String) modinfo.getSessionAttribute("tournament_id"); // String tournament_id = modinfo.getParameter("tournament"); Tournament tournament = ((TournamentHome) IDOLookup.getHomeLegacy(Tournament.class)).findByPrimaryKey(Integer.parseInt(tournament_id)); TournamentRound[] tournamentRounds = tournament.getTournamentRounds(); Table myTable = new Table(); myTable.setWidth(2,"25"); myTable.setWidth(4,"25"); myTable.setAlignment("center"); myTable.setCellpadding(6); myTable.setVerticalAlignment(3,2,"top"); myTable.setVerticalAlignment(5,2,"top"); Text before = new Text(iwrb.getLocalizedString("tournament.before_tournament","Before tournament")); before.setFontSize(4); before.setBold(); before.setUnderline(); Text during = new Text(iwrb.getLocalizedString("tournament.during_tournament","During tournament")); during.setFontSize(4); during.setBold(); during.setUnderline(); Text after = new Text(iwrb.getLocalizedString("tournament.after_tournament","After tournament")); after.setFontSize(4); after.setBold(); after.setUnderline(); Link memberLink =getLocalizedLink("tournament.members_by_group","Members in tournament (by group)"); memberLink.setWindowToOpen(TournamentMembersWindow.class); memberLink.addParameter("tournament_id",tournament_id); myTable.add(memberLink,1,2); for ( int a = 0; a < tournamentRounds.length; a++ ) { Table roundTable = new Table(); Text roundText = new Text(iwrb.getLocalizedString("tournament.round","Round")+" "+(a+1)); roundText.setBold(); Link startingTime = getLink(iwrb.getLocalizedString("tournament.tee_times","Tee times")); startingTime.setWindowToOpen(PrintStartingtimesWindow.class); startingTime.addParameter(PrintStartingtimes.PARAMETER_TOURNAMENT_ROUND_ID,tournamentRounds[a].getID()); Link scorecards = getLink(iwrb.getLocalizedString("tournament.stickers_on_scorecards","Stickers on scorecards")); scorecards.setWindowToOpen(PrintStickersWindow.class); scorecards.addParameter("tournament_round_id",tournamentRounds[a].getID()); //Link scorecardsExcel = getLink(iwrb.getLocalizedString("tournament.stickers_on_scorecards","Stickers on scorecards")+" (Excel)"); //scorecardsExcel.setWindowToOpen(PrintStickersExcelWindow.class); Link scorecardsExcel = getLink( iwrb.getLocalizedString("tournament.stickers_on_scorecards","Stickers on scorecards")+" (Excel)" ); scorecardsExcel.setURL(modinfo.getIWMainApplication().getMediaServletURI()+"stickers.xls"); scorecardsExcel.addParameter(ReportWriter.PRM_WRITABLE_CLASS,IWMainApplication.getEncryptedClassName(PrintStickersWriter.class)); scorecardsExcel.addParameter("tournament_round_id",tournamentRounds[a].getID()); scorecardsExcel.setTarget(Link.TARGET_BLANK_WINDOW); Link excel = getLink(iwrb.getLocalizedString("tournament.unfilled_leaderboard","Unfilled leaderboard")+" (Excel)"); //excel.setWindowToOpen(PrintUnfilledLeaderBoardExcelWindow.class); excel.setURL(modinfo.getIWMainApplication().getMediaServletURI()+"status.xls"); excel.addParameter(ReportWriter.PRM_WRITABLE_CLASS,IWMainApplication.getEncryptedClassName(PrintStickersWriter.class)); excel.addParameter("tournament_round_id",tournamentRounds[a].getID()); excel.setTarget(Link.TARGET_BLANK_WINDOW); // Link scorecardWindow = new Link(iwrb.getLocalizedString("tournament.scorecards","Scorecards")); // scorecardWindow.setWindowToOpen(PrintScorecardWindow.class); // scorecardWindow.addParameter(PrintScorecardWindow.PARAMETER_TOURNAMENT_ROUND_ID,tournamentRounds[a].getID()); roundTable.add(roundText,1,1); roundTable.add(startingTime,1,2); roundTable.add(scorecards,1,3); roundTable.add(" 4x8 ("+iwrb.getLocalizedString("tournament.width_x_heigth","Width x Heigth")+")",1,3); roundTable.add(scorecardsExcel,1,4); roundTable.add(excel,1,5); //roundTable.add(scorecardWindow, 1, 6); myTable.add(roundTable,1,a+3); } Text status = new Text(iwrb.getLocalizedString("tournament.leaderboard","Leaderboard")); Text results = new Text(iwrb.getLocalizedString("tournament.tournament_results","Results")); Text statusExl = new Text(iwrb.getLocalizedString("tournament.leaderboard","Leaderboard")+" (Excel)"); Text resultsExl = new Text(iwrb.getLocalizedString("tournament.tournament_results","Results")+" (Excel)"); Link ranking = new Link(status); ranking.setWindowToOpen(PrintStatusWindow.class); ranking.addParameter("tournament_id",tournament.getID()); Link ranking2 = new Link(results); ranking2.setWindowToOpen(PrintStatusWindow.class); ranking2.addParameter("tournament_id",tournament.getID()); Link excelRanking = new Link(statusExl); excelRanking.setWindowToOpen(PrintStatusWindow.class); excelRanking.addParameter("tournament_id",tournament.getID()); excelRanking.addParameter("xls", "true"); Link excelRanking2 = new Link(resultsExl); excelRanking2.setWindowToOpen(PrintStatusWindow.class); excelRanking2.addParameter("tournament_id",tournament.getID()); excelRanking2.addParameter("xls", "true"); myTable.add(ranking,3,2); myTable.add(ranking2,5,2); //myTable.addBreak(3, 2); //myTable.addBreak(5, 2); //myTable.add(excelRanking,3,2); //myTable.add(excelRanking2,5,2); myTable.add(before,1,1); myTable.add(during,3,1); myTable.add(after,5,1); add(myTable); } private Link getPrintScoreCardExcelLink(IWContext iwc,String label){ Link link = getLink( label ); link.setURL(iwc.getIWMainApplication().getMediaServletURI()+"stickers.xls"); link.addParameter(ReportWriter.PRM_WRITABLE_CLASS,IWMainApplication.getEncryptedClassName(PrintStickersWriter.class)); return link; } }