enum SetResponse workCenter::set(ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("wrkcnt_id", &valid); if (valid) { _wrkcntid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _code->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _description->setFocus(); } else if (param.toString() == "copy") { _mode = cNew; _code->clear(); _code->setFocus(); } else if (param.toString() == "view") { _mode = cView; _code->setEnabled(FALSE); _description->setEnabled(FALSE); _department->setEnabled(FALSE); _warehouse->setEnabled(FALSE); _wipLocation->setEnabled(FALSE); _numOfMachines->setEnabled(FALSE); _numOfPeople->setEnabled(FALSE); _setupSpecifyRate->setEnabled(FALSE); _setupUseSelectedRate->setEnabled(FALSE); _setupRate->setEnabled(FALSE); _stdSetupRate->setEnabled(FALSE); _setupType->setEnabled(FALSE); _runSpecifyRate->setEnabled(FALSE); _runUseSelectedRate->setEnabled(FALSE); _runRate->setEnabled(FALSE); _stdRunRate->setEnabled(FALSE); _overheadPrcntOfLabor->setEnabled(FALSE); _overheadPerLaborHour->setEnabled(FALSE); _overheadPerMachHour->setEnabled(FALSE); _overheadPerUnit->setEnabled(FALSE); _avgQueueDays->setEnabled(FALSE); _avgSetup->setEnabled(FALSE); _dailyCapacity->setEnabled(FALSE); _efficiencyFactor->setEnabled(FALSE); _comments->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }
enum SetResponse hotkey::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") _mode = cNew; else if (param.toString() == "edit") { _mode = cEdit; _hotkey->setEnabled(FALSE); } } param = pParams.value("username", &valid); if (valid) { _username = param.toString(); _currentUser = FALSE; } param = pParams.value("currentUser", &valid); if (valid) _currentUser = TRUE; param = pParams.value("hotkey", &valid); if (valid) { QString value; if (_currentUser) value = _preferences->value(param.toString()); else { q.prepare( "SELECT usrpref_value " "FROM usrpref " "WHERE ( (usrpref_username=:username)" " AND (usrpref_name=:name) );" ); q.bindValue(":username", _username); q.bindValue(":name", param.toString()); q.exec(); if (q.first()) value = q.value("usrpref_value").toString(); // ToDo } if (!value.isNull()) { for (int i = 0; i < _action->topLevelItemCount(); i++) { XTreeWidgetItem *cursor = _action->topLevelItem(i); if (param.toString().left(1) == "F") _hotkey->setText(QString("F%1").arg(param.toString().right(1))); else if (param.toString().left(1) == "C") _hotkey->setText(QString("Ctrl+%1").arg(param.toString().right(1))); if (cursor->text(0) == value) { _action->setCurrentItem(cursor); _action->scrollToItem(cursor); break; } } } } return NoError; }
enum SetResponse itemSource::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("itemsrc_id", &valid); if (valid) { _itemsrcid = param.toInt(); populate(); } param = pParams.value("item_id", &valid); if (valid) { _item->setId(param.toInt()); _item->setEnabled(FALSE); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _new = true; q.exec("SELECT NEXTVAL('itemsrc_itemsrc_id_seq') AS _itemsrc_id;"); if (q.first()) _itemsrcid = q.value("_itemsrc_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _captive = true; connect(_itemsrcp, SIGNAL(valid(bool)), _edit, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(valid(bool)), _delete, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(itemSelected(int)), _edit, SLOT(animateClick())); _item->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; connect(_itemsrcp, SIGNAL(valid(bool)), _edit, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(valid(bool)), _delete, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(itemSelected(int)), _edit, SLOT(animateClick())); _item->setReadOnly(TRUE); _vendor->setEnabled(FALSE); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(TRUE); _active->setEnabled(FALSE); _default->setEnabled(FALSE); _vendor->setEnabled(FALSE); _vendorItemNumber->setEnabled(FALSE); _vendorItemDescrip->setEnabled(FALSE); _vendorUOM->setEnabled(FALSE); _invVendorUOMRatio->setEnabled(FALSE); _vendorRanking->setEnabled(FALSE); _minOrderQty->setEnabled(FALSE); _multOrderQty->setEnabled(FALSE); _leadTime->setEnabled(FALSE); _notes->setEnabled(FALSE); _add->setEnabled(FALSE); _delete->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } if (param.toString() == "copy") { _mode = cCopy; _new = true; _captive = true; int itemsrcidold = _itemsrcid; q.exec("SELECT NEXTVAL('itemsrc_itemsrc_id_seq') AS _itemsrc_id;"); if (q.first()) _itemsrcid = q.value("_itemsrc_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } connect(_itemsrcp, SIGNAL(valid(bool)), _edit, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(valid(bool)), _delete, SLOT(setEnabled(bool))); connect(_itemsrcp, SIGNAL(itemSelected(int)), _edit, SLOT(animateClick())); _item->setReadOnly(TRUE); _vendorItemNumber->setText(_vendorItemNumber->text().prepend("Copy Of ")); if (sSave()) { q.prepare("INSERT INTO itemsrcp ( " "itemsrcp_itemsrc_id, itemsrcp_qtybreak, " "itemsrcp_price, itemsrcp_updated, itemsrcp_curr_id) " "SELECT :itemsrcid, itemsrcp_qtybreak, " "itemsrcp_price, current_date, itemsrcp_curr_id " "FROM itemsrcp " "WHERE (itemsrcp_id=:itemsrcidold); "); q.bindValue(":itemsrcid", _itemsrcid); q.bindValue(":itemsrcidold", itemsrcidold); q.exec(); sFillPriceList(); } } } return NoError; }
enum SetResponse itemUOM::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("item_id", &valid); if (valid) { _itemid = param.toInt(); q.prepare("SELECT item_inv_uom_id" " FROM item" " WHERE(item_id=:item_id);"); q.bindValue(":item_id", _itemid); q.exec(); if(q.first()) { _uomidFrom = q.value("item_inv_uom_id").toInt(); _ignoreSignals = true; _uomFrom->setId(_uomidFrom); _uomTo->setId(_uomidFrom); _ignoreSignals = false; } } param = pParams.value("itemuomconv_id", &valid); if (valid) { _itemuomconvid = param.toInt(); _ignoreSignals = true; populate(); _ignoreSignals = false; } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") _mode = cNew; else if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); _uomTo->setEnabled(false); _uomFrom->setEnabled(false); } else if (param.toString() == "view") { _mode = cView; _toValue->setEnabled(false); _fromValue->setEnabled(false); _uomTo->setEnabled(false); _uomFrom->setEnabled(false); _add->setEnabled(false); _remove->setEnabled(false); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }
enum SetResponse creditMemoItem::set(const ParameterList &pParams) { QVariant param; bool valid; bool restrict = FALSE; param = pParams.value("cmhead_id", &valid); if (valid) { _cmheadid = param.toInt(); q.prepare("SELECT cmhead_taxauth_id," " COALESCE(cmhead_tax_curr_id, cmhead_curr_id) AS taxcurr " "FROM cmhead " "WHERE (cmhead_id=:cmhead_id);"); q.bindValue(":cmhead_id", _cmheadid); q.exec(); if (q.first()) { _taxauthid = q.value("cmhead_taxauth_id").toInt(); _tax->setId(q.value("taxcurr").toInt()); } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } param = pParams.value("rsncode_id", &valid); if (valid) _rsnCode->setId(param.toInt()); param = pParams.value("cust_id", &valid); if (valid) _custid = param.toInt(); param = pParams.value("shipto_id", &valid); if (valid) _shiptoid = param.toInt(); param = pParams.value("invoiceNumber", &valid); if (valid) { if ( (param.toInt() == 0) || (param.toInt() == -1) ) _invoiceNumber = -1; else { _invoiceNumber = param.toInt(); if (_metrics->boolean("RestrictCreditMemos")) restrict = TRUE; } } param = pParams.value("creditMemoNumber", &valid); if (valid) _orderNumber->setText(param.toString()); param = pParams.value("curr_id", &valid); if (valid) _netUnitPrice->setId(param.toInt()); param = pParams.value("effective", &valid); if (valid) _netUnitPrice->setEffective(param.toDate()); param = pParams.value("cmitem_id", &valid); if (valid) { _cmitemid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.prepare( "SELECT (COALESCE(MAX(cmitem_linenumber), 0) + 1) AS n_linenumber " "FROM cmitem " "WHERE (cmitem_cmhead_id=:cmhead_id);" ); q.bindValue(":cmhead_id", _cmheadid); q.exec(); if (q.first()) _lineNumber->setText(q.value("n_linenumber").toString()); else if (q.lastError().type() == QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } connect(_discountFromSale, SIGNAL(lostFocus()), this, SLOT(sCalculateFromDiscount())); connect(_item, SIGNAL(valid(bool)), _listPrices, SLOT(setEnabled(bool))); _item->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _item->setReadOnly(TRUE); _warehouse->setEnabled(FALSE); _qtyReturned->setFocus(); connect(_discountFromSale, SIGNAL(lostFocus()), this, SLOT(sCalculateFromDiscount())); connect(_item, SIGNAL(valid(bool)), _listPrices, SLOT(setEnabled(bool))); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(TRUE); _warehouse->setEnabled(FALSE); _qtyReturned->setEnabled(FALSE); _qtyToCredit->setEnabled(FALSE); _netUnitPrice->setEnabled(FALSE); _discountFromSale->setEnabled(FALSE); _comments->setReadOnly(TRUE); _taxType->setEnabled(FALSE); _taxCode->setEnabled(FALSE); _rsnCode->setEnabled(FALSE); _save->hide(); _close->setText(tr("&Close")); _close->setFocus(); } } if (restrict) _item->setQuery( QString( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2," " (item_descrip1 || ' ' || item_descrip2) AS itemdescrip," " item_active, item_config, item_type, uom_name " "FROM invchead, invcitem, item, uom " "WHERE ( (invcitem_invchead_id=invchead_id)" " AND (invcitem_item_id=item_id)" " AND (item_inv_uom_id=uom_id)" " AND (invchead_invcnumber=%1) ) " "ORDER BY item_number;" ) .arg(_invoiceNumber) ); else _item->setQuery( QString( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2," " (item_descrip1 || ' ' || item_descrip2) AS itemdescrip," " item_active, uom_name, item_type, item_config " "FROM item, itemsite, uom " "WHERE ( (itemsite_item_id=item_id)" " AND (item_inv_uom_id=uom_id)" " AND (itemsite_active)" " AND (item_active)" " AND (customerCanPurchase(item_id, %1, %2)) ) " "ORDER BY item_number;" ) .arg(_custid).arg(_shiptoid) ); return NoError; }
enum SetResponse task::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("prj_id", &valid); if (valid) _prjid = param.toInt(); param = pParams.value("prj_owner_username", &valid); if (valid) _owner->setUsername(param.toString()); param = pParams.value("prj_username", &valid); if (valid) _assignedTo->setUsername(param.toString()); param = pParams.value("prj_start_date", &valid); if (valid) _started->setDate(param.toDate()); param = pParams.value("prj_assigned_date", &valid); if (valid) _assigned->setDate(param.toDate()); param = pParams.value("prj_due_date", &valid); if (valid) _due->setDate(param.toDate()); param = pParams.value("prj_completed_date", &valid); if (valid) _completed->setDate(param.toDate()); param = pParams.value("prjtask_id", &valid); if (valid) { _prjtaskid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.exec("SELECT NEXTVAL('prjtask_prjtask_id_seq') AS prjtask_id;"); if (q.first()) _prjtaskid = q.value("prjtask_id").toInt(); else { systemError(this, tr("A System Error occurred at %1::%2.") .arg(__FILE__) .arg(__LINE__) ); } _alarms->setId(_prjtaskid); _comments->setId(_prjtaskid); } if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); } if (param.toString() == "view") { _mode = cView; _number->setEnabled(false); _name->setEnabled(false); _descrip->setEnabled(false); _status->setEnabled(false); _budgetHours->setEnabled(false); _actualHours->setEnabled(false); _budgetExp->setEnabled(false); _actualExp->setEnabled(false); _owner->setEnabled(false); _assignedTo->setEnabled(false); _due->setEnabled(false); _assigned->setEnabled(false); _started->setEnabled(false); _completed->setEnabled(false); _alarms->setEnabled(false); _save->hide(); } } return NoError; }
enum SetResponse invoiceItem::set(const ParameterList &pParams) { XSqlQuery invoiceet; XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("invchead_id", &valid); if (valid) { _invcheadid = param.toInt(); invoiceet.prepare("SELECT * " "FROM invchead " "WHERE (invchead_id = :invchead_id);"); invoiceet.bindValue(":invchead_id", _invcheadid); invoiceet.exec(); if (invoiceet.first()) { _invoiceNumber->setText(invoiceet.value("invchead_invcnumber").toString()); _custid = invoiceet.value("invchead_cust_id").toInt(); _taxzoneid = invoiceet.value("invchead_taxzone_id").toInt(); _tax->setId(invoiceet.value("invchead_curr_id").toInt()); _price->setId(invoiceet.value("invchead_curr_id").toInt()); _price->setEffective(invoiceet.value("invchead_invcdate").toDate()); sPriceGroup(); } else if (invoiceet.lastError().type() != QSqlError::NoError) { systemError(this, invoiceet.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } param = pParams.value("invcitem_id", &valid); if (valid) { _invcitemid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; invoiceet.exec("SELECT NEXTVAL('invcitem_invcitem_id_seq') AS invcitem_id;"); if (invoiceet.first()) _invcitemid = invoiceet.value("invcitem_id").toInt(); else if (invoiceet.lastError().type() != QSqlError::NoError) { systemError(this, invoiceet.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } invoiceet.prepare( "SELECT (COALESCE(MAX(invcitem_linenumber), 0) + 1) AS linenumber " "FROM invcitem " "WHERE (invcitem_invchead_id=:invchead_id);" ); invoiceet.bindValue(":invchead_id", _invcheadid); invoiceet.exec(); if (invoiceet.first()) _lineNumber->setText(invoiceet.value("linenumber").toString()); else if (invoiceet.lastError().type() != QSqlError::NoError) { systemError(this, invoiceet.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } connect(_billed, SIGNAL(editingFinished()), this, SLOT(sDeterminePrice())); connect(_billed, SIGNAL(editingFinished()), this, SLOT(sCalculateExtendedPrice())); connect(_price, SIGNAL(editingFinished()), this, SLOT(sCalculateExtendedPrice())); _item->setType(ItemLineEdit::cSold); _salescat->setType(XComboBox::SalesCategoriesActive); } else if (param.toString() == "edit") { _mode = cEdit; connect(_billed, SIGNAL(editingFinished()), this, SLOT(sDeterminePrice())); connect(_billed, SIGNAL(editingFinished()), this, SLOT(sCalculateExtendedPrice())); connect(_price, SIGNAL(editingFinished()), this, SLOT(sCalculateExtendedPrice())); } else if (param.toString() == "view") { _mode = cView; _itemTypeGroup->setEnabled(FALSE); _custPn->setEnabled(FALSE); _ordered->setEnabled(FALSE); _billed->setEnabled(FALSE); _price->setEnabled(FALSE); _notes->setReadOnly(TRUE); _taxtype->setEnabled(false); _altRevAccnt->setEnabled(false); _qtyUOM->setEnabled(false); _pricingUOM->setEnabled(false); _save->hide(); _close->setText(tr("&Cancel")); } } return NoError; }
bool projects::setParams(ParameterList ¶ms) { if (!display::setParams(params)) return false; bool valid; QVariant param; param = params.value("prjstatus_id", &valid); if (valid) params.append("prjstatus", _statuses.at(param.toInt())); if (_showComplete->isChecked()) params.append("showComplete",true); if (_salesOrders->isChecked()) params.append("showSo", true); if (_workOrders->isChecked()) params.append("showWo", true); if (_purchaseOrders->isChecked()) params.append("showPo", true); if (_incidents->isChecked()) params.append("showIn", true); params.append("planning", tr("Concept")); params.append("open", tr("In-Process")); params.append("complete", tr("Complete")); params.append("undefined", tr("Undefined")); params.append("so", tr("Sales Order")); params.append("wo", tr("Work Order")); params.append("po", tr("Purchase Order")); params.append("pr", tr("Purchase Request")); params.append("sos", tr("Sales Orders")); params.append("wos", tr("Work Orders")); params.append("pos", tr("Purchase Orders")); params.append("prs", tr("Purchase Requests")); params.append("quote", tr("Quote")); params.append("quotes", tr("Quotes")); params.append("invoice", tr("Invoice")); params.append("invoices", tr("Invoices")); params.append("task", tr("Task")); params.append("tasks", tr("Tasks")); params.append("open", tr("Open")); params.append("closed", tr("Closed")); params.append("converted", tr("Converted")); params.append("canceled", tr("Canceled")); params.append("expired", tr("Expired")); params.append("unposted", tr("Unposted")); params.append("posted", tr("Posted")); params.append("exploded", tr("Exploded")); params.append("released", tr("Released")); params.append("planning", tr("Concept")); params.append("inprocess", tr("In Process")); params.append("complete", tr("Complete")); params.append("unreleased", tr("Unreleased")); params.append("total", tr("Total")); return true; }
enum SetResponse bomItem::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("bomitem_id", &valid); if (valid) { _bomitemid = param.toInt(); populate(); } param = pParams.value("item_id", &valid); if (valid) _itemid = param.toInt(); param = pParams.value("revision_id", &valid); if (valid) _revisionid = param.toInt(); param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; QString issueMethod = _metrics->value("DefaultWomatlIssueMethod"); if (issueMethod == "S") _issueMethod->setCurrentIndex(0); else if (issueMethod == "L") _issueMethod->setCurrentIndex(1); else if (issueMethod == "M") _issueMethod->setCurrentIndex(2); q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } //Set up configuration tab if parent item is configured or kit q.prepare("SELECT item_config, item_type " "FROM item " "WHERE (item_id=:item_id); "); q.bindValue(":item_id", _itemid); q.exec(); if (q.first()) { if (q.value("item_config").toBool()) _char->populate(QString( "SELECT -1 AS charass_char_id, '' AS char_name " "UNION " "SELECT DISTINCT charass_char_id, char_name " "FROM charass, char " "WHERE ((charass_char_id=char_id) " "AND (charass_target_type='I') " "AND (charass_target_id= %1)) " "ORDER BY char_name; ").arg(_itemid)); else _tab->removeTab(_tab->indexOf(_configurationTab)); if (q.value("item_type").toString() == "K") { if (_metrics->boolean("AllowInactiveBomItems")) _item->setType(ItemLineEdit::cKitComponents); else _item->setType(ItemLineEdit::cKitComponents | ItemLineEdit::cActive); } } _item->setFocus(); } else if (param.toString() == "replace") { _mode = cReplace; _item->setId(-1); _dates->setStartDate(omfgThis->dbDate()); _item->setFocus(); _sourceBomitemid = _bomitemid; q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } else if (param.toString() == "edit") { _mode = cEdit; _item->setReadOnly(TRUE); } else if (param.toString() == "copy") { _mode = cCopy; _sourceBomitemid = _bomitemid; q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _dates->setStartDate(omfgThis->dbDate()); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(TRUE); _qtyFxd->setEnabled(FALSE); _qtyPer->setEnabled(FALSE); _scrap->setEnabled(FALSE); _dates->setEnabled(FALSE); _createWo->setEnabled(FALSE); _issueMethod->setEnabled(FALSE); _uom->setEnabled(FALSE); _comments->setReadOnly(TRUE); _ecn->setEnabled(FALSE); _substituteGroup->setEnabled(FALSE); _notes->setEnabled(FALSE); _ref->setEnabled(FALSE); _buttonBox->setStandardButtons(QDialogButtonBox::Close); _buttonBox->setFocus(); } } // Check the parent item type and if it is a Kit then change some widgets q.prepare("SELECT item_type " "FROM item " "WHERE (item_id=:item_id); "); q.bindValue(":item_id", _itemid); q.exec(); if (q.first() && (q.value("item_type").toString() == "K")) { _createWo->setChecked(false); _createWo->setEnabled(false); _issueMethod->setCurrentIndex(0); _issueMethod->setEnabled(false); _tab->setTabEnabled(_tab->indexOf(_substitutionsTab), false); } return NoError; }
int CreditCardProcessor::updateCCPay(int &pccpayid, ParameterList &pparams) { if (DEBUG) qDebug("updateCCPay(%d, %d params)", pccpayid, pparams.size()); QString sql; XSqlQuery ccq; bool valid; QVariant param; QString r_error; param = pparams.value("r_error", &valid); if (valid) r_error = param.toString(); if (pccpayid > 0) { sql = "UPDATE ccpay SET" "<? if exists(\"fromcurr\") ?>" " ccpay_amount=ROUND(currToCurr(<? value(\"fromcurr\") ?>," " <? value(\"tocurr\") ?>," " <? value(\"amount\") ?>," " CURRENT_DATE), 2)," " ccpay_curr_id=<? value(\"currid\") ?>," "<? else ?>" " ccpay_amount=ROUND(<? value(\"amount\") ?>, 2)," " ccpay_curr_id=<? value(\"currid\") ?>," "<? endif ?>" " ccpay_auth=<? value(\"auth\") ?>," " ccpay_r_approved=<? value(\"approved\") ?>," " ccpay_r_avs=<? value(\"avs\") ?>," " ccpay_r_code=<? value(\"code\") ?>," " ccpay_r_error=<? value(\"error\") ?>," " ccpay_r_message=<? value(\"message\") ?>," " ccpay_r_ordernum=<? value(\"ordernum\") ?>," " ccpay_r_ref=<? value(\"ref\") ?>," "<? if exists(\"shipping\") ?>" " ccpay_r_shipping=<? value(\"shipping\") ?>," "<? endif ?>" "<? if exists(\"score\") ?>" " ccpay_yp_r_score=<? value(\"score\") ?>," "<? endif ?>" "<? if exists(\"tax\") ?>" " ccpay_r_tax=<? value(\"tax\") ?>," "<? endif ?>" "<? if exists(\"tdate\") ?>" " ccpay_yp_r_tdate=<? value(\"tdate\") ?>," "<? endif ?>" "<? if exists(\"time\") ?>" " ccpay_yp_r_time=<? value(\"time\")?>," "<? endif ?>" " ccpay_status=<? value(\"status\") ?>" " WHERE (ccpay_id=<? value(\"ccpay_id\") ?>);" ; } else { ccq.exec("SELECT NEXTVAL('ccpay_ccpay_id_seq') AS ccpay_id;"); if (ccq.first()) pccpayid = ccq.value("ccpay_id").toInt(); else if (ccq.lastError().type() != QSqlError::None && r_error.isEmpty()) { _errorMsg = errorMsg(4).arg(ccq.lastError().databaseText()); return 1; } else if (ccq.lastError().type() == QSqlError::None && r_error.isEmpty()) { _errorMsg = errorMsg(4).arg(errorMsg(2)); return 2; } else // no rows found and YP reported an error { _errorMsg = errorMsg(-12).arg(r_error); return -12; } if (pparams.inList("ordernum") && pparams.value("ordernum").toInt() > 0) { QString maxs("SELECT MAX(COALESCE(ccpay_order_number_seq, -1)) + 1" " AS next_seq " " FROM ccpay " " WHERE (ccpay_order_number=<? value(\"ordernum\") ?>);"); MetaSQLQuery maxm(maxs); ccq = maxm.toQuery(pparams); if (ccq.first()) pparams.append("next_seq", ccq.value("next_seq")); else pparams.append("next_seq", 0); } else pparams.append("next_seq", 0); sql = "INSERT INTO ccpay (" " ccpay_id, ccpay_ccard_id, ccpay_cust_id," " ccpay_type," " ccpay_amount," " ccpay_curr_id," " ccpay_auth, ccpay_auth_charge," " ccpay_order_number," " ccpay_order_number_seq," " ccpay_r_approved, ccpay_r_avs," " ccpay_r_code, ccpay_r_error," " ccpay_r_message, ccpay_r_ordernum," " ccpay_r_ref," "<? if exists(\"score\") ?> ccpay_yp_r_score, <? endif ?>" "<? if exists(\"shipping\") ?> ccpay_r_shipping, <? endif ?>" "<? if exists(\"tax\") ?> ccpay_r_tax, <? endif ?>" "<? if exists(\"tdate\") ?> ccpay_yp_r_tdate, <? endif ?>" "<? if exists(\"time\") ?> ccpay_yp_r_time, <? endif ?>" " ccpay_status" ") SELECT <? value(\"ccpay_id\") ?>, ccard_id, cust_id," " <? value(\"type\") ?>," "<? if exists(\"fromcurr\") ?>" " ROUND(currToCurr(<? value(\"fromcurr\") ?>," " <? value(\"tocurr\") ?>," " <? value(\"amount\") ?>,CURRENT_DATE), 2)," " <? value(\"tocurr\") ?>," "<? else ?>" " ROUND(<? value(\"amount\") ?>, 2)," " <? value(\"currid\") ?>," "<? endif ?>" " <? value(\"auth\") ?>, <? value(\"auth_charge\") ?>," " <? value(\"ordernum\") ?>," " COALESCE(<? value(\"next_seq\") ?>, 1)," " <? value(\"approved\") ?>, <? value(\"avs\") ?>," " <? value(\"code\") ?>, <? value(\"error\") ?>," " <? value(\"message\") ?>, <? value(\"reforder\") ?>," " <? value(\"ref\") ?>," "<? if exists(\"score\") ?> <? value(\"score\") ?>, <? endif ?>" "<? if exists(\"shipping\") ?> <? value(\"shipping\") ?>,<? endif ?>" "<? if exists(\"tax\") ?> <? value(\"tax\") ?>, <? endif ?>" "<? if exists(\"tdate\") ?> <? value(\"tdate\") ?>, <? endif ?>" "<? if exists(\"time\") ?> <? value(\"time\") ?>, <? endif ?>" " <? value(\"status\") ?>" " FROM ccard, custinfo" " WHERE ((ccard_cust_id=cust_id)" " AND (ccard_id=<? value(\"ccard_id\") ?>));"; } pparams.append("ccpay_id", pccpayid); MetaSQLQuery mql(sql); ccq = mql.toQuery(pparams); if (ccq.lastError().type() != QSqlError::None) { pccpayid = -1; _errorMsg = errorMsg(4).arg(ccq.lastError().databaseText()); return 1; } return 0; }
bool dspGLTransactions::setParams(ParameterList ¶ms) { if (!display::setParams(params)) return false; bool valid; QVariant param; param = params.value("accnttype_id", &valid); if (valid) { int typid = param.toInt(); QString type; if (typid == 1) type = "A"; else if (typid ==2) type = "E"; else if (typid ==3) type = "L"; else if (typid ==4) type = "Q"; else if (typid ==5) type = "R"; params.append("accntType", type); } param = params.value("source_id", &valid); if (valid) params.append("source", _sources.at(param.toInt())); param = params.value("num_id", &valid); if (valid) { XSqlQuery num; num.prepare("SELECT accnt_number " "FROM accnt " "WHERE (accnt_id=:accnt_id);"); num.bindValue(":accnt_id", params.value("num_id").toInt()); num.exec(); if (num.first()) params.append("accnt_number", num.value("accnt_number").toString()); } param = params.value("accnt_id", &valid); if (valid) { if (_showRunningTotal->isChecked() && _showRunningTotal->isVisible()) { double beginning = 0; QDate periodStart = params.value("startDate").toDate(); XSqlQuery begq; begq.prepare("SELECT " " CASE WHEN accnt_type IN ('A','E') THEN " " trialbal_beginning * -1 " " ELSE trialbal_beginning END AS trialbal_beginning," " period_start " "FROM trialbal " " JOIN accnt ON (trialbal_accnt_id=accnt_id), " " period " "WHERE ((trialbal_period_id=period_id)" " AND (trialbal_accnt_id=:accnt_id)" " AND (:start BETWEEN period_start AND period_end));"); begq.bindValue(":accnt_id", params.value("accnt_id").toInt()); begq.bindValue(":start", params.value("startDate").toDate()); begq.exec(); if (begq.first()) { beginning = begq.value("trialbal_beginning").toDouble(); periodStart = begq.value("period_start").toDate(); } else if (begq.lastError().type() != QSqlError::NoError) { systemError(this, begq.lastError().databaseText(), __FILE__, __LINE__); return false; } XSqlQuery glq; glq.prepare("SELECT CASE WHEN accnt_type IN ('A','E') THEN " " COALESCE(SUM(gltrans_amount),0) * -1" " ELSE COALESCE(SUM(gltrans_amount),0) END AS glamount " "FROM gltrans " " JOIN accnt ON (gltrans_accnt_id=accnt_id) " "WHERE ((gltrans_date BETWEEN :periodstart AND date :querystart - interval '1 day')" " AND (gltrans_accnt_id=:accnt_id)) " "GROUP BY accnt_type;"); glq.bindValue(":periodstart", periodStart); glq.bindValue(":querystart", params.value("startDate").toDate()); glq.bindValue(":accnt_id", params.value("accnt_id").toInt()); glq.exec(); if (glq.first()) beginning += glq.value("glamount").toDouble(); else if (glq.lastError().type() != QSqlError::NoError) { systemError(this, glq.lastError().databaseText(), __FILE__, __LINE__); return false; } params.append("beginningBalance", beginning); } } return true; }
void dspGLTransactions::sFillList() { if (!_metrics->boolean("ManualForwardUpdate") && _selectedAccount->isChecked() && _showRunningTotal->isChecked()) { if (!forwardUpdate()) return; } MetaSQLQuery mql("SELECT gltrans.*," " CASE WHEN(gltrans_docnumber='Misc.' AND" " invhist_docnumber IS NOT NULL) THEN" " (gltrans_docnumber || ' - ' || invhist_docnumber)" " ELSE gltrans_docnumber" " END AS docnumber," " firstLine(gltrans_notes) AS notes," " (formatGLAccount(accnt_id) || ' - ' || accnt_descrip) AS account," " CASE WHEN (gltrans_amount < 0) THEN ABS(gltrans_amount)" " ELSE NULL" " END AS debit," " CASE WHEN (gltrans_amount > 0) THEN gltrans_amount" " ELSE NULL" " END AS credit," " CASE WHEN accnt_type IN ('A','E') THEN " " gltrans_amount * -1 " " ELSE gltrans_amount END AS running," " 'curr' AS debit_xtnumericrole," " 'curr' AS credit_xtnumericrole," " 'curr' AS running_xtnumericrole," " 0 AS running_xtrunningrole," " <? value(\"beginningBalance\") ?> AS running_xtrunninginit " "FROM gltrans JOIN accnt ON (gltrans_accnt_id=accnt_id) " " LEFT OUTER JOIN invhist ON (gltrans_misc_id=invhist_id" " AND gltrans_docnumber='Misc.') " "WHERE ((gltrans_date BETWEEN <? value(\"startDate\") ?>" " AND <? value(\"endDate\") ?>)" "<? if exists(\"accnt_id\") ?>" " AND (gltrans_accnt_id=<? value(\"accnt_id\") ?>)" "<? endif ?>" "<? if exists(\"source\") ?>" " AND (gltrans_source=<? value(\"source\") ?>)" "<? endif ?>" ") " "ORDER BY gltrans_created" "<? if not exists(\"beginningBalance\") ?> DESC <? endif ?>," " gltrans_sequence, gltrans_amount;"); ParameterList params; if (! setParams(params)) return; _beginningBalanceLit->setVisible(_selectedAccount->isChecked() && _showRunningTotal->isChecked()); _beginningBalance->setVisible(_selectedAccount->isChecked() && _showRunningTotal->isChecked()); if (_selectedAccount->isChecked() && _showRunningTotal->isChecked()) { _gltrans->showColumn("running"); qDebug("begbal %f", params.value("beginningBalance").toDouble()); _beginningBalance->setDouble(params.value("beginningBalance").toDouble()); } else _gltrans->hideColumn("running"); q = mql.toQuery(params); _gltrans->populate(q); if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return; } }
enum SetResponse itemPricingSchedule::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _name->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); } else if (param.toString() == "copy") { _mode = cCopy; _name->setFocus(); } else if (param.toString() == "view") { _mode = cView; _name->setEnabled(FALSE); _descrip->setEnabled(FALSE); _dates->setEnabled(FALSE); _currency->setEnabled(FALSE); _new->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } param = pParams.value("ipshead_id", &valid); if (valid) { _ipsheadid = param.toInt(); populate(); } if ( (_mode == cNew) || (_mode == cEdit) || (_mode == cCopy) ) { connect(_ipsitem, SIGNAL(valid(bool)), _edit, SLOT(setEnabled(bool))); connect(_ipsitem, SIGNAL(valid(bool)), _delete, SLOT(setEnabled(bool))); connect(_ipsitem, SIGNAL(itemSelected(int)), _edit, SLOT(animateClick())); } if ( (_mode == cNew) ) { q.exec("SELECT NEXTVAL('ipshead_ipshead_id_seq') AS ipshead_id;"); if (q.first()) _ipsheadid = q.value("ipshead_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, _rejectedMsg.arg(q.lastError().databaseText()), __FILE__, __LINE__); reject(); return UndefinedError; } } return NoError; }
enum SetResponse returnAuthItemLotSerial::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("item_id", &valid); if (valid) { _item->setId(param.toInt()); _lotSerial->setItemId(param.toInt()); if (_warehouseid != -1) populateItemsite(); } param = pParams.value("raitem_id", &valid); if (valid) { _raitemid = param.toInt(); q.prepare("SELECT crmacct_id " "FROM raitem,rahead,crmacct " "WHERE ((raitem_id=:raitem_id) " "AND (raitem_rahead_id=rahead_id) " "AND (crmacct_cust_id=rahead_cust_id)); "); q.bindValue(":raitem_id", _raitemid); q.exec(); if (q.first()) _crmacctid = q.value("crmacct_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); done(-1); } } param = pParams.value("warehouse_id", &valid); if (valid) { _warehouseid = param.toInt(); if (_item->id() != -1) populateItemsite(); } param = pParams.value("uom", &valid); if (valid) _qtyUOM->setText(param.toString()); param = pParams.value("ls_id", &valid); if (valid) _lotSerial->setId(param.toInt()); param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _lotSerial->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _qtyAuth->setFocus(); } else if (param.toString() == "view") { _mode = cView; _lotSerial->setEnabled(FALSE); _qtyAuth->setEnabled(FALSE); _cancel->setText(tr("&Close")); _save->hide(); _cancel->setFocus(); } } return NoError; }
enum SetResponse arOpenItem::set( const ParameterList &pParams ) { QVariant param; bool valid; param = pParams.value("aropen_id", &valid); if (valid) { _aropenid = param.toInt(); populate(); } param = pParams.value("docType", &valid); if (valid) { if (param.toString() == "creditMemo") { setCaption(caption() + tr(" - Enter Misc. Credit Memo")); _docType->setCurrentItem(0); } else if (param.toString() == "debitMemo") { setCaption(caption() + tr(" - Enter Misc. Debit Memo")); _docType->setCurrentItem(1); } else if (param.toString() == "invoice") _docType->setCurrentItem(2); else if (param.toString() == "customerDeposit") _docType->setCurrentItem(3); else return UndefinedError; // ToDo - better error return types _docType->setEnabled(FALSE); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.exec("SELECT fetchARMemoNumber() AS number;"); if (q.first()) _docNumber->setText(q.value("number").toString()); else if (q.lastError().type() != QSqlError::None) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _paid->clear(); _commissionPaid->clear(); _save->setText(tr("Post")); } else if (param.toString() == "edit") { _mode = cEdit; _cust->setReadOnly(TRUE); _docDate->setEnabled(FALSE); _docType->setEnabled(FALSE); _docNumber->setEnabled(FALSE); _orderNumber->setEnabled(FALSE); _journalNumber->setEnabled(FALSE); _terms->setEnabled(FALSE); _altPrepaid->setEnabled(FALSE); } else if (param.toString() == "view") { _mode = cView; _cust->setReadOnly(TRUE); _docDate->setEnabled(FALSE); _dueDate->setEnabled(FALSE); _docType->setEnabled(FALSE); _docNumber->setEnabled(FALSE); _orderNumber->setEnabled(FALSE); _journalNumber->setEnabled(FALSE); _amount->setEnabled(FALSE); _terms->setEnabled(FALSE); _salesrep->setEnabled(FALSE); _commissionDue->setEnabled(FALSE); _commissionPaid->setEnabled(FALSE); _rsnCode->setEnabled(FALSE); _altPrepaid->setEnabled(FALSE); _notes->setReadOnly(TRUE); _save->hide(); _close->setText(tr("&Close")); } else return UndefinedError; } return NoError; }
enum SetResponse contact::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("cntct_id", &valid); if (valid) { _captive = TRUE; _contact->setId(param.toInt()); _comments->setId(_contact->id()); sPopulate(); } param = pParams.value("crmacct_id", &valid); if (valid) { _crmAccount->setId(param.toInt()); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.exec("SELECT fetchNextNumber('ContactNumber') AS result;"); q.first(); _number->setText(q.value("result").toString()); _contact->setNumber(_number->text()); _contact->setFirst("Contact" + QDateTime::currentDateTime().toString()); int cntctSaveResult = _contact->save(AddressCluster::CHANGEONE); if (cntctSaveResult < 0) { systemError(this, tr("There was an error creating a new contact (%).\n" "Check the database server log for errors.") .arg(cntctSaveResult), __FILE__, __LINE__); return UndefinedError; } _comments->setId(_contact->id()); _contact->setFirst(""); connect(_charass, SIGNAL(valid(bool)), _editCharacteristic, SLOT(setEnabled(bool))); connect(_charass, SIGNAL(valid(bool)), _deleteCharacteristic, SLOT(setEnabled(bool))); _contact->setOwnerUsername(omfgThis->username()); _contact->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; connect(_charass, SIGNAL(valid(bool)), _editCharacteristic, SLOT(setEnabled(bool))); connect(_charass, SIGNAL(valid(bool)), _deleteCharacteristic, SLOT(setEnabled(bool))); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _save->hide(); _close->setText(tr("&Close")); _contact->setEnabled(FALSE); _notes->setEnabled(FALSE); _comments->setEnabled(FALSE); _newCharacteristic->setEnabled(FALSE); _editCharacteristic->setEnabled(FALSE); _deleteCharacteristic->setEnabled(FALSE); _close->setFocus(); } } return NoError; }
enum SetResponse lotSerialRegistration::set(const ParameterList &pParams) { XSqlQuery lotet; XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("crmacct_id", &valid); if (valid) _crmacct->setId(param.toInt()); param = pParams.value("item_id", &valid); if (valid) _item->setId(param.toInt()); param = pParams.value("ls_id", &valid); if (valid) _lotSerial->setId(param.toInt()); param = pParams.value("lsreg_id", &valid); if (valid) _lsregid=param.toInt(); param = pParams.value("mode", &valid); if (valid) { _mode = cNew; if (param.toString() == "new") { _mode = cNew; lotet.exec ("SELECT fetchlsregnumber() AS number;"); if (lotet.first()) _regNumber->setText(lotet.value("number").toString()); else if(lotet.lastError().type() != QSqlError::NoError) { systemError(this, lotet.lastError().databaseText(), __FILE__, __LINE__); reject(); } lotet.exec("SELECT NEXTVAL('lsreg_lsreg_id_seq') AS _lsreg_id;"); if (lotet.first()) _lsregid = lotet.value("_lsreg_id").toInt(); else if (lotet.lastError().type() != QSqlError::NoError) { systemError(this, lotet.lastError().databaseText(), __FILE__, __LINE__); reject(); } _qty->setText("1"); } else if (param.toString() == "edit") { _mode = cEdit; populate(); _itemGroup->setEnabled(false); } else if (param.toString() == "view") { _mode = cView; _regDate->setEnabled(false); _soldDate->setEnabled(false); _expireDate->setEnabled(false); _crmacct->setEnabled(false); _cntct->setEnabled(false); _type->setEnabled(false); _item->setReadOnly(true); _lotSerial->setEnabled(false); _newChar->setEnabled(false); _editChar->setEnabled(false); _deleteChar->setEnabled(false); _notes->setEnabled(false); _buttonBox->clear(); _buttonBox->addButton(QDialogButtonBox::Close); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } return NoError; }
enum SetResponse createLotSerial::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("itemloc_series", &valid); if (valid) _itemlocSeries = param.toInt(); param = pParams.value("itemlocdist_id", &valid); if (valid) { _itemlocdistid = param.toInt(); q.prepare( "SELECT item_fractional, itemsite_controlmethod, itemsite_item_id," " itemsite_id, itemsite_perishable, itemsite_warrpurc, " " invhist_ordtype, invhist_transtype, invhist_docnumber " "FROM itemlocdist, itemsite, item, invhist " "WHERE ( (itemlocdist_itemsite_id=itemsite_id)" " AND (itemsite_item_id=item_id)" " AND (itemlocdist_invhist_id=invhist_id) " " AND (itemlocdist_id=:itemlocdist_id) );" ); q.bindValue(":itemlocdist_id", _itemlocdistid); q.exec(); if (q.first()) { if (q.value("itemsite_controlmethod").toString() == "S") { _serial = true; _qtyToAssign->setText("1"); _qtyToAssign->setEnabled(FALSE); } else _serial = false; _item->setItemsiteid(q.value("itemsite_id").toInt()); _itemsiteid = q.value("itemsite_id").toInt(); _expiration->setEnabled(q.value("itemsite_perishable").toBool()); _warranty->setEnabled(q.value("itemsite_warrpurc").toBool() && q.value("invhist_ordtype").toString() == "PO"); _fractional = q.value("item_fractional").toBool(); //If there is preassigned trace info for an associated order, force user to select from list XSqlQuery preassign; preassign.prepare("SELECT lsdetail_id,ls_number,ls_number " "FROM lsdetail,ls " "WHERE ( (lsdetail_source_number=:docnumber) " "AND (lsdetail_source_type=:transtype) " "AND (lsdetail_ls_id=ls_id) " "AND (lsdetail_qtytoassign > 0) )"); preassign.bindValue(":transtype", q.value("invhist_transtype").toString()); preassign.bindValue(":docnumber", q.value("invhist_docnumber").toString()); preassign.exec(); if (preassign.first()) { _lotSerial->setEditable(FALSE); _lotSerial->populate(preassign); _preassigned = true; } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } param = pParams.value("qtyRemaining", &valid); if (valid) _qtyRemaining->setText(param.toString()); return NoError; }
enum SetResponse bomItem::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("bomitem_id", &valid); if (valid) { _bomitemid = param.toInt(); populate(); } param = pParams.value("item_id", &valid); if (valid) _itemid = param.toInt(); param = pParams.value("revision_id", &valid); if (valid) _revisionid = param.toInt(); param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _booitemseqid = -1; QString issueMethod = _metrics->value("DefaultWomatlIssueMethod"); if (issueMethod == "S") _issueMethod->setCurrentItem(0); else if (issueMethod == "L") _issueMethod->setCurrentItem(1); else if (issueMethod == "M") _issueMethod->setCurrentItem(2); q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::None) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } //Set up configuration tab if parent item is configured q.prepare("SELECT item_config " "FROM item " "WHERE (item_id=:item_id); "); q.bindValue(":item_id", _itemid); q.exec(); if (q.first()) { if (q.value("item_config").toBool()) _char->populate(QString( "SELECT -1 AS charass_char_id, '' AS char_name " "UNION " "SELECT DISTINCT charass_char_id, char_name " "FROM charass, char " "WHERE ((charass_char_id=char_id) " "AND (charass_target_type='I') " "AND (charass_target_id= %1)) " "ORDER BY char_name; ").arg(_itemid)); else _tab->removeTab(_tab->indexOf(_configurationTab)); } _item->setFocus(); } else if (param.toString() == "replace") { _mode = cReplace; _item->setId(-1); _dates->setStartDate(omfgThis->dbDate()); _item->setFocus(); _sourceBomitemid = _bomitemid; q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::None) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } else if (param.toString() == "edit") { _mode = cEdit; _item->setReadOnly(TRUE); _save->setFocus(); } else if (param.toString() == "copy") { _mode = cCopy; _sourceBomitemid = _bomitemid; q.exec("SELECT NEXTVAL('bomitem_bomitem_id_seq') AS bomitem_id"); if (q.first()) _bomitemid = q.value("bomitem_id").toInt(); else if (q.lastError().type() != QSqlError::None) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _dates->setStartDate(omfgThis->dbDate()); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(TRUE); _qtyPer->setEnabled(FALSE); _scrap->setEnabled(FALSE); _dates->setEnabled(FALSE); _createWo->setEnabled(FALSE); _issueMethod->setEnabled(FALSE); _uom->setEnabled(FALSE); _booitemList->setEnabled(FALSE); _scheduleAtWooper->setEnabled(FALSE); _comments->setReadOnly(TRUE); _ecn->setEnabled(FALSE); _substituteGroup->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }
enum SetResponse characteristicAssignment::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("item_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "I"; handleTargetType(); } param = pParams.value("cust_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "C"; handleTargetType(); } param = pParams.value("crmacct_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "CRMACCT"; handleTargetType(); } param = pParams.value("addr_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "ADDR"; handleTargetType(); } param = pParams.value("cntct_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "CNTCT"; handleTargetType(); } param = pParams.value("custtype_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "CT"; handleTargetType(); } param = pParams.value("ls_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "LS"; handleTargetType(); } param = pParams.value("lsreg_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "LSR"; handleTargetType(); } param = pParams.value("ophead_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "OPP"; handleTargetType(); } param = pParams.value("emp_id", &valid); if (valid) { _targetId = param.toInt(); _targetType = "EMP"; handleTargetType(); } param = pParams.value("charass_id", &valid); if (valid) { _charassid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _char->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _char->setEnabled(FALSE); _value->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } param = pParams.value("showPrices", &valid); if (valid) { _listpriceLit->show(); _listprice->show(); } return NoError; }
int login2::set(ParameterList &pParams, QSplashScreen *pSplash) { _splash = pSplash; QVariant param; bool valid; param = pParams.value("username", &valid); if (valid) { _username->setText(param.toString()); _password->setFocus(); _captive = TRUE; } else { _username->setFocus(); _captive = FALSE; } param = pParams.value("password", &valid); if (valid) { _password->setText(param.toString()); _captive = TRUE; } param = pParams.value("copyright", &valid); if (valid) _copyrightLit->setText(param.toString()); param = pParams.value("version", &valid); if (valid) _versionLit->setText(tr("Version ") + param.toString()); param = pParams.value("build", &valid); if (valid) _build->setText(param.toString()); param = pParams.value("evaluation", &valid); if (valid) _demoOption->setChecked(TRUE); param = pParams.value("cloud", &valid); if (valid) _cloudOption->setChecked(true); param = pParams.value("company", &valid); if (valid) _company->setText(param.toString()); param = pParams.value("name", &valid); if (valid) _nameLit->setText(param.toString()); param = pParams.value("databaseURL", &valid); if (valid) _databaseURL = param.toString(); populateDatabaseInfo(); param = pParams.value("nonxTupleDB", &valid); if (valid) _nonxTupleDB = true; param = pParams.value("multipleConnections", &valid); if (valid) _multipleConnections = true; param = pParams.value("enhancedAuth", &valid); if (valid) _enhancedAuth = param.toBool(); param = pParams.value("requireSSL", &valid); if (valid) _requireSSL = param.toBool(); if(pParams.inList("login")) sLogin(); return 0; }
enum SetResponse state::set(const ParameterList &pParams) { qDebug("state::set() entered"); XDialog::set(pParams); QVariant param; bool valid; qDebug("state::set() about to check for country"); param = pParams.value("country_id", &valid); if (valid) { qDebug("setting country"); _country->setId(param.toInt()); } qDebug("state::set() about to check for state"); param = pParams.value("state_id", &valid); if (valid) { qDebug("setting state"); _stateid = param.toInt(); populate(); } qDebug("state::set() about to check for mode"); param = pParams.value("mode", &valid); if (valid) { qDebug("setting mode"); if (param.toString() == "new") { _mode = cNew; if (_country->isValid()) _abbr->setFocus(); else _country->setFocus(); enableWindowModifiedSetting(); } else if (param.toString() == "edit") { _mode = cEdit; _abbr->setFocus(); enableWindowModifiedSetting(); } else if (param.toString() == "view") { _mode = cView; _country->setEnabled(FALSE); _abbr->setEnabled(FALSE); _name->setEnabled(FALSE); _save->hide(); _close->setText(tr("&Close")); _close->setFocus(); } } return NoError; }
enum SetResponse itemPricingScheduleItem::set(const ParameterList &pParams) { XSqlQuery itemet; XSqlQuery prodcatet; XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("ipshead_id", &valid); if (valid) _ipsheadid = param.toInt(); param = pParams.value("curr_id", &valid); if (valid) { _price->setId(param.toInt()); _priceFreight->setId(param.toInt()); } param = pParams.value("updated", &valid); if (valid) { _price->setEffective(param.toDate()); _priceFreight->setEffective(param.toDate()); } param = pParams.value("ipsitem_id", &valid); if (valid) { _ipsitemid = param.toInt(); populate(); } param = pParams.value("ipsfreight_id", &valid); if (valid) { _ipsfreightid = param.toInt(); _freightSelected->setChecked(true); populate(); } param = pParams.value("listpricesched", &valid); if (valid) { _listpricesched = true; _freightSelected->setChecked(false); _freightSelected->hide(); _qtyBreak->setDouble(1.0); _qtyBreak->setEnabled(false); _qtyBreakCat->setDouble(1.0); _qtyBreakCat->setEnabled(false); _markupQtyBreakCat->setDouble(1.0); _markupQtyBreakCat->setEnabled(false); _dscbyprodcat->setChecked(false); _dscbyprodcat->setEnabled(false); _markupbyprodcat->setChecked(false); _markupbyprodcat->setEnabled(false); _listPriceLit->setText(tr("Item List Price")); setWindowTitle(tr("List Pricing Schedule Item")); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; } else if (param.toString() == "edit") { _mode = cEdit; _item->setReadOnly(true); _prodcat->setEnabled(false); _markupProdcat->setEnabled(false); _typeGroup->setEnabled(false); _dscitem->setReadOnly(true); _markupitem->setReadOnly(true); _discountBy->setEnabled(false); _markupBy->setEnabled(false); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(true); _prodcat->setEnabled(false); _qtyBreak->setEnabled(false); _qtyBreakCat->setEnabled(false); _qtyBreakFreight->setEnabled(false); _price->setEnabled(false); _discount->setEnabled(false); _fixedAmtDiscount->setEnabled(false); _markup->setEnabled(false); _fixedAmtMarkup->setEnabled(false); _priceFreight->setEnabled(false); _typeGroup->setEnabled(false); _typeFreightGroup->setEnabled(false); _siteFreight->setEnabled(false); _zoneFreightGroup->setEnabled(false); _shipViaFreightGroup->setEnabled(false); _freightClassGroup->setEnabled(false); _dscitem->setReadOnly(true); _discountBy->setEnabled(false); _markupBy->setEnabled(false); _buttonBox->setStandardButtons(QDialogButtonBox::Close); } } return NoError; }
enum SetResponse invoice::set(const ParameterList &pParams) { XWidget::set(pParams); QVariant param; bool valid; param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { setObjectName("invoice new"); _mode = cNew; q.exec("SELECT NEXTVAL('invchead_invchead_id_seq') AS invchead_id;"); if (q.first()) { _invcheadid = q.value("invchead_id").toInt(); _recurring->setParent(_invcheadid, "I"); } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } if ((_metrics->value("InvcNumberGeneration") == "A") || (_metrics->value("InvcNumberGeneration") == "O")) { q.exec("SELECT fetchInvcNumber() AS number;"); if (q.first()) { _invoiceNumber->setText(q.value("number").toString()); if (_metrics->value("InvcNumberGeneration") == "A") _invoiceNumber->setEnabled(false); } else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _cust->setFocus(); } else sCheckInvoiceNumber(); _orderDate->setDate(omfgThis->dbDate()); _shipDate->setDate(omfgThis->dbDate()); _invoiceDate->setDate(omfgThis->dbDate(), true); q.prepare("INSERT INTO invchead (" " invchead_id, invchead_invcnumber, invchead_orderdate," " invchead_invcdate, invchead_cust_id, invchead_posted," " invchead_printed, invchead_commission, invchead_freight," " invchead_misc_amount, invchead_shipchrg_id " ") VALUES (" " :invchead_id, :invchead_invcnumber, :invchead_orderdate, " " :invchead_invcdate, -1, false," " false, 0, 0," " 0, -1" ");"); q.bindValue(":invchead_id", _invcheadid); q.bindValue(":invchead_invcnumber",_invoiceNumber->text().isEmpty() ? "TEMP" + QString(0 - _invcheadid) : _invoiceNumber->text()); q.bindValue(":invchead_orderdate", _orderDate->date()); q.bindValue(":invchead_invcdate", _invoiceDate->date()); q.exec(); if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } connect(_cust, SIGNAL(valid(bool)), _new, SLOT(setEnabled(bool))); connect(_cust, SIGNAL(valid(bool)), this, SLOT(populateCMInfo())); connect(_orderNumber, SIGNAL(lostFocus()), this, SLOT(populateCCInfo())); } else if (param.toString() == "edit")
enum SetResponse taxAuthority::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("crmacct_id", &valid); if (valid) _crmacctid = param.toInt(); param = pParams.value("taxauth_id", &valid); if (valid) _taxauthid = param.toInt(); if (_taxauthid > 0 || _crmacctid > 0) if (! sPopulate()) return UndefinedError; param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; if(((_metrics->value("CRMAccountNumberGeneration") == "A") || (_metrics->value("CRMAccountNumberGeneration") == "O")) && _code->text().isEmpty() ) { XSqlQuery numq; numq.exec("SELECT fetchCRMAccountNumber() AS number;"); if (numq.first()) { _code->setText(numq.value("number")); _NumberGen = numq.value("number").toInt(); } } else _code->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } bool canEdit = (cNew == _mode || cEdit == _mode); _code->setEnabled(FALSE); _code->setEnabled(canEdit && _metrics->value("CRMAccountNumberGeneration") != "A"); _address->setEnabled(canEdit); _county->setEnabled(canEdit); // _crmacct is handled in sPopulate() _currency->setEnabled(canEdit); _extref->setEnabled(canEdit); _glaccnt->setReadOnly(! canEdit); _name->setEnabled(canEdit); return NoError; }
enum SetResponse apOpenItem::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("docType", &valid); if (valid) { if (param.toString() == "creditMemo") { setWindowTitle(windowTitle() + tr(" - Enter Misc. Credit Memo")); _docType->setCode("C"); _status->setEnabled(false); } else if (param.toString() == "debitMemo") { setWindowTitle(windowTitle() + tr(" - Enter Misc. Debit Memo")); _docType->setCode("D"); } else if (param.toString() == "voucher") _docType->setCode("V"); else return UndefinedError; // ToDo - better error return types _docType->setEnabled(false); } param = pParams.value("mode", &valid); XSqlQuery setOpenItem; if (valid) { if (param.toString() == "new") { _mode = cNew; setOpenItem.exec("SELECT fetchAPMemoNumber() AS number;"); if (setOpenItem.first()) { _docNumber->setText(setOpenItem.value("number").toString()); _seqiss = setOpenItem.value("number").toInt(); } _paid->clear(); _buttonBox->button(QDialogButtonBox::Save)->setText(tr("Post")); _printOnPost->setVisible(true); populateStatus(); } else if (param.toString() == "edit") { _mode = cEdit; _vend->setReadOnly(true); _docDate->setEnabled(false); _dueDate->setEnabled(false); _docType->setEnabled(false); _docNumber->setEnabled(false); _poNumber->setEnabled(false); _journalNumber->setEnabled(false); _amount->setEnabled(false); _terms->setEnabled(false); _notes->setReadOnly(false); _usePrepaid->setEnabled(false); _taxzone->setEnabled(false); _accntId->setEnabled(false); } else if (param.toString() == "view") { _mode = cView; _vend->setReadOnly(true); _docDate->setEnabled(false); _dueDate->setEnabled(false); _docType->setEnabled(false); _docNumber->setEnabled(false); _poNumber->setEnabled(false); _journalNumber->setEnabled(false); _amount->setEnabled(false); _terms->setEnabled(false); _terms->setType(XComboBox::Terms); _notes->setReadOnly(true); _usePrepaid->setEnabled(false); _accntId->setEnabled(false); _status->setEnabled(false); _taxzone->setEnabled(false); _buttonBox->setStandardButtons(QDialogButtonBox::Close); } } param = pParams.value("vend_id", &valid); if (valid) _vend->setId(param.toInt()); param = pParams.value("apopen_id", &valid); if (valid) { _apopenid = param.toInt(); populate(); } return NoError; }
enum SetResponse shipTo::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("cust_id", &valid); if (valid) _custid = param.toInt(); param = pParams.value("shipto_id", &valid); if (valid) { _shiptoid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; XSqlQuery cust; cust.prepare( "SELECT cust_number, cust_name, cust_taxauth_id, " " cust_salesrep_id, cust_shipform_id, cust_shipvia " "FROM custinfo " "WHERE (cust_id=:cust_id);" ); cust.bindValue(":cust_id", _custid); cust.exec(); if (cust.first()) { _custNum->setText(cust.value("cust_number").toString()); _custName->setText(cust.value("cust_name").toString()); _salesRep->setId(cust.value("cust_salesrep_id").toInt()); _shipform->setId(cust.value("cust_shipform_id").toInt()); _taxauth->setId(cust.value("cust_taxauth_id").toInt()); // Handle the free-form Ship Via _shipVia->setId(-1); QString shipvia = cust.value("cust_shipvia").toString().stripWhiteSpace(); if (shipvia.length()) { for (int counter = 0; counter < _shipVia->count(); counter++) if (_shipVia->text(counter) == shipvia) _shipVia->setCurrentItem(counter); if (_shipVia->id() == -1) { _shipVia->insertItem(shipvia); _shipVia->setCurrentItem(_shipVia->count() - 1); } } } if (cust.lastError().type() != QSqlError::None) { systemError(this, cust.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } _shipToNumber->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _shipToNumber->setEnabled(FALSE); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _shipToNumber->setEnabled(FALSE); _active->setEnabled(FALSE); _default->setEnabled(FALSE); _name->setEnabled(FALSE); _contact->setEnabled(FALSE); _address->setEnabled(FALSE); _salesRep->setEnabled(FALSE); _commission->setEnabled(FALSE); _shipZone->setEnabled(FALSE); _taxauth->setEnabled(FALSE); _shipVia->setEnabled(FALSE); _shipform->setEnabled(FALSE); _shipchrg->setEnabled(FALSE); _ediProfile->setEnabled(FALSE); _comments->setEnabled(FALSE); _shippingComments->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }
enum SetResponse taxCodeRate::set( const ParameterList & pParams ) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("taxrate_id", &valid); if (valid) _taxrateid = param.toInt(); param = pParams.value("tax_id", &valid); if (valid) _taxId = param.toInt(); param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.prepare(" (SELECT taxrate_id " " FROM taxrate " " WHERE taxrate_tax_id = :taxrate_tax_id); "); q.bindValue(":taxrate_tax_id", _taxId); q.exec(); if(q.first()) { XSqlQuery maxdate; maxdate.prepare(" (SELECT (MAX(taxrate_expires) + 1) AS max_expires" " FROM taxrate " " WHERE taxrate_tax_id = :taxrate_tax_id) "); maxdate.bindValue(":taxrate_tax_id", _taxId); maxdate.exec(); if(maxdate.first()) { _dates->setStartDate(maxdate.value("max_expires").toDate()); } else if (maxdate.lastError().type() != QSqlError::NoError) { systemError(this, maxdate.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } _dates->setFocus(); q.exec("SELECT NEXTVAL('taxrate_taxrate_id_seq') AS taxrate_id"); if (q.first()) _taxrateid = q.value("taxrate_id").toInt(); else if (q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } else if (param.toString() == "edit") { _mode = cEdit; sPopulate(); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; sPopulate(); _dates->setEnabled(FALSE); _percent->setEnabled(FALSE); _flat->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }
enum SetResponse dspItemSitesByParameterList::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("warehous_id", &valid); if (valid) _warehouse->setId(param.toInt()); _showInactive->setChecked(pParams.inList("showInactive")); param = pParams.value("classcode_id", &valid); if (valid) { _parameter->setType(ClassCode); _parameter->setId(param.toInt()); } param = pParams.value("classcode_pattern", &valid); if (valid) { _parameter->setType(ClassCode); _parameter->setPattern(param.toString()); } param = pParams.value("classcode", &valid); if (valid) _parameter->setType(ClassCode); param = pParams.value("plancode_id", &valid); if (valid) { _parameter->setType(PlannerCode); _parameter->setId(param.toInt()); } param = pParams.value("plancode_pattern", &valid); if (valid) { _parameter->setType(PlannerCode); _parameter->setPattern(param.toString()); } param = pParams.value("plancode", &valid); if (valid) _parameter->setType(PlannerCode); param = pParams.value("itemgrp_id", &valid); if (valid) { _parameter->setType(ItemGroup); _parameter->setId(param.toInt()); } param = pParams.value("itemgrp_pattern", &valid); if (valid) { _parameter->setType(ItemGroup); _parameter->setPattern(param.toString()); } param = pParams.value("itemgrp", &valid); if (valid) _parameter->setType(ItemGroup); param = pParams.value("costcat_id", &valid); if (valid) { _parameter->setType(CostCategory); _parameter->setId(param.toInt()); } param = pParams.value("costcat_pattern", &valid); if (valid) { _parameter->setType(CostCategory); _parameter->setPattern(param.toString()); } param = pParams.value("costcat", &valid); if (valid) _parameter->setType(CostCategory); switch (_parameter->type()) { case ClassCode: setCaption(tr("Item Sites by Class Code")); break; case PlannerCode: setCaption(tr("Item Sites by Planner Code")); break; case ItemGroup: setCaption(tr("Item Sites by Item Group")); break; case CostCategory: setCaption(tr("Item Sites by Cost Category")); break; default: break; } if (pParams.inList("run")) { sFillList(); return NoError_Run; } return NoError; }
enum SetResponse itemSubstitute::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("bomitem_id", &valid); if (valid) { _type = cBOMItemSub; _bomitemid = param.toInt(); q.prepare( "SELECT bomitem_item_id " "FROM bomitem " "WHERE (bomitem_id=:bomitem_id);" ); q.bindValue(":bomitem_id", _bomitemid); q.exec(); if (q.first()) { _item->setId(q.value("bomitem_item_id").toInt()); _item->setReadOnly(TRUE); } } param = pParams.value("bomitem_item_id", &valid); if (valid) { _type = cBOMItemSub; _item->setId(param.toInt()); _item->setReadOnly(TRUE); } param = pParams.value("item_id", &valid); if (valid) { _type = cItemSub; _item->setId(param.toInt()); _item->setReadOnly(TRUE); } param = pParams.value("itemsub_id", &valid); if (valid) { _type = cItemSub; _itemsubid = param.toInt(); populate(); } param = pParams.value("bomitemsub_id", &valid); if (valid) { _type = cBOMItemSub; _itemsubid = param.toInt(); _item->setEnabled(FALSE); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; _item->setFocus(); } else if (param.toString() == "edit") { _mode = cEdit; _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _item->setReadOnly(TRUE); _substitute->setReadOnly(TRUE); _uomRatio->setEnabled(FALSE); _ranking->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); } } return NoError; }