This commit is contained in:
Crylia
2024-07-08 23:52:36 +02:00
parent 5bce421326
commit 701a8c3a98
15 changed files with 463 additions and 433 deletions

View File

@@ -5,32 +5,28 @@ EinsatzplanFrameController::EinsatzplanFrameController(QString id, bool admin)
m_admin(admin) {
const std::map<std::string, std::string> config = load_config( );
m_connectionString = fmt::format(
m_dbHandler = std::make_unique<DBHandler>(fmt::format(
"host={} port={} dbname={} user={} password={}",
config.at("DB_HOST"),
config.at("DB_PORT"),
config.at("DB_NAME"),
config.at("DB_USER"),
config.at("DB_PASSWORD")
);
));
}
void EinsatzplanFrameController::deleteMember(QString id) {
DBHandler* db = new DBHandler(m_connectionString);
db->deleteVeranstalter(id.toStdString( ));
m_dbHandler->deleteVeranstalter(id.toStdString( ));
}
void EinsatzplanFrameController::deleteVeranstaltung(QString veranstaltungsname) {
DBHandler* db = new DBHandler(m_connectionString);
db->deleteVeranstaltung(veranstaltungsname.toStdString( ));
m_dbHandler->deleteVeranstaltung(veranstaltungsname.toStdString( ));
}
void EinsatzplanFrameController::createMember(QString name, QString email, QString passwort, bool admin) {
DBHandler* db = new DBHandler(m_connectionString);
db->createVeranstalter(email.toStdString( ), name.toStdString( ), passwort.toStdString( ), admin ? "TRUE" : "FALSE");
m_dbHandler->createVeranstalter(name.toStdString( ), email.toStdString( ), passwort.toStdString( ), admin);
}
void EinsatzplanFrameController::createVeranstaltung(QString name, QString raum, QString campus, QString time) {
DBHandler* db = new DBHandler(m_connectionString);
db->createVeranstaltung(name.toStdString( ), std::to_string((char)time.toStdString( ).at(0) - 48), campus.toStdString( ), raum.toStdString( ));
m_dbHandler->createVeranstaltung(name.toStdString( ), campus.toStdString( ), raum.toStdString( ), std::to_string((char)time.toStdString( ).at(0) - 48));
}

View File

@@ -3,12 +3,12 @@
#include <QString>
#include <fmt/format.h>
#include "../../Core/DBHandler/DBHandler/DBHandler.hpp"
#include "../../Core/DBHandler/DBHandler.hpp"
#include "../../Core/config/config.hpp"
class EinsatzplanFrameController {
private:
std::string m_connectionString;
std::unique_ptr<DBHandler> m_dbHandler;
protected:
QString m_id;
@@ -20,4 +20,5 @@ public:
void deleteVeranstaltung(QString veranstaltungsname);
void createMember(QString name, QString email, QString passwort, bool admin);
void createVeranstaltung(QString name, QString raum, QString campus, QString time);
};

View File

@@ -3,18 +3,16 @@
LoginFrameController::LoginFrameController( ) {
auto config = load_config( );
m_connectionString = fmt::format(
m_dbHandler = std::make_unique<DBHandler>(fmt::format(
"host={} port={} dbname={} user={} password={}",
config.at("DB_HOST"),
config.at("DB_PORT"),
config.at("DB_NAME"),
config.at("DB_USER"),
config.at("DB_PASSWORD")
);
));
}
int LoginFrameController::tryLogin(QString id, QString password) {
DBLogin* loginHandler = new DBLogin(m_connectionString);
return loginHandler->checkValidLogin(id.toStdString( ), password.toStdString( ));
return m_dbHandler->tryAuthenticate(id.toStdString( ), password.toStdString( ));
}

View File

@@ -4,13 +4,16 @@
#include <QString>
#include <fmt/core.h>
#include "../../Core/DBHandler/DBLogin/DBLogin.hpp"
#include "../../Core/DBHandler/DBHandler.hpp"
#include "../../Core/config/config.hpp"
class LoginFrameController {
private:
std::string m_connectionString;
std::unique_ptr<DBHandler> m_dbHandler;
public:
LoginFrameController( );
int tryLogin(QString id, QString password);
};

View File

@@ -17,20 +17,18 @@ PlanGridController::PlanGridController( ) {
const std::map<std::string, std::string> config = load_config( );
m_connectionString = fmt::format(
m_dbHandler = std::make_unique<DBHandler>(fmt::format(
"host={} port={} dbname={} user={} password={}",
config.at("DB_HOST"),
config.at("DB_PORT"),
config.at("DB_NAME"),
config.at("DB_USER"),
config.at("DB_PASSWORD")
);
));
}
QMap<QPair<QString, QString>, QWidget*>* PlanGridController::getVeranstaltungen( ) {
DBHandler* db = new DBHandler(m_connectionString);
std::vector<std::string> planData = db->getVeranstaltung( );
std::vector<std::string> planData = m_dbHandler->getPlan( );
for (int i = 0; i < 5; ++i)
for (int j = 0; j < 5; ++j) {
@@ -118,17 +116,35 @@ QMap<QPair<QString, QString>, QWidget*>* PlanGridController::getVeranstaltungen(
)"));
container->setFixedSize(240, 100);
planMap->insert(qMakePair(
weekdays[std::stoi(infoVector.at(0)) - 1],
QString::fromStdString(infoVector.at(1).erase(5, 8))),
container);
if (infoVector.at(8) == "4") {
planMap->insert(qMakePair(
weekdays[std::stoi(infoVector.at(0)) - 1],
QString::fromStdString(infoVector.at(1).erase(5, 8))),
container);
std::string originalString = infoVector.at(1);
if (originalString.length( ) >= 2) {
char secondChar = originalString[1];
secondChar += 2;
originalString[1] = secondChar;
}
planMap->insert(qMakePair(
weekdays[std::stoi(infoVector.at(0)) - 1],
QString::fromStdString(originalString)),
container);
} else {
planMap->insert(qMakePair(
weekdays[std::stoi(infoVector.at(0)) - 1],
QString::fromStdString(infoVector.at(1).erase(5, 8))),
container);
}
}
return planMap;
}
void PlanGridController::Krankmelden(const int id, int tag, int stunde) {
DBHandler db(m_connectionString);
db.meldeKrank(std::to_string(id), std::to_string(tag), std::to_string(stunde));
void PlanGridController::Krankmelden(const int id, const int tag, const std::string& uhrzeit) {
m_dbHandler->krankmelden(std::to_string(id), uhrzeit, tag);
}

View File

@@ -7,12 +7,13 @@
#include <QPushButton>
#include "../../Core/config/config.hpp"
#include "../../Core/DBHandler/DBHandler/DBHandler.hpp"
#include "../../Core/DBHandler/DBHandler.hpp"
class PlanGridController : public QObject {
Q_OBJECT
private:
std::string m_connectionString;
std::unique_ptr<DBHandler> m_dbHandler;
protected:
QString weekdays[5];
QString times[5];
@@ -22,5 +23,5 @@ public:
PlanGridController( );
QMap<QPair<QString, QString>, QWidget*>* getVeranstaltungen( );
void Krankmelden(const int id, const int tag, const int stunde);
void Krankmelden(const int id, const int tag, const std::string& uhrzeit);
};