package se.idega.idegaweb.commune.school.presentation;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Iterator;
import se.idega.idegaweb.commune.presentation.CommuneBlock;
import com.idega.block.school.business.SchoolBusiness;
import com.idega.block.school.data.School;
import com.idega.business.IBOLookup;
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.user.business.GroupBusiness;
import com.idega.user.business.UserBusiness;
import com.idega.user.data.Group;
import com.idega.user.data.User;
/**
* @author aron
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class SchoolAdminDirector extends CommuneBlock {
GroupBusiness grpBuiz;
UserBusiness usrBuiz;
SchoolBusiness schoolBuiz;
Integer schoolChoiceApproverPageId = null;
IWResourceBundle iwrb;
public String getBundleIdentifier(){
return CommuneBlock.IW_BUNDLE_IDENTIFIER;
}
private void init(IWContext iwc) throws RemoteException{
usrBuiz =(UserBusiness) IBOLookup.getServiceInstance(iwc,UserBusiness.class);
grpBuiz = (GroupBusiness) IBOLookup.getServiceInstance(iwc,GroupBusiness.class);
schoolBuiz = (SchoolBusiness) IBOLookup.getServiceInstance(iwc,SchoolBusiness.class);
}
public void main(IWContext iwc) throws Exception{
iwrb = getResourceBundle(iwc);
if(iwc.isLoggedOn() && schoolChoiceApproverPageId!=null){
init(iwc);
int userId = iwc.getUserId();
User user = usrBuiz.getUser(userId);
Group rootGroup = schoolBuiz.getRootSchoolAdministratorGroup();
// if user is a SchoolAdministrator
if(user.hasRelationTo(rootGroup)){
Collection schools = schoolBuiz.getSchoolHome().findAllBySchoolGroup(user);
if(!schools.isEmpty()){
Table T = new Table();
int row = 1;
int col = 1;
T.add(new Text(iwrb.getLocalizedString("school_choice.links_to_choice_approvers","Links to school choice approvers")),col,row++);
Iterator iter = schools.iterator();
while(iter.hasNext()){
School school = (School) iter.next();
T.add(getApproverLink(school),col,row++);
}
add(T);
}
/*
else
add("no schools");
*/
}
/*
else
add("has no relation to School admin root group");
*/
}
/*
else
add("not logged on");
*/
}
public Link getApproverLink(School school) {
Link L = new Link(school.getName());
L.setPage(this.schoolChoiceApproverPageId.intValue());
L.addParameter(SchoolChoiceApprover.prmSchoolId,school.getPrimaryKey().toString());
return L;
}
public void setSchoolChoiceApproverPage(int pageId){
this.schoolChoiceApproverPageId = new Integer(pageId);
}
}