src/EditYeast.cpp

changeset 385
09af9f46518f
parent 293
6df94ca2bfde
--- a/src/EditYeast.cpp	Sun Jul 31 20:23:27 2022 +0200
+++ b/src/EditYeast.cpp	Mon Aug 01 13:05:23 2022 +0200
@@ -155,7 +155,6 @@
 
 EditYeast::~EditYeast()
 {
-    qDebug() << "EditYeast done";
     delete ui;
     emit entry_changed();
 }
@@ -310,7 +309,7 @@
 	}
 	query.exec();
 	if (query.lastError().isValid()) {
-	    qDebug() << "EditYeast" << query.lastError();
+	    qWarning() << "EditYeast" << query.lastError();
 	    QMessageBox::warning(this, tr("Database error"),
                         tr("MySQL error: %1\n%2\n%3")
                         .arg(query.lastError().nativeErrorCode())
@@ -327,15 +326,77 @@
 }
 
 
+void EditYeast::on_cloneButton_clicked()
+{
+    QSqlQuery query;
+
+    query.prepare("INSERT INTO inventory_yeasts SET name=:name, type=:type, form=:form, "
+                "laboratory=:laboratory, product_id=:productid, min_temperature=:templo, max_temperature=:temphi, "
+                "flocculation=:floc, attenuation=:att, tolerance=:tolerance, notes=:notes, best_for=:bestfor, "
+                "max_reuse=:reuse, inventory=:inventory, cost=:cost, production_date=:prod, tht_date=:tht, "
+                "cells=:cells, sta1=:sta1, bacteria=:bacteria, harvest_top=:harvesttop, harvest_time=:harvesttime, "
+                "pitch_temperature=:pitchtemp, pofpos=:pof, short_desc=:yeastbank, gr_hl_lo=:grhllo, sg_lo=:sglo, "
+                "gr_hl_hi=:grhlhi, sg_hi=:sghi, uuid = :uuid");
+
+    query.bindValue(":name", ui->nameEdit->text() + " [copy]");
+    query.bindValue(":type", ui->typeEdit->currentIndex());
+    query.bindValue(":form", ui->formEdit->currentIndex());
+    query.bindValue(":laboratory", ui->laboratoryEdit->text());
+    query.bindValue(":productid", ui->productidEdit->text());
+    query.bindValue(":templo", QString("%1").arg(ui->temploEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":temphi", QString("%1").arg(ui->temphiEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":floc", ui->flocEdit->currentIndex());
+    query.bindValue(":att", QString("%1").arg(ui->attEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":tolerance", QString("%1").arg(ui->toleranceEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":notes", ui->notesEdit->toPlainText());
+    query.bindValue(":bestfor", ui->bestforEdit->toPlainText());
+    query.bindValue(":reuse", ui->reuseEdit->value());
+    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(":cells", QString("%1").arg(ui->cellsEdit->value() * 1000000000, 1, 'f', 0, '0'));
+    query.bindValue(":sta1", ui->sta1Edit->isChecked() ? 1:0);
+    query.bindValue(":bacteria", ui->bacteriaEdit->isChecked() ? 1:0);
+    query.bindValue(":harvesttop", ui->harvesttopEdit->isChecked() ? 1:0);
+    query.bindValue(":harvesttime", ui->harvesttimeEdit->value());
+    query.bindValue(":pitchtemp", QString("%1").arg(ui->pitchtempEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":pof", ui->pofEdit->isChecked() ? 1:0);
+    query.bindValue(":yeastbank", ui->yeastbankEdit->text());
+    query.bindValue(":grhllo", QString("%1").arg(ui->grhlloEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":sglo", ui->sgloEdit->value());
+    query.bindValue(":grhlhi", QString("%1").arg(ui->grhlhiEdit->value(), 2, 'f', 1, '0'));
+    query.bindValue(":sghi", ui->sghiEdit->value());
+    query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
+
+    query.exec();
+    if (query.lastError().isValid()) {
+	qWarning() << "EditYeast" << 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() << "EditYeast Saved";
+    }
+}
+
+
 void EditYeast::on_deleteButton_clicked()
 {
     QSqlQuery query;
 
+    int rc = QMessageBox::warning(this, tr("Delete yeast"), tr("Delete %1").arg(ui->nameEdit->text()),
+                    QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
+    if (rc == QMessageBox::No)
+        return;
+
     query.prepare("DELETE FROM inventory_yeasts WHERE record = :recno");
     query.bindValue(":recno", this->recno);
     query.exec();
     if (query.lastError().isValid()) {
-	qDebug() << "EditYeast" << query.lastError();
+	qWarning() << "EditYeast" << query.lastError();
 	QMessageBox::warning(this, tr("Database error"),
                         tr("MySQL error: %1\n%2\n%3")
                         .arg(query.lastError().nativeErrorCode())

mercurial