src/ProdOnCode.cpp

Tue, 31 Jan 2023 16:24:11 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 31 Jan 2023 16:24:11 +0100
changeset 482
e13763ec829f
parent 231
54b5abd46958
permissions
-rw-r--r--

Expanded Yeast edit popup with a Yeast Pack dropdown list. Prepared database product read and write with values for yeast package. They will be stored as json object in the yeast records.

231
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * ProdOnCode.cpp is part of bmsapp.
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "ProdOnCode.h"
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 #include "MainWindow.h"
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "EditProduct.h"
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 #include "config.h"
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 #include "global.h"
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 ProdOnCode::ProdOnCode(QWidget *parent) : QDialog(parent)
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 {
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 qDebug() << "ProdOnCode start";
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 gridLayout = new QGridLayout(this);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 tableOnCode = new QTableWidget(this);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 tableOnCode->setObjectName(QString::fromUtf8("tableOnCode"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 tableOnCode->setEnabled(true);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 sizePolicy.setHorizontalStretch(0);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 sizePolicy.setVerticalStretch(0);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 sizePolicy.setHeightForWidth(tableOnCode->sizePolicy().hasHeightForWidth());
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 tableOnCode->setSizePolicy(sizePolicy);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 tableOnCode->setMinimumSize(QSize(1164, 0));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 gridLayout->addWidget(tableOnCode, 0, 0, 1, 1);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 groupBox = new QGroupBox(this);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 groupBox->setObjectName(QString::fromUtf8("groupBox"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 groupBox->setEnabled(true);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 groupBox->setFlat(false);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 horizontalLayout = new QHBoxLayout(groupBox);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 horizontalLayout->setSpacing(6);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 horizontalLayout->setContentsMargins(0, 0, 0, 0);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 quitButton = new QPushButton(groupBox);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 quitButton->setObjectName(QString::fromUtf8("quitButton"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 quitButton->setMinimumSize(QSize(80, 24));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 quitButton->setText(tr("Quit"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 QIcon icon;
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 icon.addFile(QString::fromUtf8(":icons/silk/door_out.png"), QSize(), QIcon::Normal, QIcon::Off);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 quitButton->setIcon(icon);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 horizontalLayout->addWidget(quitButton, 0, Qt::AlignCenter);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 gridLayout->addWidget(groupBox, 1, 0, 1, 1);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 connect(quitButton, SIGNAL(clicked()), parent, SLOT(fromProdOnCode()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 connect(this, SIGNAL(setStatus(QString)), parent, SLOT(statusMsg(QString)));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 emit refreshTable();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 }
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 void ProdOnCode::refreshTable()
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 {
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 QString w;
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 QWidget* pWidget;
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 QHBoxLayout* pLayout;
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 qDebug() << "ProdOnCode reload";
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 QSqlQuery query("SELECT record,name,st_name,og,fg,brew_date_start,code FROM products WHERE stage = '11' ORDER BY code,brew_date_start");
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 const QStringList labels({tr("Code"), tr("Name"), tr("Style"), tr("OG"), tr("FG"), tr("Date"), tr("Edit")});
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 this->tableOnCode->setColumnCount(7);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 this->tableOnCode->setColumnWidth(0, 100); /* Code */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 this->tableOnCode->setColumnWidth(1, 500); /* Product name */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 this->tableOnCode->setColumnWidth(2, 200); /* Style */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 this->tableOnCode->setColumnWidth(3, 75); /* OG */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 this->tableOnCode->setColumnWidth(4, 75); /* FG */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 this->tableOnCode->setColumnWidth(5, 100); /* Date */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 this->tableOnCode->setColumnWidth(6, 90); /* Edit button */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 this->tableOnCode->setRowCount(query.size());
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 this->tableOnCode->setHorizontalHeaderLabels(labels);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 this->tableOnCode->verticalHeader()->hide();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 query.first();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 for (int ridx = 0 ; ridx < query.size() ; ridx++ ) {
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 this->tableOnCode->setItem(ridx, 0, new QTableWidgetItem(query.value("code").toString()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 this->tableOnCode->setItem(ridx, 1, new QTableWidgetItem(query.value("name").toString()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 this->tableOnCode->setItem(ridx, 2, new QTableWidgetItem(query.value("st_name").toString()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 QTableWidgetItem *item = new QTableWidgetItem(QString("%1").arg(query.value("og").toFloat(), 4, 'f', 3, '0' ));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 this->tableOnCode->setItem(ridx, 3, item);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 item = new QTableWidgetItem(QString("%1").arg(query.value("fg").toFloat(), 4, 'f', 3, '0' ));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 this->tableOnCode->setItem(ridx, 4, item);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 this->tableOnCode->setItem(ridx, 5, new QTableWidgetItem(query.value("brew_date_start").toDate().toString("dd MMM yyyy")));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 /* Add the Edit button */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 QWidget* pWidget = new QWidget();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 QPushButton* btn_edit = new QPushButton();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 btn_edit->setObjectName(QString("%1").arg(query.value(0).toString())); /* Send record with the button */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 btn_edit->setText(tr("Edit"));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 connect(btn_edit, SIGNAL(clicked()), this, SLOT(on_editButton_clicked()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 pLayout->addWidget(btn_edit);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 pLayout->setContentsMargins(5, 0, 5, 0);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 pWidget->setLayout(pLayout);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 this->tableOnCode->setCellWidget(ridx, 6, pWidget);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 query.next();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 }
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 emit setStatus(QString(tr("Total items: %1")).arg(query.size()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 }
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 ProdOnCode::~ProdOnCode() {}
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 void ProdOnCode::edit(int recno)
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 {
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 EditProduct dialog(recno, this);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 /* Signal from editor if a refresh is needed */
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 connect(&dialog, SIGNAL(entry_changed()), this, SLOT(refreshTable()));
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 dialog.setModal(true);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 dialog.exec();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 }
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 void ProdOnCode::on_editButton_clicked()
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 {
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender());
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 int recno = pb->objectName().toInt();
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 edit(recno);
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 }
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142
54b5abd46958 Added archive products sorted on code.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143

mercurial