enum SetResponse incident::set(const ParameterList &pParams) { XSqlQuery incidentet; XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("incdt_id", &valid); if (valid) { _incdtid = param.toInt(); populate(); _lotserial->setItemId(_item->id()); _charass->setId(_incdtid); } param = pParams.value("mode", &valid); if (valid) { _mode = cNew; if (param.toString() == "new") { incidentet.exec("SELECT nextval('incdt_incdt_id_seq') AS incdt_id, " "fetchIncidentNumber() AS number;"); if(incidentet.first()) { _incdtid=incidentet.value("incdt_id").toInt(); _number->setText(incidentet.value("number").toString()); _comments->setId(_incdtid); _documents->setId(_incdtid); _charass->setId(_incdtid); _alarms->setId(_incdtid); _recurring->setParent(_incdtid, "INCDT"); _print->hide(); _project->setAllowedStatuses(ProjectLineEdit::Concept | ProjectLineEdit::InProcess); } else { QMessageBox::critical( omfgThis, tr("Database Error"), tr( "A Database Error occured in incident::New:" "\n%1" ).arg(incidentet.lastError().text())); reject(); } // Characteristics update incident history so we have to save the incident first // when adding a characteristic in new mode otherwise we get foreign key errors QPushButton *newbutton = _charass->findChild<QPushButton*>("_newCharacteristic"); disconnect(newbutton, SIGNAL(clicked()), _charass, SLOT(sNew())); connect(newbutton, SIGNAL(clicked()), this, SLOT(sNewCharacteristic())); } else if (param.toString() == "edit") { _mode = cEdit; _crmacct->setEnabled(true); } else if (param.toString() == "view") { _mode = cView; _crmacct->setEnabled(false); _cntct->setEnabled(false); _assignedTo->setEnabled(false); _category->setEnabled(false); _status->setEnabled(false); _resolution->setEnabled(false); _severity->setEnabled(false); _priority->setEnabled(false); _item->setReadOnly(true); _lotserial->setEnabled(false); _description->setEnabled(false); _notes->setEnabled(false); _deleteTodoItem->setEnabled(false); _editTodoItem->setEnabled(false); _newTodoItem->setEnabled(false); _charass->setReadOnly(true); _owner->setEnabled(false); _buttonBox->setStandardButtons(QDialogButtonBox::Close); _comments->setReadOnly(true); _documents->setReadOnly(true); _alarms->setReadOnly(true); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } param = pParams.value("cntct_id", &valid); if (valid) { _cntct->setId(param.toInt()); } param = pParams.value("prj_id", &valid); if (valid) { _project->setId(param.toInt()); } param = pParams.value("aropen_id", &valid); if (valid) { _aropenid = param.toInt(); incidentet.prepare("SELECT aropen_doctype, aropen_docnumber, " " CASE WHEN (aropen_doctype='C') THEN :creditMemo" " WHEN (aropen_doctype='D') THEN :debitMemo" " WHEN (aropen_doctype='I') THEN :invoice" " WHEN (aropen_doctype='R') THEN :cashdeposit" " ELSE '' END AS docType " "FROM aropen " "WHERE (aropen_id=:aropen_id);"); incidentet.bindValue(":aropen_id", _aropenid); incidentet.bindValue(":creditMemo", tr("Credit Memo")); incidentet.bindValue(":debitMemo", tr("Debit Memo")); incidentet.bindValue(":invoice", tr("Invoice")); incidentet.bindValue(":cashdeposit", tr("Customer Deposit")); incidentet.exec(); if (incidentet.first()) { if (_metrics->value("DefaultARIncidentStatus").toInt()) _category->setId(_metrics->value("DefaultARIncidentStatus").toInt()); _ardoctype=incidentet.value("aropen_doctype").toString(); _docType->setText(incidentet.value("docType").toString()); _docNumber->setText(incidentet.value("aropen_docnumber").toString()); _description->setText(QString("%1 #%2").arg(incidentet.value("docType").toString()).arg(incidentet.value("aropen_docnumber").toString())); } } sHandleTodoPrivs(); return NoError; }
enum SetResponse incident::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("incdt_id", &valid); if (valid) { _incdtid = param.toInt(); populate(); _lotserial->setItemId(_item->id()); } param = pParams.value("mode", &valid); if (valid) { _mode = cNew; if (param.toString() == "new") { q.exec("SELECT fetchIncidentNumber() AS result;"); if(q.first()) _number->setText(q.value("result").toString()); else { QMessageBox::critical( omfgThis, tr("Database Error"), tr( "A Database Error occured in incident::New.\n" "Contact your Systems Administrator." )); reject(); } _comments->setReadOnly(true); } else if (param.toString() == "edit") { _mode = cEdit; _crmacct->setEnabled(true); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _crmacct->setEnabled(false); _cntct->setEnabled(false); _assignedTo->setEnabled(false); _category->setEnabled(false); _status->setEnabled(false); _resolution->setEnabled(false); _severity->setEnabled(false); _priority->setEnabled(false); _item->setReadOnly(true); _lotserial->setEnabled(false); _description->setEnabled(false); _notes->setEnabled(false); _deleteTodoItem->setEnabled(false); _editTodoItem->setEnabled(false); _newTodoItem->setEnabled(false); _save->hide(); _cancel->setText(tr("&Close")); _cancel->setFocus(); _comments->setReadOnly(true); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } sHandleTodoPrivs(); return NoError; }
enum SetResponse opportunity::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("ophead_id", &valid); if (valid) { _opheadid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { _mode = cNew; if (param.toString() == "new") { connect(_charass, SIGNAL(valid(bool)), _editCharacteristic, SLOT(setEnabled(bool))); connect(_charass, SIGNAL(valid(bool)), _deleteCharacteristic, SLOT(setEnabled(bool))); _comments->setReadOnly(true); } 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))); _crmacct->setEnabled(true); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _crmacct->setEnabled(false); _owner->setEnabled(false); _oppstage->setEnabled(false); _oppsource->setEnabled(false); _opptype->setEnabled(false); _notes->setReadOnly(true); _name->setEnabled(false); _targetDate->setEnabled(false); _actualDate->setEnabled(false); _amount->setEnabled(false); _probability->setEnabled(false); _deleteTodoItem->setEnabled(false); _editTodoItem->setEnabled(false); _newTodoItem->setEnabled(false); _newCharacteristic->setEnabled(FALSE); _save->hide(); _cancel->setText(tr("&Close")); _cancel->setFocus(); _comments->setReadOnly(true); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } sHandleTodoPrivs(); return NoError; }
enum SetResponse opportunity::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("ophead_id", &valid); if (valid) { _opheadid = param.toInt(); populate(); } param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; connect(_charass, SIGNAL(valid(bool)), _editCharacteristic, SLOT(setEnabled(bool))); connect(_charass, SIGNAL(valid(bool)), _deleteCharacteristic, SLOT(setEnabled(bool))); _comments->setReadOnly(true); _documents->setReadOnly(true); param = pParams.value("crmacct_id", &valid); if (valid) _crmacct->setId(param.toInt()); _startDate->setDate(omfgThis->dbDate()); q.exec("SELECT NEXTVAL('ophead_ophead_id_seq') AS result;"); if (q.first()) { _opheadid = q.value("result").toInt(); _number->setText(QString().number(_opheadid)); } else if(q.lastError().type() != QSqlError::NoError) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); } } 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))); _crmacct->setEnabled(true); _buttonBox->setFocus(); } else if (param.toString() == "view") { _mode = cView; _crmacct->setEnabled(false); _owner->setEnabled(false); _oppstage->setEnabled(false); _oppsource->setEnabled(false); _opptype->setEnabled(false); _notes->setReadOnly(true); _name->setEnabled(false); _targetDate->setEnabled(false); _actualDate->setEnabled(false); _amount->setEnabled(false); _probability->setEnabled(false); _deleteTodoItem->setEnabled(false); _editTodoItem->setEnabled(false); _newTodoItem->setEnabled(false); _deleteSale->setEnabled(false); _editSale->setEnabled(false); _printSale->setEnabled(false); _newSale->setEnabled(false); _attachSale->setEnabled(false); _newCharacteristic->setEnabled(FALSE); _buttonBox->setStandardButtons(QDialogButtonBox::Close); _cntct->setReadOnly(true); _comments->setReadOnly(true); _documents->setReadOnly(true); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } sHandleTodoPrivs(); sHandleSalesPrivs(); return NoError; }
enum SetResponse incident::set(const ParameterList &pParams) { XDialog::set(pParams); QVariant param; bool valid; param = pParams.value("incdt_id", &valid); if (valid) { _incdtid = param.toInt(); populate(); _lotserial->setItemId(_item->id()); } param = pParams.value("mode", &valid); if (valid) { _mode = cNew; if (param.toString() == "new") { q.exec("SELECT nextval('incdt_incdt_id_seq') AS incdt_id, " "fetchIncidentNumber() AS number;"); if(q.first()) { _incdtid=q.value("incdt_id").toInt(); _number->setText(q.value("number").toString()); _comments->setId(_incdtid); _documents->setId(_incdtid); _alarms->setId(_incdtid); } else { QMessageBox::critical( omfgThis, tr("Database Error"), tr( "A Database Error occured in incident::New.\n" "Contact your Systems Administrator." )); reject(); } } else if (param.toString() == "edit") { _mode = cEdit; _crmacct->setEnabled(true); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _crmacct->setEnabled(false); _cntct->setEnabled(false); _assignedTo->setEnabled(false); _category->setEnabled(false); _status->setEnabled(false); _resolution->setEnabled(false); _severity->setEnabled(false); _priority->setEnabled(false); _item->setReadOnly(true); _lotserial->setEnabled(false); _description->setEnabled(false); _notes->setEnabled(false); _deleteTodoItem->setEnabled(false); _editTodoItem->setEnabled(false); _newTodoItem->setEnabled(false); _owner->setEnabled(false); _save->hide(); _cancel->setText(tr("&Close")); _cancel->setFocus(); _comments->setReadOnly(true); _documents->setReadOnly(true); _alarms->setReadOnly(true); } } param = pParams.value("crmacct_id", &valid); if (valid) { _crmacct->setId(param.toInt()); _crmacct->setEnabled(false); } param = pParams.value("cntct_id", &valid); if (valid) { _cntct->setId(param.toInt()); } param = pParams.value("aropen_id", &valid); if (valid) { _aropenid = param.toInt(); q.prepare("SELECT aropen_doctype, aropen_docnumber, " " CASE WHEN (aropen_doctype='C') THEN :creditMemo" " WHEN (aropen_doctype='D') THEN :debitMemo" " WHEN (aropen_doctype='I') THEN :invoice" " WHEN (aropen_doctype='R') THEN :cashdeposit" " ELSE '' END AS docType " "FROM aropen " "WHERE (aropen_id=:aropen_id);"); q.bindValue(":aropen_id", _aropenid); q.bindValue(":creditMemo", tr("Credit Memo")); q.bindValue(":debitMemo", tr("Debit Memo")); q.bindValue(":invoice", tr("Invoice")); q.bindValue(":cashdeposit", tr("Customer Deposit")); q.exec(); if (q.first()) { if (_metrics->value("DefaultARIncidentStatus").toInt()) _category->setId(_metrics->value("DefaultARIncidentStatus").toInt()); _ardoctype=q.value("aropen_doctype").toString(); _docType->setText(q.value("docType").toString()); _docNumber->setText(q.value("aropen_docnumber").toString()); _description->setText(QString("%1 #%2").arg(q.value("docType").toString()).arg(q.value("aropen_docnumber").toString())); } } sHandleTodoPrivs(); return NoError; }