/* * Created on 26.11.2003 * * To change the template for this generated file go to * Window - Preferences - Java - Code Generation - Code and Comments */ package se.idega.idegaweb.commune.childcare.presentation; import java.rmi.RemoteException; import java.util.Collection; import java.util.Iterator; import se.idega.idegaweb.commune.care.data.ChildCareApplication; import se.idega.idegaweb.commune.childcare.event.ChildCareEventListener; import com.idega.core.contact.data.Phone; import com.idega.core.location.data.Address; import com.idega.presentation.IWContext; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.user.data.User; import com.idega.util.IWTimestamp; import com.idega.util.PersonalIDFormatter; import com.idega.util.text.Name; /** * @author laddi * * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ public class ChildCareAdminApplications extends ChildCareBlock { /* (non-Javadoc) * @see se.idega.idegaweb.commune.childcare.presentation.ChildCareBlock#init(com.idega.presentation.IWContext) */ public void init(IWContext iwc) throws Exception { getSession().setChildID(-1); getSession().setChildCareID(-1); getSession().setApplicationID(-1); Table applicationTable = new Table(); applicationTable.setWidth(getWidth()); applicationTable.setCellpadding(getCellpadding()); applicationTable.setCellspacing(getCellspacing()); applicationTable.setColumns(7); applicationTable.setRowColor(1, getHeaderColor()); applicationTable.setWidth(7, 12); int row = 1; int column = 1; applicationTable.add(getLocalizedSmallHeader("child_care.name","Name"), column++, row); applicationTable.add(getLocalizedSmallHeader("child_care.personal_id","Personal ID"), column++, row); applicationTable.add(getLocalizedSmallHeader("child_care.address","Address"), column++, row); applicationTable.add(getLocalizedSmallHeader("child_care.phone","Phone"), column++, row); applicationTable.add(getLocalizedSmallHeader("child_care.queue_date","Queue date"), column++, row); applicationTable.add(getLocalizedSmallHeader("child_care.placement_date","Placement date"), column++, row++); Collection applications = getApplicationCollection(); if (applications != null && !applications.isEmpty()) { ChildCareApplication application; User child; Address address; Phone phone; Link link; Link viewContract; boolean hasContract = false; IWTimestamp queueDate; IWTimestamp placementDate; Iterator iter = applications.iterator(); while (iter.hasNext()) { column = 1; application = (ChildCareApplication) iter.next(); child = application.getChild(); address = getBusiness().getUserBusiness().getUsersMainAddress(child); phone = getBusiness().getUserBusiness().getChildHomePhone(child); if (application.getQueueDate() != null) { queueDate = new IWTimestamp(application.getQueueDate()); } else { queueDate = null; } if (application.getFromDate() != null) { placementDate = new IWTimestamp(application.getFromDate()); } else { placementDate = null; } if (application.getApplicationStatus() == getBusiness().getStatusContract()) { hasContract = true; applicationTable.setRowColor(row, CONTRACT_COLOR); } else { hasContract = false; if (row % 2 == 0) applicationTable.setRowColor(row, getZebraColor1()); else applicationTable.setRowColor(row, getZebraColor2()); } Name name = new Name(child.getFirstName(), child.getMiddleName(), child.getLastName()); link = getSmallLink(name.getName(iwc.getApplicationSettings().getDefaultLocale(), true)); link.setEventListener(ChildCareEventListener.class); link.setParameter(getSession().getParameterUserID(), String.valueOf(application.getChildId())); link.setParameter(getSession().getParameterApplicationID(), application.getPrimaryKey().toString()); if (getResponsePage() != null) link.setPage(getResponsePage()); applicationTable.add(link, column++, row); applicationTable.add(getSmallText(PersonalIDFormatter.format(child.getPersonalID(), iwc.getCurrentLocale())), column++, row); if (address != null) applicationTable.add(getSmallText(address.getStreetAddress()), column++, row); else applicationTable.add(getSmallText("-"), column++, row); if (phone != null) applicationTable.add(getSmallText(phone.getNumber()), column++, row); else applicationTable.add(getSmallText("-"), column++, row); if (queueDate != null) applicationTable.add(getSmallText(queueDate.getLocaleDate(iwc.getCurrentLocale(), IWTimestamp.SHORT)), column++, row); else applicationTable.add(getSmallText("-"), column++, row); if (placementDate != null) applicationTable.add(getSmallText(placementDate.getLocaleDate(iwc.getCurrentLocale(), IWTimestamp.SHORT)), column++, row); else applicationTable.add(getSmallText("-"), column++, row); if (hasContract) { viewContract = new Link(getPDFIcon(localize("child_care.view_contract","View contract"))); viewContract.setFile(application.getContractFileId()); viewContract.setTarget(Link.TARGET_NEW_WINDOW); applicationTable.add(viewContract, column, row); } row++; } applicationTable.setColumnAlignment(2, Table.HORIZONTAL_ALIGN_CENTER); applicationTable.setColumnAlignment(4, Table.HORIZONTAL_ALIGN_CENTER); } add(applicationTable); } private Collection getApplicationCollection() throws RemoteException { Collection applications = getBusiness().findUnhandledApplicationsNotInCommune(); return applications; } }