src/EditMisc.cpp

changeset 385
09af9f46518f
parent 292
b6ec2e275736
--- 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())

mercurial