199 } else { |
198 } else { |
200 query.bindValue(":recno", this->recno); |
199 query.bindValue(":recno", this->recno); |
201 } |
200 } |
202 query.exec(); |
201 query.exec(); |
203 if (query.lastError().isValid()) { |
202 if (query.lastError().isValid()) { |
204 qDebug() << "EditHop" << query.lastError(); |
203 qWarning() << "EditHop" << query.lastError(); |
205 QMessageBox::warning(this, tr("Database error"), |
204 QMessageBox::warning(this, tr("Database error"), |
206 tr("MySQL error: %1\n%2\n%3") |
205 tr("MySQL error: %1\n%2\n%3") |
207 .arg(query.lastError().nativeErrorCode()) |
206 .arg(query.lastError().nativeErrorCode()) |
208 .arg(query.lastError().driverText()) |
207 .arg(query.lastError().driverText()) |
209 .arg(query.lastError().databaseText())); |
208 .arg(query.lastError().databaseText())); |
243 query.bindValue(":origin", ui->originEdit->text()); |
242 query.bindValue(":origin", ui->originEdit->text()); |
244 query.bindValue(":substitutes", ui->substitutesEdit->text()); |
243 query.bindValue(":substitutes", ui->substitutesEdit->text()); |
245 query.bindValue(":always", ui->alwaysEdit->isChecked() ? 1:0); |
244 query.bindValue(":always", ui->alwaysEdit->isChecked() ? 1:0); |
246 query.bindValue(":inventory", QString("%1").arg(0, 5, 'f', 4, '0')); |
245 query.bindValue(":inventory", QString("%1").arg(0, 5, 'f', 4, '0')); |
247 query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 3, 'f', 2, '0')); |
246 query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 3, 'f', 2, '0')); |
248 /* Uses https://www.qtcentre.org/threads/17295-How-to-put-empty-value-in-QDateEdit */ |
|
249 query.bindValue(":prod", QDate()); |
247 query.bindValue(":prod", QDate()); |
250 query.bindValue(":tht", QDate()); |
248 query.bindValue(":tht", QDate()); |
251 query.bindValue(":oil", QString("%1").arg(ui->oilEdit->value(), 2, 'f', 1, '0')); |
249 query.bindValue(":oil", QString("%1").arg(ui->oilEdit->value(), 2, 'f', 1, '0')); |
252 query.bindValue(":utilisation", QString("%1").arg(ui->utilisationEdit->value(), 2, 'f', 1, '0')); |
250 query.bindValue(":utilisation", QString("%1").arg(ui->utilisationEdit->value(), 2, 'f', 1, '0')); |
253 query.bindValue(":bu_factor", QString("%1").arg(ui->bufactorEdit->value(), 2, 'f', 1, '0')); |
251 query.bindValue(":bu_factor", QString("%1").arg(ui->bufactorEdit->value(), 2, 'f', 1, '0')); |
254 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); |
252 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); |
255 query.exec(); |
253 query.exec(); |
256 if (query.lastError().isValid()) { |
254 if (query.lastError().isValid()) { |
257 qDebug() << "EditHop" << query.lastError(); |
255 qWarning() << "EditHop" << query.lastError(); |
258 QMessageBox::warning(this, tr("Database error"), |
256 QMessageBox::warning(this, tr("Database error"), |
259 tr("MySQL error: %1\n%2\n%3") |
257 tr("MySQL error: %1\n%2\n%3") |
260 .arg(query.lastError().nativeErrorCode()) |
258 .arg(query.lastError().nativeErrorCode()) |
261 .arg(query.lastError().driverText()) |
259 .arg(query.lastError().driverText()) |
262 .arg(query.lastError().databaseText())); |
260 .arg(query.lastError().databaseText())); |
269 |
267 |
270 void EditHop::on_deleteButton_clicked() |
268 void EditHop::on_deleteButton_clicked() |
271 { |
269 { |
272 QSqlQuery query; |
270 QSqlQuery query; |
273 |
271 |
|
272 int rc = QMessageBox::warning(this, tr("Delete hop"), tr("Delete %1").arg(ui->nameEdit->text()), |
|
273 QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
|
274 if (rc == QMessageBox::No) |
|
275 return; |
|
276 |
274 query.prepare("DELETE FROM inventory_hops WHERE record = :recno"); |
277 query.prepare("DELETE FROM inventory_hops WHERE record = :recno"); |
275 query.bindValue(":recno", this->recno); |
278 query.bindValue(":recno", this->recno); |
276 query.exec(); |
279 query.exec(); |
277 if (query.lastError().isValid()) { |
280 if (query.lastError().isValid()) { |
278 qDebug() << "EditHop" << query.lastError(); |
281 qWarning() << "EditHop" << query.lastError(); |
279 QMessageBox::warning(this, tr("Database error"), |
282 QMessageBox::warning(this, tr("Database error"), |
280 tr("MySQL error: %1\n%2\n%3") |
283 tr("MySQL error: %1\n%2\n%3") |
281 .arg(query.lastError().nativeErrorCode()) |
284 .arg(query.lastError().nativeErrorCode()) |
282 .arg(query.lastError().driverText()) |
285 .arg(query.lastError().driverText()) |
283 .arg(query.lastError().databaseText())); |
286 .arg(query.lastError().databaseText())); |