diff -r 8a25dbe682eb -r e13763ec829f src/EditProductTab6.cpp --- 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"));