src/EditProductTab6.cpp

changeset 482
e13763ec829f
parent 478
a3653722b0d6
child 483
eb0a5f132ea9
--- a/src/EditProductTab6.cpp	Tue Jan 31 11:10:14 2023 +0100
+++ b/src/EditProductTab6.cpp	Tue Jan 31 16:24:11 2023 +0100
@@ -956,7 +956,7 @@
 
 void EditProduct::yeast_select_changed(int val)
 {
-    QSqlQuery query;
+    QSqlQuery query, query1;
     bool instock = yinstockEdit->isChecked();
     QString w;
     QTableWidgetItem *item;
@@ -1015,6 +1015,7 @@
     product->yeasts[product->yeasts_row].sg_hi = query.value("sg_hi").toDouble();
     product->yeasts[product->yeasts_row].cost = query.value("cost").toDouble();
     product->yeasts[product->yeasts_row].inventory = query.value("inventory").toDouble();
+    product->yeasts[product->yeasts_row].yp_uuid = QString();
 
     /*
      * Update the visible fields
@@ -1048,6 +1049,22 @@
 	product->yeast_pitchrate = 0;
     }
 
+    /*
+     * Clear package and rebuild package select table.
+     */
+    this->ypackageEdit->setCurrentIndex(-1);
+    this->ypackageEdit->clear();
+    this->ypackageEdit->addItem("");	// Start with empty value
+    query1.prepare("SELECT * FROM inventory_yeastpack WHERE laboratory=:laboratory AND form=:form AND valid='1' ORDER BY laboratory,package");
+    query1.bindValue(":laboratory", query.value("laboratory").toString());
+    query1.bindValue(":form", query.value("form").toInt());
+    qDebug() << "  search" << query.value("laboratory").toString() << query.value("form").toInt();
+    query1.exec();
+    while (query1.next()) {
+	this->ypackageEdit->addItem(query1.value("laboratory").toString()+" - "+query1.value("package").toString());
+	qDebug() << "  add package" << query1.value("laboratory").toString() << query1.value("package").toString();
+    }
+
     ui->yeastsTable->setItem(product->yeasts_row, 0, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).name));
     ui->yeastsTable->setItem(product->yeasts_row, 1, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).laboratory));
     ui->yeastsTable->setItem(product->yeasts_row, 2, new QTableWidgetItem(product->yeasts.at(product->yeasts_row).product_id));
@@ -1171,10 +1188,10 @@
     Yeasts backup = product->yeasts.at(product->yeasts_row);
 
     QDialog* dialog = new QDialog(this);
-    dialog->resize(738, 260);
+    dialog->resize(738, 290);
     QDialogButtonBox *buttonBox = new QDialogButtonBox(dialog);
     buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
-    buttonBox->setGeometry(QRect(30, 210, 671, 32));
+    buttonBox->setGeometry(QRect(30, 240, 671, 32));
     buttonBox->setLayoutDirection(Qt::LeftToRight);
     buttonBox->setOrientation(Qt::Horizontal);
     buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
@@ -1205,6 +1222,11 @@
     instockLabel->setText(tr("In stock:"));
     instockLabel->setGeometry(QRect(525,100, 121, 20));
     instockLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+    QLabel *packageLabel = new QLabel(dialog);
+    packageLabel->setObjectName(QString::fromUtf8("packageLabel"));
+    packageLabel->setText(tr("Select package:"));
+    packageLabel->setGeometry(QRect(10,130, 141, 20));
+    packageLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     yamountLabel = new QLabel(dialog);
     yamountLabel->setObjectName(QString::fromUtf8("amountLabel"));
     if (product->yeasts.at(product->yeasts_row).form == YEAST_FORMS_LIQUID)
@@ -1213,12 +1235,12 @@
 	yamountLabel->setText(tr("Amount in gr:"));
     else
 	yamountLabel->setText(tr("Amount in ml:"));
-    yamountLabel->setGeometry(QRect(10, 130, 141, 20));
+    yamountLabel->setGeometry(QRect(10, 160, 141, 20));
     yamountLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     QLabel *useatLabel = new QLabel(dialog);
     useatLabel->setObjectName(QString::fromUtf8("useatLabel"));
     useatLabel->setText(tr("Use at:"));
-    useatLabel->setGeometry(QRect(10, 160, 141, 20));
+    useatLabel->setGeometry(QRect(10, 190, 141, 20));
     useatLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
 
     ynameEdit = new QLineEdit(dialog);
@@ -1243,9 +1265,12 @@
     yinstockEdit->setObjectName(QString::fromUtf8("yinstockEdit"));
     yinstockEdit->setGeometry(QRect(655,100, 85, 21));
     yinstockEdit->setChecked(true);
+    ypackageEdit = new QComboBox(dialog);
+    ypackageEdit->setObjectName(QString::fromUtf8("packageEdit"));
+    ypackageEdit->setGeometry(QRect(160,130, 371, 23));
     yamountEdit = new QDoubleSpinBox(dialog);
     yamountEdit->setObjectName(QString::fromUtf8("yamountEdit"));
-    yamountEdit->setGeometry(QRect(160, 130, 121, 24));
+    yamountEdit->setGeometry(QRect(160, 160, 121, 24));
     yamountEdit->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     yamountEdit->setAccelerated(true);
     yamountEdit->setMaximum(10000.0);
@@ -1265,7 +1290,7 @@
     yamountEdit->setMaximum(1000000000.0);
     useatEdit = new QComboBox(dialog);
     useatEdit->setObjectName(QString::fromUtf8("useatEdit"));
-    useatEdit->setGeometry(QRect(160, 160, 161, 23));
+    useatEdit->setGeometry(QRect(160, 190, 161, 23));
     useatEdit->addItem(tr("Primary"));
     useatEdit->addItem(tr("Secondary"));
     useatEdit->addItem(tr("Tertiary"));

mercurial