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; } }