package org.nightlabs.jfire.trade.dashboard.ui.internal.invoice.action;
import org.nightlabs.base.ui.resource.SharedImages;
import org.nightlabs.base.ui.wizard.DynamicPathWizardDialog;
import org.nightlabs.jfire.base.dashboard.ui.action.AbstractDashboardTableAction;
import org.nightlabs.jfire.trade.dashboard.ui.internal.invoice.InvoiceTableItem;
import org.nightlabs.jfire.trade.dashboard.ui.resource.Messages;
import org.nightlabs.jfire.trade.ui.TradePlugin;
import org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.transfer.PayAction;
import org.nightlabs.jfire.trade.ui.transfer.wizard.AbstractCombiTransferWizard;
import org.nightlabs.jfire.trade.ui.transfer.wizard.CombiTransferArticleContainerWizard;
/**
* @author abieber
*
*/
public class PayInvoiceAction extends
AbstractDashboardTableAction<InvoiceTableItem> {
public PayInvoiceAction() {
setId(PayInvoiceAction.class.getName());
setText(Messages.getString("org.nightlabs.jfire.trade.dashboard.ui.internal.invoice.action.PayInvoiceAction.text")); //$NON-NLS-1$
setImageDescriptor(SharedImages.getSharedImageDescriptor(
TradePlugin.getDefault(), PayAction.class));
}
@Override
public boolean calculateEnabled() {
if (!super.calculateEnabled())
return false;
InvoiceTableItem tableItem = getFirstSelectedTableItem();
if (tableItem != null) {
return tableItem.getAmountToPay() != 0;
}
return true;
}
@Override
public void run()
{
InvoiceTableItem tableItem = getFirstSelectedTableItem();
if (tableItem != null) {
CombiTransferArticleContainerWizard wizard = new CombiTransferArticleContainerWizard(
tableItem.getInvoiceID(),
AbstractCombiTransferWizard.TRANSFER_MODE_PAYMENT);
DynamicPathWizardDialog dialog = new DynamicPathWizardDialog(wizard);
dialog.open();
}
}
}