Merge branch 'main' into loginwindow

This commit is contained in:
Rene Kievits
2024-07-06 19:59:46 +02:00
committed by GitHub
30 changed files with 1713 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
# include "EinsatzplanFrameController.hpp"
EinsatzplanFrameController::EinsatzplanFrameController(QString id, bool admin)
:m_id(id),
m_admin(admin) {
const std::map<std::string, std::string> config = load_config("../config.cfg");
m_connectionString = 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) {
DBPlan* db = new DBPlan(m_connectionString);
db->deleteVeranstalter(id.toStdString( ));
}
void EinsatzplanFrameController::deleteVeranstaltung(QString veranstaltungsname) {
DBPlan* db = new DBPlan(m_connectionString);
db->deleteVeranstaltung(veranstaltungsname.toStdString( ));
}
void EinsatzplanFrameController::createMember(QString name, QString email, QString passwort, bool admin) {
DBPlan* db = new DBPlan(m_connectionString);
db->hinzufuegenVeranstalter(email.toStdString( ), name.toStdString( ), passwort.toStdString( ), admin ? "TRUE" : "FALSE");
}
void EinsatzplanFrameController::createVeranstaltung(QString name, QString raum, QString campus, QString time) {
DBPlan* db = new DBPlan(m_connectionString);
db->hinzufuegenVeranstaltung(name.toStdString( ), time.toStdString( ), campus.toStdString( ), raum.toStdString( ));
}

View File

@@ -0,0 +1,23 @@
#pragma once
#include <QString>
#include <fmt/format.h>
#include "../../Core/DBHandler/DBPlan/DBPlan.hpp"
#include "../../Core/config/config.hpp"
class EinsatzplanFrameController {
private:
std::string m_connectionString;
protected:
QString m_id;
bool m_admin;
public:
EinsatzplanFrameController(QString id = "0000000", bool admin = true);
void deleteMember(QString id);
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

@@ -0,0 +1,70 @@
#include "PlanGridController.hpp"
PlanGridController::PlanGridController( ) {
weekdays[0] = "Montag";
weekdays[1] = "Dienstag";
weekdays[2] = "Mittwoch";
weekdays[3] = "Donnerstag";
weekdays[4] = "Freitag";
times[0] = "8:00 - 10:00";
times[1] = "10:00 - 12:00";
times[2] = "12:00 - 14:00";
times[3] = "14:00 - 16:00";
times[4] = "16:00 - 18:00";
planMap = new QMap<QPair<QString, QString>, QLabel*>( );
const std::map<std::string, std::string> config = load_config("../config.cfg");
m_connectionString = 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>, QLabel*>* PlanGridController::getVeranstaltungen( ) {
DBPlan* db = new DBPlan(m_connectionString);
// stringFormat = tag , anfangszeit , Ort , Veranstaltung , Mitarbeiter , mitarbeiterID
std::vector<std::string> planData = db->getPlan( );
QString tag;
QString anfang;
QString ort;
QString name;
QString mitarbeiter;
QString mitarbeiterId;
std::string temp;
for (const auto& veranstaltung : planData) {
std::istringstream f(veranstaltung);
std::getline(f, temp, ',');
tag.fromStdString(temp);
std::getline(f, temp, ',');
anfang.fromStdString(temp);
std::getline(f, temp, ',');
ort.fromStdString(temp);
std::getline(f, temp, ',');
name.fromStdString(temp);
std::getline(f, temp, ',');
mitarbeiter.fromStdString(temp);
std::getline(f, temp, ',');
mitarbeiterId.fromStdString(temp);
QLabel* temp = new QLabel(name + "\n" + mitarbeiter + "\n" + ort);
temp->setObjectName("temp");
temp->setStyleSheet(R"(
#temp{
}
)");
temp->setFixedSize(240, 100);
planMap->insert(qMakePair(tag, anfang), temp);
}
return planMap;
}

View File

@@ -0,0 +1,23 @@
#pragma once
#include <QLabel>
#include <sstream>
#include <fmt/format.h>
#include "../../Core/config/config.hpp"
#include "../../Core/DBHandler/DBPlan/DBPlan.hpp"
class PlanGridController {
private:
std::string m_connectionString;
protected:
QString weekdays[5];
QString times[5];
QMap<QPair<QString, QString>, QLabel*>* planMap;
public:
PlanGridController( );
QMap<QPair<QString, QString>, QLabel*>* getVeranstaltungen( );
};