/* * $Id: CampusRequests.java,v 1.10 2004/05/24 14:21:40 palli Exp $ * * Copyright (C) 2001 Idega hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. * */ package is.idega.idegaweb.campus.presentation; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.Block; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.text.HorizontalRule; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; 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.TextArea; import com.idega.presentation.ui.TextInput; import com.idega.util.IWTimestamp; import com.idega.util.LocaleUtil; /** * @author <a href="mailto:aron@idega.is">aron@idega.is * @version 1.0 */ public class CampusRequests extends Block { private final static String IW_BUNDLE_IDENTIFIER="is.idega.idegaweb.campus"; private final static String ACTION = "reqs_act"; private final static int REPAIR = 1; private final static int COMPUTER = 2; private IWResourceBundle iwrb; private String tab = "\t"; private String newline = "\n"; private String columnwidth = "150"; private int inputWidth = 40; public void control(IWContext iwc) { int type = 0; if (iwc.isParameterSet(ACTION)) type = Integer.parseInt(iwc.getParameter(ACTION)); Table T = new Table(); T.setWidth("100%"); T.add(getLinks(),1,1); if(type > 0){ if(iwc.isParameterSet("send")){ T.add(formatText(processForm(type,iwc)),1,2); } else{ T.add(getForm(type),1,2); } } add(T); } public PresentationObject getLinks(){ Table T = new Table(); T.setWidth("100%"); T.setAlignment("center"); T.add(getLink(REPAIR),1,1); T.add(getLink(COMPUTER),1,2); return T; } public Link getLink(int type){ Link link = new Link(getSubject(type)); link.setBold(); link.setFontSize(4); link.addParameter(ACTION,type); return link; } public PresentationObject getForm(int type){ Form form = new Form(); Table T = new Table(); T.setCellpadding(0); T.setCellspacing(0); int row = 1; T.add(new HorizontalRule(),1,row++); Text header = new Text(getSubject(type)); header.setBold(); header.setFontSize(4); T.setAlignment(1,row,"center"); T.add(header,1,row++); T.add(getTenantFields(),1,row++); T.add(new HorizontalRule(),1,row++); T.add(getFields(type),1,row++); T.add(getButtons(),1,row++); T.add(new HorizontalRule(),1,row++); T.add(getCampusCommment(),1,row++); form.add(T); return form; } public PresentationObject getFields(int Type){ PresentationObject obj = new Text(); switch (Type) { case REPAIR: obj = getRepairFields(); break; case COMPUTER: obj = getComputerFields(); break; } return obj; } public String getEmail(int Type){ String email = null; switch (Type) { case REPAIR: email = "gunnar@fs.is"; break; case COMPUTER: email = "umsjon@fs.is"; break; } return email; } public String getSubject(int Type){ String subject = null; switch (Type) { case REPAIR: subject = iwrb.getLocalizedString("repairrequest","Vi�ger�arbei�ni"); break; case COMPUTER: subject = iwrb.getLocalizedString("computerrequest","T�lvuvi�ger�arbei�ni"); break; } return subject; } public PresentationObject getTenantFields(){ Table T = new Table(); T.add(formatText(iwrb.getLocalizedString("streetname","G�tuheiti")),1,2); T.add(getTextInput("street",""),3,2); T.add(formatText(iwrb.getLocalizedString("streetname","Herb./�b��")),1,3); T.add(getTextInput("room",""),3,3); T.add(formatText(iwrb.getLocalizedString("tenantname","Nafn Leigutaka")),1,4); T.add(getTextInput("tenantname",""),3,4); T.add(formatText(iwrb.getLocalizedString("phone","S�man�mer Leigutaka")),1,5); T.add(getTextInput("phone",""),3,5); T.add(formatText(iwrb.getLocalizedString("email","T�lvup�stur Leigutaka")),1,6); T.add(getTextInput("email",""),3,6); T.setWidth(1,columnwidth); return T; } public PresentationObject getRepairFields(){ Table T = new Table(); T.add(formatText(iwrb.getLocalizedString("dateofcrash","Dagsetning bilunar")),1,2); TextInput dateOfCrash = getTextInput("dateofcrash",""); dateOfCrash.setLength(40); T.add(dateOfCrash,3,2); T.add(formatText(iwrb.getLocalizedString("comment","Athugasemdir")),1,3); TextArea TA = getTextArea("comment",""); T.add(TA,3,3); T.add(formatText(iwrb.getLocalizedString("daytime","Vi�ger� m� fara fram � dagvinnut�ma, �n �ess a� nokkur s� heima.�ri�judagar eru almennir vi�ger�ardagar.")),3,4); T.add(new RadioButton("time","daytime"),1,4); T.add(formatText(iwrb.getLocalizedString("spectime","�g �ska eftir s�rstakri t�masetningu og a� vi�ger� ver�i framkv�md: ")),3,5); T.add(new TextInput("specialtime",""),3,5); T.add(new RadioButton("time","spectime"),1,5); T.add(new HiddenInput(ACTION,String.valueOf(REPAIR))); T.setWidth(1,columnwidth); return T; } public PresentationObject getComputerFields(){ Table T = new Table(); T.add(formatText(iwrb.getLocalizedString("dateofcrash","Dagsetning bilunar")),1,2); T.add(getTextInput("dateofcrash",""),3,2); T.add(formatText(iwrb.getLocalizedString("comment","Athugasemdir")),1,3); T.add(getTextArea("comment",""),3,3); T.add(formatText(iwrb.getLocalizedString("spectime","�g �ska eftir s�rstakri t�masetningu og a� vi�ger� ver�i framkv�md: ")),1,4); T.add(getTextInput("specialtime",""),3,4); T.add(new HiddenInput(ACTION,String.valueOf(COMPUTER))); T.setWidth(1,columnwidth); return T; } private String processForm(int type,IWContext iwc){ String tenantinfo = getTenantInfo(iwc); if(tenantinfo != null){ StringBuffer info = new StringBuffer(); String sinfo = getInfo(type,iwc); if(info != null){ info.append(sinfo); info.append(iwrb.getLocalizedString("sendtime","Sent :")); info.append(IWTimestamp.RightNow().getLocaleDate(LocaleUtil.getIcelandicLocale())); try{ // SendMail.send("admin@campus.is",getEmail(type),"","aron@idega.is","mail.idega.is",getSubject(type),info.toString()); return iwrb.getLocalizedString("requestsent","Bei�ni hefur veri� send !"); } catch(Exception ex){ ex.printStackTrace(); } return iwrb.getLocalizedString("requestnotsent","Villa ,bei�ni hefur ekki veri� send !"); } return iwrb.getLocalizedString("infoneeded2","Villa ,ekki n�gar uppl�singar um leigjanda!"); } return iwrb.getLocalizedString("infoneeded","Villa ,ekki n�gar uppl�singar um leigjanda!"); } private String getInfo(int type,IWContext iwc){ String info = null; switch (type) { case REPAIR: info = getRepairInfo(iwc); break; case COMPUTER: info = getComputerInfo(iwc); break; } return info; } private String getTenantInfo(IWContext iwc){ StringBuffer info = new StringBuffer(); String streetname = iwc.getParameter("street"); if("".equals(streetname)) return null; info.append(formatText(iwrb.getLocalizedString("streetname","G�tuheiti"))); info.append(tab); info.append(streetname); info.append(newline); String room = iwc.getParameter("room"); if("".equals(room)) return null; info.append(formatText(iwrb.getLocalizedString("streetname","Herb./�b��"))); info.append(tab); info.append(room); info.append(newline); String tenantname = iwc.getParameter("tenantname"); if("".equals(tenantname)) return null; info.append(formatText(iwrb.getLocalizedString("tenantname","Nafn Leigutaka"))); info.append(tab); info.append(tenantname); info.append(newline); String phone = iwc.getParameter("phone"); if("".equals(phone)) return null; info.append(formatText(iwrb.getLocalizedString("phone","S�man�mer Leigutaka"))); info.append(tab); info.append(phone); info.append(newline); info.append(formatText(iwrb.getLocalizedString("email","T�lvup�stur Leigutaka"))); info.append(tab); info.append(iwc.getParameter("email")); info.append(newline); return info.toString(); } private String getRepairInfo(IWContext iwc){ StringBuffer info = new StringBuffer(); info.append(formatText(iwrb.getLocalizedString("dateofcrash","Dagsetning bilunar"))); info.append(tab); info.append(iwc.getParameter("dateofcrash")); info.append(newline); info.append(formatText(iwrb.getLocalizedString("comment","Athugasemdir"))); info.append(tab); info.append(iwc.getParameter("comment")); info.append(newline); String time = iwc.getParameter("time"); if("daytime".equals(time)){ info.append(formatText(iwrb.getLocalizedString("daytime","Vi�ger� m� fara fram � dagvinnut�ma, �n �ess a� nokkur s� heima.�ri�judagar eru almennir vi�ger�ardagar."))); } else if("spectime".equals(time)){ info.append(formatText(iwrb.getLocalizedString("spectime","�g �ska eftir s�rstakri t�masetningu og a� vi�ger� ver�i framkv�md: "))); info.append(iwc.getParameter("specialtime")); } info.append(newline); return info.toString(); } private String getComputerInfo(IWContext iwc){ StringBuffer info = new StringBuffer(); info.append(formatText(iwrb.getLocalizedString("dateofcrash","Dagsetning bilunar"))); info.append(tab); info.append(iwc.getParameter("dateofcrash")); info.append(newline); info.append(formatText(iwrb.getLocalizedString("comment","Athugasemdir"))); info.append(tab); info.append(iwc.getParameter("comment")); info.append(newline); info.append(formatText(iwrb.getLocalizedString("spectime","�g �ska eftir s�rstakri t�masetningu og a� vi�ger� ver�i framkv�md: "))); info.append(iwc.getParameter("specialtime")); info.append(newline); return info.toString(); } public PresentationObject getButtons(){ Table T = new Table(1,1); T.setWidth("100%"); T.add(new SubmitButton("send",iwrb.getLocalizedString("sendrequest","Senda bei�ni")),1,1); T.setAlignment(1,1,"center"); return T; } public Text getCampusCommment(){ Text T = new Text("Sta�festing � m�tt�ku bei�nar ver�ur send � t�lvup�sti vi� fyrsta t�kif�ri. Ef sta�festing hefur ekki borist innan tveggja virkra daga �� vinsamlegast hafi� samband vi� starfsf�lk skrifstofu St�dentagar�a. "); T.setBold(); T.setFontColor("#FF0000"); return T; } public TextInput getTextInput(String name,String content){ TextInput input = new TextInput(name,content); input.setLength(inputWidth); return input; } public TextArea getTextArea(String name,String content){ TextArea input = new TextArea(name,content,inputWidth,5); return input; } public Text formatText(String text){ Text T = new Text(text); T.setBold(); return T; } public void main(IWContext iwc){ iwrb = getResourceBundle(iwc); control(iwc); } }