package is.idega.idegaweb.member.isi.block.reports.presentation;
import is.idega.idegaweb.member.isi.block.accounting.presentation.CashierWindow;
import java.util.Map;
import com.idega.core.accesscontrol.business.AccessController;
import com.idega.idegaweb.IWBundle;
import com.idega.idegaweb.IWMainApplicationSettings;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.Image;
import com.idega.user.app.ToolbarElement;
/**
* <p>Title: idegaWeb</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: idega Software</p>
* @author <a href="thomas@idega.is">Thomas Hilbig</a>
* @version 1.0
* Created on Aug 27, 2004
*/
public class WorkReportWindowPlugin implements ToolbarElement {
private final static String IW_BUNDLE_IDENTIFIER = "is.idega.idegaweb.member.isi";
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#getButtonImage(com.idega.presentation.IWContext)
*/
public Image getButtonImage(IWContext iwc) {
return null;
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#getName(com.idega.presentation.IWContext)
*/
public String getName(IWContext iwc) {
IWBundle bundle = iwc.getApplicationContext().getIWMainApplication().getBundle(IW_BUNDLE_IDENTIFIER);
IWResourceBundle resourceBundle = bundle.getResourceBundle(iwc);
return resourceBundle.getLocalizedString("button.work_reports", "Work Reports");
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#getPresentationObjectClass(com.idega.presentation.IWContext)
*/
public Class getPresentationObjectClass(IWContext iwc) {
return WorkReportWindow.class;
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#getParameterMap(com.idega.presentation.IWContext)
*/
public Map getParameterMap(IWContext iwc) {
return null;
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#isValid(com.idega.presentation.IWContext)
*/
public boolean isValid(IWContext iwc) {
//only cashiers and admin and role masters can use this plugin
AccessController security = iwc.getAccessController();
IWMainApplicationSettings settings = iwc.getApplicationSettings();
boolean isiPropertyExists = settings.getProperty("temp_show_is_related_stuff") != null;
boolean isValid = false;
if(isiPropertyExists && iwc.isSuperAdmin()){
isValid = true;
}
else{
isValid = (isiPropertyExists) && (security.isRoleMaster(iwc) || security.hasRole(CashierWindow.ROLE_KEY_CASHIER, iwc) || security.hasRole(CashierWindow.ROLE_KEY_CASHIER_ADMIN, iwc));
}
return isValid;
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#getPriority(com.idega.presentation.IWContext)
*/
public int getPriority(IWContext iwc) {
return 10;
}
/* (non-Javadoc)
* @see com.idega.user.app.ToolbarElement#isButton(com.idega.presentation.IWContext)
*/
public boolean isButton(IWContext iwc) {
return false;
}
}