/* * $Id: CashierWindowPlugin.java,v 1.3 2004/11/27 20:12:47 eiki Exp $ * Created on Sep 1, 2004 * * Copyright (C) 2004 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package is.idega.idegaweb.member.isi.block.accounting.presentation.plugin; 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; /** * * Last modified: $Date: 2004/11/27 20:12:47 $ by $Author: eiki $ * * @author <a href="mailto:thomas@idega.com">thomas</a> * @version $Revision: 1.3 $ */ public class CashierWindowPlugin 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) { // TODO Auto-generated method stub return null; } /* (non-Javadoc) * @see com.idega.user.app.ToolbarElement#isButton(com.idega.presentation.IWContext) */ public boolean isButton(IWContext iwc) { // TODO Auto-generated method stub return false; } /* (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.cashier", "Cashier"); } /* (non-Javadoc) * @see com.idega.user.app.ToolbarElement#getPresentationObjectClass(com.idega.presentation.IWContext) */ public Class getPresentationObjectClass(IWContext iwc) { return CashierWindow.class; } /* (non-Javadoc) * @see com.idega.user.app.ToolbarElement#getParameterMap(com.idega.presentation.IWContext) */ public Map getParameterMap(IWContext iwc) { // TODO Auto-generated method stub 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) { // TODO Auto-generated method stub return 3; } }