From 0eb74240c71ad4f94e9e7b2be307fe7e840371b4 Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Sat, 29 Jan 2022 18:33:26 +0100 Subject: [PATCH] Anzeige der Buchungen im Mitgliederdatensatz --- INSTALL | 3 +-- editdialog.cpp | 25 +++++++++++++++++++++++++ editdialog.h | 4 ++++ editdialog.ui | 4 ++-- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/INSTALL b/INSTALL index dbc7f9c..1c27488 100644 --- a/INSTALL +++ b/INSTALL @@ -56,12 +56,11 @@ Voraussetzung für Entwicklungsmodus QT5 Datenbanktreiber für MariaDB erstellen -``` cd C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers qmake -- MYSQL_INCDIR="C:/Program Files/MariaDB/MariaDB Connector C 64-bit/include" MYSQL_LIBDIR="C:/Program Files/MariaDB/MariaDB Connector C 64-bit/lib" mingw32-make mingw32-make install -``` + Wenn etwas nicht funktioniert: Die Datei `config.cache` löschen diff --git a/editdialog.cpp b/editdialog.cpp index 076ca74..4ba92be 100644 --- a/editdialog.cpp +++ b/editdialog.cpp @@ -83,6 +83,7 @@ EditDialog::EditDialog(QWidget *parent, int nummer) : } qry.finish(); + // TODO Die Sichtbarkeit der Beitragsdaten hängt von den Berechtigungen ab qry.prepare("SELECT beitrag, mahndatum, reduziert, reduziert_bis " "FROM beitrag WHERE mitgliednr=:nr"); qry.bindValue(":nr", nummer); @@ -104,6 +105,30 @@ EditDialog::EditDialog(QWidget *parent, int nummer) : } } qry.finish(); + + // TODO Berechtigungen für die einzelnen Buchungen sind vmtl. noch eine Stufe + // "höher" in den Berechtigungen einzustufen. + + model = new QSqlTableModel(this); + model->setTable("buchung"); + model->setFilter(QString("mitgliednr=%1").arg(nummer)); + model->setSort(2, Qt::DescendingOrder); + model->setEditStrategy(QSqlTableModel::OnManualSubmit); + + model->setHeaderData(0, Qt::Horizontal, "ID"); + model->setHeaderData(1, Qt::Horizontal, "Mitglied-Nr."); + model->setHeaderData(2, Qt::Horizontal, "Datum"); + model->setHeaderData(3, Qt::Horizontal, "Soll"); + model->setHeaderData(4, Qt::Horizontal, "Ist"); + model->setHeaderData(5, Qt::Horizontal, "Jahr"); + + // model->setSort(0, Qt::AscendingOrder); + ui->tableView_Buchung->setSelectionBehavior(QAbstractItemView::SelectRows); + ui->tableView_Buchung->setModel(model); + ui->tableView_Buchung->setColumnHidden(0, true); + ui->tableView_Buchung->setColumnHidden(1, true); + model->select(); + } EditDialog::~EditDialog() diff --git a/editdialog.h b/editdialog.h index 5d779ff..49f2c70 100644 --- a/editdialog.h +++ b/editdialog.h @@ -19,6 +19,8 @@ #define EDITDIALOG_H #include +#include +#include namespace Ui { class EditDialog; @@ -38,6 +40,8 @@ private slots: private: Ui::EditDialog *ui; int mitgliednr; + QSqlTableModel *model; + }; #endif // EDITDIALOG_H diff --git a/editdialog.ui b/editdialog.ui index 3a3fc3a..07ff72b 100644 --- a/editdialog.ui +++ b/editdialog.ui @@ -628,13 +628,13 @@ Buchungen - + 10 10 531 - 261 + 381