Compare commits

...

2 Commits

Author SHA1 Message Date
Martin Brodbeck 7f11ba4e5d new version 1.8.0 2024-01-23 10:42:04 +01:00
Martin Brodbeck 32d0ec7749 Allow import of multiple sales at once. 2024-01-23 10:39:43 +01:00
5 changed files with 23 additions and 18 deletions

View File

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.10)
project(kima2 VERSION 1.7.2)
project(kima2 VERSION 1.8.0)
set(CMAKE_MODULE_PATH "${CMAKE_HOME_DIRECTORY}/cmake")

View File

@ -9,12 +9,12 @@
<project_license>GPL-3.0-or-later</project_license>
<releases>
<release version="@PROJECT_VERSION@" type="stable" date="2023-04-25" />
<release version="@PROJECT_VERSION@" type="stable" date="2024-01-23" />
</releases>
<description>
<p>
A small cash point program for childrens stuff markets. German language only.
A small cash point program for children's stuff markets. German language only.
</p>
</description>

View File

@ -1,4 +1,4 @@
project('kima2', 'cpp', default_options : ['cpp_std=c++20'], version : '1.6.1')
project('kima2', 'cpp', default_options : ['cpp_std=c++20'], version : '1.8.0')
conf_data = configuration_data()
conf_data.set('PROJECT_VERSION', '"' + meson.project_version() + '"')

View File

@ -102,8 +102,10 @@ void JsonUtil::importSales(const std::filesystem::path &filePath, Marketplace *m
int source_no = jsonValues["source_no"];
if (source_no == cashPointNo) {
throw std::runtime_error("Die Kassen-Nr. der zu imporierenden Daten wird von dieser Kasse "
"hier bereits verwendet.");
std::string ret = "Die Kassen-Nr. ";
ret += std::to_string(source_no);
ret += " der zu imporierenden Daten wird von dieser Kasse hier bereits verwendet.";
throw std::runtime_error(ret);
}
market->setSalesToDelete(jsonValues["source_no"]);

View File

@ -504,27 +504,30 @@ void MainWindow::onImportSalesJsonActionTriggered()
{
QSettings settings;
auto filename = QFileDialog::getOpenFileName(this, "Umsätze/Transaktionen importieren",
auto filenames = QFileDialog::getOpenFileNames(this, "Umsätze/Transaktionen importieren",
QString(), "JSON Dateien (*.json)");
if (filename.isEmpty())
if (filenames.isEmpty())
return;
for(auto filename: filenames) {
#if defined(_WIN64) || defined(_WIN32)
fs::path filePath(filename.toStdWString());
fs::path filePath(filename.toStdWString());
#else
fs::path filePath(filename.toStdString());
fs::path filePath(filename.toStdString());
#endif
delete m_ui.salesView->model();
try {
JsonUtil::importSales(filePath, m_marketplace.get(),
settings.value("global/cashPointNo").toInt());
} catch (std::runtime_error &err) {
QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok,
this)
.exec();
delete m_ui.salesView->model();
try {
JsonUtil::importSales(filePath, m_marketplace.get(),
settings.value("global/cashPointNo").toInt());
} catch (std::runtime_error &err) {
QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok,
this)
.exec();
}
}
setSaleModel();
updateStatLabel();
}