--- a/src/EditMisc.cpp Sun Jul 31 20:23:27 2022 +0200 +++ b/src/EditMisc.cpp Mon Aug 01 13:05:23 2022 +0200 @@ -105,7 +105,6 @@ EditMisc::~EditMisc() { - qDebug() << "EditMisc done"; delete ui; emit entry_changed(); } @@ -173,7 +172,7 @@ } query.exec(); if (query.lastError().isValid()) { - qDebug() << "EditMisc" << query.lastError(); + qWarning() << "EditMisc" << query.lastError(); QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") .arg(query.lastError().nativeErrorCode()) @@ -190,15 +189,57 @@ } +void EditMisc::on_cloneButton_clicked() +{ + QSqlQuery query; + + query.prepare("INSERT INTO inventory_miscs SET name=:name, type=:type, use_use=:use, " + "time=:time, amount_is_weight=:isweight, use_for=:usefor, notes=:notes, " + "always_on_stock=:always, inventory=:inventory, cost=:cost, production_date=:prod, " + "tht_date=:tht, uuid = :uuid"); + + query.bindValue(":name", ui->nameEdit->text() + " [copy]"); + query.bindValue(":type", ui->typeEdit->currentIndex()); + query.bindValue(":use", ui->useEdit->currentIndex()); + query.bindValue(":time", ui->timeEdit->value()); + query.bindValue(":isweight", ui->isweightEdit->isChecked() ? 1:0); + query.bindValue(":usefor", ui->useforEdit->toPlainText()); + query.bindValue(":notes", ui->notesEdit->toPlainText()); + query.bindValue(":always", ui->alwaysEdit->isChecked() ? 1:0); + query.bindValue(":inventory", QString("%1").arg(0, 5, 'f', 4, '0')); + query.bindValue(":cost", QString("%1").arg(ui->costEdit->value(), 3, 'f', 2, '0')); + query.bindValue(":prod", QDate()); + query.bindValue(":tht", QDate()); + query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); + + query.exec(); + if (query.lastError().isValid()) { + qWarning() << "EditMisc" << query.lastError(); + QMessageBox::warning(this, tr("Database error"), + tr("MySQL error: %1\n%2\n%3") + .arg(query.lastError().nativeErrorCode()) + .arg(query.lastError().driverText()) + .arg(query.lastError().databaseText())); + } else { + qDebug() << "EditMisc Saved"; + } +} + + void EditMisc::on_deleteButton_clicked() { QSqlQuery query; + int rc = QMessageBox::warning(this, tr("Delete misc"), tr("Delete %1").arg(ui->nameEdit->text()), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + if (rc == QMessageBox::No) + return; + query.prepare("DELETE FROM inventory_miscs WHERE record = :recno"); query.bindValue(":recno", this->recno); query.exec(); if (query.lastError().isValid()) { - qDebug() << "EditMisc" << query.lastError(); + qWarning() << "EditMisc" << query.lastError(); QMessageBox::warning(this, tr("Database error"), tr("MySQL error: %1\n%2\n%3") .arg(query.lastError().nativeErrorCode())