Exemplo n.º 1
0
arWorkBench::arWorkBench(QWidget* parent, const char* name, Qt::WFlags fl)
    : QMainWindow(parent, name, fl)
{
    setupUi(this);

    (void)statusBar();

    connect(_viewAropen, SIGNAL(clicked()), this, SLOT(sViewAropen()));
    connect(_editAropen, SIGNAL(clicked()), this, SLOT(sEditAropen()));
    connect(_applyAropenCM, SIGNAL(clicked()), this, SLOT(sApplyAropenCM()));
    connect(_editAropenCM, SIGNAL(clicked()), this, SLOT(sEditAropenCM()));
    connect(_viewAropenCM, SIGNAL(clicked()), this, SLOT(sViewAropenCM()));
    connect(_ccRefundCM,   SIGNAL(clicked()), this, SLOT(sCCRefundCM()));
    connect(_cust, SIGNAL(newId(int)), this, SLOT(sFillList()));
    connect(_newCashrcpt, SIGNAL(clicked()), this, SLOT(sNewCashrcpt()));
    connect(_editCashrcpt, SIGNAL(clicked()), this, SLOT(sEditCashrcpt()));
    connect(_viewCashrcpt, SIGNAL(clicked()), this, SLOT(sViewCashrcpt()));
    connect(_deleteCashrcpt, SIGNAL(clicked()), this, SLOT(sDeleteCashrcpt()));
    connect(_postCashrcpt, SIGNAL(clicked()), this, SLOT(sPostCashrcpt()));
    connect(_preauth, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(sgetCCAmount()));
    connect(_postPreauth, SIGNAL(clicked()), this, SLOT(sPostPreauth()));
    connect(_aropen, SIGNAL(populateMenu(QMenu*, QTreeWidgetItem*)),
            this, SLOT(sPopulateAropenMenu(QMenu*)));
    connect(_aropenCM, SIGNAL(populateMenu(QMenu*, QTreeWidgetItem*)),
            this, SLOT(sPopulateAropenCMMenu(QMenu*)));
    connect(_cashrcpt, SIGNAL(populateMenu(QMenu*, QTreeWidgetItem*)),
            this, SLOT(sPopulateCashRcptMenu(QMenu*)));
    connect(_preauth, SIGNAL(populateMenu(QMenu*, QTreeWidgetItem*)),
            this, SLOT(sPopulatePreauthMenu(QMenu*)));

    _cashrcpt->addColumn(tr("Dist. Date"), _dateColumn,     Qt::AlignCenter );
    _cashrcpt->addColumn(tr("Amount"),     _bigMoneyColumn, Qt::AlignRight  );
    _cashrcpt->addColumn(tr("Currency"),   _currencyColumn, Qt::AlignLeft   );
    if (_privleges->check("MaintainCashReceipts"))
    {
        connect(_cashrcpt, SIGNAL(valid(bool)), _editCashrcpt, SLOT(setEnabled(bool)));
        connect(_cashrcpt, SIGNAL(valid(bool)), _deleteCashrcpt, SLOT(setEnabled(bool)));
        connect(_cashrcpt, SIGNAL(valid(bool)), _postCashrcpt, SLOT(setEnabled(bool)));
    }
    else
    {
        _newCashrcpt->setEnabled(FALSE);
        connect(_cashrcpt, SIGNAL(itemSelected(int)), _viewCashrcpt, SLOT(animateClick()));
    }
    if(_privleges->check("PostCashReceipts"))
        connect(_cashrcpt, SIGNAL(itemSelected(int)), _editCashrcpt, SLOT(animateClick()));
    connect(omfgThis, SIGNAL(cashReceiptsUpdated(int, bool)), this, SLOT(sFillList()));

    _aropenCM->addColumn( tr("Type"),     _ynColumn,    Qt::AlignCenter );
    _aropenCM->addColumn( tr("Doc. #"),   _itemColumn,  Qt::AlignCenter );
    _aropenCM->addColumn( tr("Amount"),   _moneyColumn, Qt::AlignRight  );
    _aropenCM->addColumn( tr("Applied"),  _moneyColumn, Qt::AlignRight  );
    _aropenCM->addColumn( tr("Balance"),  _moneyColumn, Qt::AlignRight  );
    _aropenCM->addColumn( tr("Currency"), _currencyColumn, Qt::AlignLeft );

    _aropen->addColumn(tr("Doc. Type"), -1,              Qt::AlignCenter );
    _aropen->addColumn(tr("Doc. #"),    _orderColumn,    Qt::AlignRight  );
    _aropen->addColumn(tr("Order #"),   _orderColumn,    Qt::AlignRight  );
    _aropen->addColumn(tr("Doc. Date"), _dateColumn,     Qt::AlignCenter );
    _aropen->addColumn(tr("Due Date"),  _dateColumn,     Qt::AlignCenter );
    _aropen->addColumn(tr("Amount"),    _bigMoneyColumn, Qt::AlignRight  );
    _aropen->addColumn(tr("Paid"),      _bigMoneyColumn, Qt::AlignRight  );
    _aropen->addColumn(tr("Balance"),   _bigMoneyColumn, Qt::AlignRight  );
    _aropen->addColumn( tr("Currency"), _currencyColumn, Qt::AlignLeft   );

    _preauth->addColumn(tr("Order-Seq."),  150, Qt::AlignRight  );
    _preauth->addColumn(tr("Amount"),   _bigMoneyColumn, Qt::AlignRight  );
    _preauth->addColumn(tr("Currency"), _currencyColumn, Qt::AlignLeft   );

    if(_privleges->check("EditAROpenItem"))
    {
        connect(_aropen, SIGNAL(valid(bool)), _editAropen, SLOT(setEnabled(bool)));
        connect(_aropen, SIGNAL(itemSelected(int)), _editAropen, SLOT(animateClick()));
        connect(_aropenCM, SIGNAL(valid(bool)), _editAropenCM, SLOT(setEnabled(bool)));
        connect(_aropenCM, SIGNAL(itemSelected(int)), _editAropenCM, SLOT(animateClick()));
    }
    else
    {
        connect(_aropen, SIGNAL(itemSelected(int)), _viewAropen, SLOT(animateClick()));
        connect(_aropenCM, SIGNAL(itemSelected(int)), _viewAropenCM, SLOT(animateClick()));
    }
    if (_privleges->check("ApplyARMemos"))
        connect(_aropenCM, SIGNAL(valid(bool)), _applyAropenCM, SLOT(setEnabled(bool)));

    if (omfgThis->singleCurrency())
    {
        _cashrcpt->hideColumn(2);
        _preauth->hideColumn(2);
        _aropen->hideColumn(8);
        _aropenCM->hideColumn(4);
    }

    if (_metrics->boolean("CCAccept") && _privleges->check("ProcessCreditCards"))
        connect(_aropenCM, SIGNAL(valid(bool)), _ccRefundCM, SLOT(setEnabled(bool)));
    else
    {
        _ccRefundCM->setEnabled(false);
        _preauthLit->setEnabled(false);
        _preauth->setEnabled(false);
        _postPreauth->setEnabled(false);
        _CCAmountLit->setEnabled(false);
        _CCAmount->setEnabled(false);
    }

    if(_metrics->boolean("EnableCustomerDeposits"))
        _aropenCMLit->setText(tr("A/R Open Credit Memos and Deposits"));
}
Exemplo n.º 2
0
void dspAROpenItems::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *pItem, int)
{
  QAction *menuItem = 0;

  if (((XTreeWidgetItem *)pItem)->altId() < 4)
  {
    menuItem = pMenu->addAction(tr("Print..."), this, SLOT(sPrintItem()));
    if (((XTreeWidgetItem *)pItem)->altId() == 0)
    // Invoice
      menuItem->setEnabled(_privileges->check("ViewMiscInvoices") || _privileges->check("MaintainMiscInvoices"));
    else if (((XTreeWidgetItem *)pItem)->altId() == 1 && ((XTreeWidgetItem *)pItem)->id("docnumber") > -1)
    // Credit Memo
     menuItem->setEnabled(_privileges->check("ViewCreditMemos") || _privileges->check("MaintainCreditMemos"));
    else
    // Open Item
      menuItem->setEnabled(_privileges->check("ViewAROpenItems") || _privileges->check("EditAROpenItem"));
  }
      
  pMenu->addSeparator();
  if (((XTreeWidgetItem *)pItem)->altId() == 0 && ((XTreeWidgetItem *)pItem)->rawValue("posted") == 0)
  // Invoice
  {
    menuItem = pMenu->addAction(tr("Edit Invoice..."), this, SLOT(sEdit()));
    menuItem->setEnabled(_privileges->check("MaintainMiscInvoices"));
  }
  else if (((XTreeWidgetItem *)pItem)->altId() == 1 && ((XTreeWidgetItem *)pItem)->id("docnumber") > -1)
  // Credit Memo
  {
    menuItem = pMenu->addAction(tr("Edit Credit Memo..."), this, SLOT(sEdit()));
    menuItem->setEnabled(_privileges->check("MaintainCreditMemos"));
  }
  else if (((XTreeWidgetItem *)pItem)->id() > 0)
  // Open Item
  {
    menuItem = pMenu->addAction(tr("Edit Receivable Item..."), this, SLOT(sEdit()));
    menuItem->setEnabled(_privileges->check("EditAROpenItem"));
  }
  else
  // Incident
  {
    menuItem = pMenu->addAction(tr("Edit Incident..."), this, SLOT(sEdit()));
    menuItem->setEnabled(_privileges->check("MaintainAllIncidents"));
  }

  if (((XTreeWidgetItem *)pItem)->id() > 0)
  // Open Item
  {
    menuItem = pMenu->addAction(tr("View Receivable Item..."), this, SLOT(sView()));
    menuItem->setEnabled(_privileges->check("EditAROpenItem") || _privileges->check("ViewAROpenItems"));
  }
  
  if (((XTreeWidgetItem *)pItem)->altId() == 0)
  // Invoice
  {
    if(((XTreeWidgetItem *)pItem)->rawValue("posted") != 0)
    {
      menuItem = pMenu->addAction(tr("Void Posted Invoice..."), this, SLOT(sVoidInvoiceDetails()));
      menuItem->setEnabled(_privileges->check("VoidPostedInvoices"));

      menuItem = pMenu->addAction(tr("Edit Posted Invoice..."), this, SLOT(sEditInvoiceDetails()));
      menuItem->setEnabled(_privileges->check("MaintainMiscInvoices"));
    }

    menuItem = pMenu->addAction(tr("View Invoice..."), this, SLOT(sViewInvoiceDetails()));
    menuItem->setEnabled(_privileges->check("ViewMiscInvoices"));
  
    menuItem = pMenu->addAction(tr("View Invoice Information..."), this, SLOT(sViewInvoice()));
    menuItem->setEnabled(_privileges->check("ViewMiscInvoices"));
  }
  else if (((XTreeWidgetItem *)pItem)->altId() == 1 &&
           ((XTreeWidgetItem *)pItem)->id("docnumber") > -1)
  // Credit Memo
  {
    if(((XTreeWidgetItem *)pItem)->rawValue("posted") != 0)
    {
      menuItem = pMenu->addAction(tr("Void Posted Credit Memo..."), this, SLOT(sVoidCreditMemo()));
      menuItem->setEnabled(_privileges->check("VoidPostedARCreditMemos"));
    }

    menuItem = pMenu->addAction(tr("View Credit Memo..."), this, SLOT(sViewCreditMemo()));
    menuItem->setEnabled(_privileges->check("MaintainCreditMemos") || _privileges->check("ViewCreditMemos"));
  }
  else if (((XTreeWidgetItem *)pItem)->altId() == 4)
  // Incident
  {
    menuItem = pMenu->addAction(tr("View Incident..."), this, SLOT(sViewIncident()));
    menuItem->setEnabled(_privileges->check("ViewAllIncidents") || _privileges->check("MaintainAllIncidents"));
  }
  
  if (((XTreeWidgetItem *)pItem)->altId() < 2 &&
      ((XTreeWidgetItem *)pItem)->id() == -1 &&
      !((XTreeWidgetItem *)pItem)->rawValue("posted").toBool())
  {
    pMenu->addSeparator();
    menuItem = pMenu->addAction(tr("Post..."), this, SLOT(sPost()));
    menuItem->setEnabled(_privileges->check("PostARDocuments"));
    
    if (((XTreeWidgetItem *)pItem)->altId() == 0)
    {
      menuItem = pMenu->addAction(tr("Delete..."), this, SLOT(sDeleteInvoice()));
      menuItem->setEnabled(_privileges->check("MaintainMiscInvoices"));
    }
    else
    {
      menuItem = pMenu->addAction(tr("Delete..."), this, SLOT(sDeleteCreditMemo()));
      menuItem->setEnabled(_privileges->check("MaintainCreditMemos"));
    }
  }
  
  if ((((XTreeWidgetItem *)pItem)->altId() == 1 || ((XTreeWidgetItem *)pItem)->altId() == 3) && 
      ((XTreeWidgetItem *)pItem)->rawValue("posted").toBool() && 
      ((XTreeWidgetItem *)pItem)->rawValue("open").toBool() )
  {
    pMenu->addSeparator();
    menuItem = pMenu->addAction(tr("Apply Credit Memo..."), this, SLOT(sApplyAropenCM()));
    menuItem->setEnabled(_privileges->check("ApplyARMemos"));
  }

  if ((((XTreeWidgetItem *)pItem)->id("ordernumber") > 0 && 
      ((XTreeWidgetItem *)pItem)->altId() == 0) )
  {
    pMenu->addSeparator();
    menuItem = pMenu->addAction(tr("Edit Sales Order..."), this, SLOT(sEditSalesOrder()));
    menuItem->setEnabled(_privileges->check("MaintainSalesOrders") || _privileges->check("ViewSalesOrders"));
    menuItem = pMenu->addAction(tr("View Sales Order..."), this, SLOT(sViewSalesOrder()));
    menuItem->setEnabled(_privileges->check("ViewSalesOrders"));
    menuItem = pMenu->addAction(tr("Shipment Status..."), this, SLOT(sDspShipmentStatus()));
    menuItem->setEnabled(_privileges->check("MaintainSalesOrders") || _privileges->check("ViewSalesOrders"));
    menuItem = pMenu->addAction(tr("Shipments..."), this, SLOT(sShipment()));
    menuItem->setEnabled(_privileges->check("MaintainSalesOrders") || _privileges->check("ViewSalesOrders"));
  }
  
  
  if ((((XTreeWidgetItem *)pItem)->altId() == 0 || 
      ((XTreeWidgetItem *)pItem)->altId() == 2) && 
      ((XTreeWidgetItem *)pItem)->rawValue("posted").toBool() && 
      ((XTreeWidgetItem *)pItem)->rawValue("open").toBool() )
  {
    pMenu->addSeparator();
    menuItem = pMenu->addAction(tr("New Cash Receipt..."), this, SLOT(sNewCashrcpt()));
    menuItem->setEnabled(_privileges->check("MaintainCashReceipts"));
  }

  if ((_metrics->boolean("CCAccept") &&
       ((XTreeWidgetItem *)pItem)->id("ccard_number") > 0) )
  {
    menuItem = pMenu->addAction(tr("Refund"), this, SLOT(sCCRefundCM()));
    menuItem->setEnabled( _privileges->check("ProcessCreditCards") &&
                          ((XTreeWidgetItem *)pItem)->rawValue("balance").toDouble() < 0);
  }

  if (((XTreeWidgetItem *)pItem)->id() > -1 && 
     ((XTreeWidgetItem *)pItem)->rawValue("posted").toBool() && 
     ((XTreeWidgetItem *)pItem)->rawValue("open").toBool() )
  {
    pMenu->addSeparator();
    menuItem = pMenu->addAction(tr("New Incident..."), this, SLOT(sIncident()));
    if (!_privileges->check("MaintainAllIncidents"))
      menuItem->setEnabled(false);
  }

}