From c1e46d7cdd63de1bfb9698a777667743f858b47a Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Wed, 24 Mar 2021 20:19:16 +0100 Subject: [PATCH 1/9] add additional docker container which is running skeema on startup to update dbs if they have changed, cleanup mariadb/Dockerfile --- docker-compose.override.yml | 14 ++++++++ mariadb/Dockerfile | 66 ------------------------------------- skeema/.skeema | 5 +++ skeema/Dockerfile | 28 ++++++++++++++++ 4 files changed, 47 insertions(+), 66 deletions(-) create mode 100644 skeema/.skeema create mode 100644 skeema/Dockerfile diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 97cdb3155..0235f5053 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -57,6 +57,20 @@ services: - external-net volumes: - /sessions + + ######################################################### + ## skeema for updating dbs if changes happend ########### + ######################################################### + skeema: + build: + context: . + dockerfile: ./skeema/Dockerfile + target: skeema_run + container_name: skeema + depends_on: + - mariadb + networks: + - internal-net volumes: frontend_node_modules: diff --git a/mariadb/Dockerfile b/mariadb/Dockerfile index ef2f35a46..526ebf250 100644 --- a/mariadb/Dockerfile +++ b/mariadb/Dockerfile @@ -1,29 +1,12 @@ -######################################################################################################### -# Build skeema -######################################################################################################### -FROM golang:1.14.4 as skeema_build -RUN go get -d -v github.com/skeema/skeema -WORKDIR /go/src/github.com/skeema/skeema -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /go/bin/skeema . - ######################################################################################################### # mariadb server ######################################################################################################### From mariadb/server:10.5 as mariadb_server ENV DOCKER_WORKDIR="/docker-entrypoint-initdb.d" -#ENV DOCKER_WORKDIR="/skeema" - -# copy skeema -#COPY --from=skeema_build /go/bin/skeema /usr/bin/ RUN mkdir -p ${DOCKER_WORKDIR} WORKDIR ${DOCKER_WORKDIR} -#COPY ./mariadb/.skeema . -#COPY ./login_server/skeema/ . -#COPY ./mariadb/.skeema.login ./gradido_login/.skeema -#COPY ./community_server/skeema/ . -#RUN for f in *.c; do cp -- "$f" "$OTHERDIR/old#$f"; done # create databases COPY ./mariadb/setup_dbs.sql a_setup_dbs.sql @@ -35,52 +18,3 @@ COPY ./community_server/skeema/ . RUN cd ./gradido_community/ && for f in *.sql; do cp -- "$f" "../d_$f"; sed -i '1i use gradido_community;' "../d_$f"; done RUN cd ./gradido_community/insert && for f in *.sql; do cp -- "$f" "../../e_$f"; sed -i '1i use gradido_community;' "../../e_$f"; done -RUN ls -ls - - -#USER mysql -#VOLUME /var/lib/mysql -#RUN mysqld -#RUN mysql -e 'CREATE DATABASE gradido_login_server;' -#RUN mysql -e 'CREATE DATABASE gradido_community_server;' - - -#RUN skeema push - -######################################################################################################### -# mariadb server selfmade -######################################################################################################### -From alpine:latest as mariadb_DIV - -ENV DOCKER_WORKDIR="/skeema" - -#VOLUME /var/lib/mysql - -#RUN apt-get update \ -# && apt-get -y --no-install-recommends install mariadb-server mariadb-client \ -# && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* -RUN apk add mariadb mariadb-client - -# copy skeema -COPY --from=skeema_build /go/bin/skeema /usr/bin/ - -RUN mkdir -p ${DOCKER_WORKDIR} -WORKDIR ${DOCKER_WORKDIR} - -COPY ./mariadb/setup_dbs.sh . -COPY ./mariadb/.skeema . -COPY ./login_server/skeema/ . -COPY ./mariadb/.skeema.login ./gradido_login/.skeema -COPY ./community_server/skeema/ . -COPY ./mariadb/.skeema.community ./gradido_community/.skeema - -USER mysql -#VOLUME /var/lib/mysql -#RUN mysqld -#RUN chmod +x ./setup_dbs.sh -#RUN mysql < setup_dbs.sql -#RUN skeema push - -#EXPOSE 3306 - -#CMD ["mysld"] \ No newline at end of file diff --git a/skeema/.skeema b/skeema/.skeema new file mode 100644 index 000000000..dc87968d6 --- /dev/null +++ b/skeema/.skeema @@ -0,0 +1,5 @@ +[production] +flavor=mariadb:10.5 +host=mariadb +port=3306 +user=root \ No newline at end of file diff --git a/skeema/Dockerfile b/skeema/Dockerfile new file mode 100644 index 000000000..8c921ba23 --- /dev/null +++ b/skeema/Dockerfile @@ -0,0 +1,28 @@ +######################################################################################################### +# Build skeema +######################################################################################################### +FROM golang:1.14.4 as skeema_build +RUN go get -d -v github.com/skeema/skeema +WORKDIR /go/src/github.com/skeema/skeema +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /go/bin/skeema . + +######################################################################################################### +# Run skeema +######################################################################################################### +From alpine:latest as skeema_run + +ENV DOCKER_WORKDIR="/skeema" + +# copy skeema +COPY --from=skeema_build /go/bin/skeema /usr/bin/ + +RUN mkdir -p ${DOCKER_WORKDIR} +WORKDIR ${DOCKER_WORKDIR} + +COPY ./skeema/.skeema . +COPY ./login_server/skeema/ . +COPY ./mariadb/.skeema.login ./gradido_login/.skeema +COPY ./community_server/skeema/ . +COPY ./mariadb/.skeema.community ./gradido_community/.skeema + +CMD skeema push \ No newline at end of file From d0eb304c5951d5a982ec053c0f954ae4f2e3f492 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Thu, 25 Mar 2021 10:53:03 +0100 Subject: [PATCH 2/9] simplify code for email send, use new email code instead old system with additional task --- .../src/cpp/HTTPInterface/ElopageWebhook.cpp | 76 +++---------------- 1 file changed, 12 insertions(+), 64 deletions(-) diff --git a/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp b/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp index c29b280a8..eb551b821 100644 --- a/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp +++ b/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp @@ -11,6 +11,7 @@ using namespace Poco::Data::Keywords; #include "../SingletonManager/ConnectionManager.h" #include "../SingletonManager/ErrorManager.h" #include "../SingletonManager/SessionManager.h" +#include "../SingletonManager/EmailManager.h" #include "../ServerConfig.h" @@ -20,7 +21,7 @@ using namespace Poco::Data::Keywords; #include "../controller/EmailVerificationCode.h" #include "../model/table/ElopageBuy.h" - +#include "../lib/DataTypeConverter.h" void ElopageWebhook::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) @@ -277,22 +278,9 @@ int HandleElopageRequestTask::run() saveElopageBuy->scheduleTask(saveElopageBuy); // check product id - Poco::UInt64 product_id = 0; - try { - product_id = stoull(mRequestData.get("product[id]", "0")); - } - catch (const std::invalid_argument& ia) { - std::cerr << __FUNCTION__ << "Invalid argument: " << ia.what() << '\n'; - } - catch (const std::out_of_range& oor) { - std::cerr << __FUNCTION__ << "Out of Range error: " << oor.what() << '\n'; - } - catch (const std::logic_error & ler) { - std::cerr << __FUNCTION__ << "Logical error: " << ler.what() << '\n'; - } - catch (...) { - std::cerr << __FUNCTION__ << "Unknown error" << '\n'; - } + unsigned long long product_id = 0; + DataTypeConverter::strToInt(mRequestData.get("product[id]", "0"), product_id); + std::string order_id = mRequestData.get("order_id", ""); auto param_error_order_id = new ParamError("HandleElopageRequestTask", "order_id", order_id.data()); @@ -380,56 +368,16 @@ int HandleElopageRequestTask::run() sendErrorsAsEmail(); return -4; } + auto em = EmailManager::getInstance(); + if (emailVerification->getModel()->insertIntoDB(false)) { + int noEMail = 0; + DataTypeConverter::strToInt(mRequestData.get("noEmail", "0"), noEMail); - // write email verification code into db - UniLib::controller::TaskPtr saveEmailVerificationCode(new model::table::ModelInsertTask(emailVerification->getModel(), true)); - saveEmailVerificationCode->scheduleTask(saveEmailVerificationCode); - int noEMail = 0; - - std::string noEmailString = mRequestData.get("noEmail", "0"); - try { - noEMail = stoi(noEmailString); - } - catch (const std::invalid_argument& ia) { - std::cerr << __FUNCTION__ << " Invalid argument: " << ia.what() << ", str: " << noEmailString << '\n'; - } - catch (const std::out_of_range& oor) { - std::cerr << __FUNCTION__ << " Out of Range error: " << oor.what() << '\n'; - } - catch (const std::logic_error & ler) { - std::cerr << __FUNCTION__ << " Logical error: " << ler.what() << '\n'; - } - catch (...) { - std::cerr << __FUNCTION__ << " Unknown error" << '\n'; + if (noEMail != 1) { + em->addEmail(new model::Email(emailVerification, newUser, model::EMAIL_USER_VERIFICATION_CODE)); + } } - if (noEMail != 1) { - - // send email to user - /*auto message = new Poco::Net::MailMessage; - - message->addRecipient(Poco::Net::MailRecipient(Poco::Net::MailRecipient::PRIMARY_RECIPIENT, mEmail)); - message->setSubject("Gradido: E-Mail Verification"); - std::stringstream ss; - ss << "Hallo " << mFirstName << " " << mLastName << "," << std::endl << std::endl; - ss << "Du oder jemand anderes hat sich soeben mit dieser E-Mail Adresse bei Gradido registriert. " << std::endl; - ss << "Wenn du es warst, klicke bitte auf den Link: " << ServerConfig::g_serverPath << "/checkEmail/" << emailVerification->getModel()->getCode() << std::endl; - //ss << "oder kopiere den Code: " << mEmailVerificationCode << " selbst dort hinein." << std::endl; - ss << "oder kopiere den obigen Link in Dein Browserfenster." << std::endl; - ss << std::endl; - - ss << "Mit freundlichen " << u8"Gren" << std::endl; - ss << "Dario, Gradido Server Admin" << std::endl; - - message->addContent(new Poco::Net::StringPartSource(ss.str())); - */ - //UniLib::controller::TaskPtr sendEmail(new SendEmailTask(message, ServerConfig::g_CPUScheduler, 1)); - //Email(AutoPtr emailVerification, AutoPtr user, EmailType type); - UniLib::controller::TaskPtr sendEmail(new SendEmailTask(new model::Email(emailVerification, newUser, model::EMAIL_USER_VERIFICATION_CODE), ServerConfig::g_CPUScheduler, 1)); - //sendEmail->setParentTaskPtrInArray(prepareEmail, 0); - sendEmail->setParentTaskPtrInArray(saveEmailVerificationCode, 0); - sendEmail->scheduleTask(sendEmail); - } } // if errors occured, send via email From 8a143be8423d7bd894d4f512848895df8b9694b0 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Thu, 25 Mar 2021 11:00:00 +0100 Subject: [PATCH 3/9] removed email tasks complete --- .../src/cpp/HTTPInterface/ElopageWebhook.cpp | 2 - login_server/src/cpp/model/Session.cpp | 8 +-- .../src/cpp/tasks/PrepareEmailTask.cpp | 65 ------------------- login_server/src/cpp/tasks/PrepareEmailTask.h | 25 ------- login_server/src/cpp/tasks/SendEmailTask.cpp | 64 ------------------ login_server/src/cpp/tasks/SendEmailTask.h | 36 ---------- 6 files changed, 4 insertions(+), 196 deletions(-) delete mode 100644 login_server/src/cpp/tasks/PrepareEmailTask.cpp delete mode 100644 login_server/src/cpp/tasks/PrepareEmailTask.h delete mode 100644 login_server/src/cpp/tasks/SendEmailTask.cpp delete mode 100644 login_server/src/cpp/tasks/SendEmailTask.h diff --git a/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp b/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp index eb551b821..808695e10 100644 --- a/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp +++ b/login_server/src/cpp/HTTPInterface/ElopageWebhook.cpp @@ -15,8 +15,6 @@ using namespace Poco::Data::Keywords; #include "../ServerConfig.h" -#include "../tasks/PrepareEmailTask.h" -#include "../tasks/SendEmailTask.h" #include "../controller/EmailVerificationCode.h" #include "../model/table/ElopageBuy.h" diff --git a/login_server/src/cpp/model/Session.cpp b/login_server/src/cpp/model/Session.cpp index 86fad389c..dcad0d40a 100644 --- a/login_server/src/cpp/model/Session.cpp +++ b/login_server/src/cpp/model/Session.cpp @@ -12,8 +12,6 @@ #include "../SingletonManager/EmailManager.h" #include "../SingletonManager/SingletonTaskObserver.h" -#include "../tasks/PrepareEmailTask.h" -#include "../tasks/SendEmailTask.h" #include "../tasks/SigningTransaction.h" #include "../tasks/AuthenticatedEncryptionCreateKeyTask.h" #include "../tasks/VerificationEmailResendTask.h" @@ -348,12 +346,14 @@ bool Session::createUser(const std::string& first_name, const std::string& last_ */ //UniLib::controller::TaskPtr sendEmail(new SendEmailTask(message, ServerConfig::g_CPUScheduler, 1)); //Email(AutoPtr emailVerification, AutoPtr user, EmailType type); - UniLib::controller::TaskPtr sendEmail(new SendEmailTask(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_VERIFICATION_CODE), ServerConfig::g_CPUScheduler, 1)); + auto em = EmailManager::getInstance(); + em->addEmail(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_VERIFICATION_CODE)); + /*UniLib::controller::TaskPtr sendEmail(new SendEmailTask(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_VERIFICATION_CODE), ServerConfig::g_CPUScheduler, 1)); //sendEmail->setParentTaskPtrInArray(prepareEmail, 0); sendEmail->setParentTaskPtrInArray(writeEmailVerification, 0); sendEmail->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_EMAIL_VERIFICATION_SEND, this)); sendEmail->scheduleTask(sendEmail); - + */ // write user into db // generate and write email verification into db // send email diff --git a/login_server/src/cpp/tasks/PrepareEmailTask.cpp b/login_server/src/cpp/tasks/PrepareEmailTask.cpp deleted file mode 100644 index cc20d9472..000000000 --- a/login_server/src/cpp/tasks/PrepareEmailTask.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "PrepareEmailTask.h" -#include "../lib/Profiler.h" -#include "../ServerConfig.h" -#include "../SingletonManager/ErrorManager.h" - -#include "Poco/Net/SSLException.h" - -PrepareEmailTask::PrepareEmailTask(UniLib::controller::CPUSheduler* cpuScheduler) - : UniLib::controller::CPUTask(cpuScheduler), mMailClientSession(nullptr) -{ - -} - -PrepareEmailTask::~PrepareEmailTask() -{ - if (mMailClientSession) { - delete mMailClientSession; - } -} - -int PrepareEmailTask::run() -{ - if (ServerConfig::g_disableEmail) return 0; - Profiler timeUsed; - mMailClientSession = new Poco::Net::SecureSMTPClientSession(ServerConfig::g_EmailAccount.url, ServerConfig::g_EmailAccount.port); - mMailClientSession->login(); - try { - mMailClientSession->startTLS(ServerConfig::g_SSL_CLient_Context); - mMailClientSession->login(Poco::Net::SMTPClientSession::AUTH_LOGIN, ServerConfig::g_EmailAccount.username, ServerConfig::g_EmailAccount.password); - } catch(Poco::Net::SSLException& ex) { - printf("[PrepareEmailTask] ssl certificate error: %s\nPlease make sure you have cacert.pem (CA/root certificates) next to binary from https://curl.haxx.se/docs/caextract.html\n", ex.displayText().data()); - return -1; - } - - //printf("[PrepareEmailTask] time: %s\n", timeUsed.string().data()); - /* - session.login(); - session.startTLS(pContext); - if (!username.empty()) - { - session.login(SMTPClientSession::AUTH_LOGIN, username, password); - } - session.sendMessage(message); - session.close(); - */ - - return 0; -} - -int PrepareEmailTask::send(Poco::Net::MailMessage* message) -{ - if (ServerConfig::g_disableEmail) return 0; - - auto er = ErrorManager::getInstance(); - try { - mMailClientSession->sendMessage(*message); - mMailClientSession->close(); - } - catch (Poco::Exception& exc) { - er->addError(new ParamError("PrepareEmailTask::send", "error sending email", exc.displayText().data())); - printf("[PrepareEmailTask::%s] error sending email: %s\n", __FUNCTION__, exc.displayText().data()); - return -1; - } - return 0; -} \ No newline at end of file diff --git a/login_server/src/cpp/tasks/PrepareEmailTask.h b/login_server/src/cpp/tasks/PrepareEmailTask.h deleted file mode 100644 index 4036eefc2..000000000 --- a/login_server/src/cpp/tasks/PrepareEmailTask.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef GRADIDO_LOGIN_SERVER_TASKS_PREPAIRE_EMAIL_TASK_INCLUDE -#define GRADIDO_LOGIN_SERVER_TASKS_PREPAIRE_EMAIL_TASK_INCLUDE - -#include "CPUTask.h" -#include "Poco/Net/SecureSMTPClientSession.h" - - - -class PrepareEmailTask : public UniLib::controller::CPUTask -{ -public: - PrepareEmailTask(UniLib::controller::CPUSheduler* cpuScheduler); - virtual ~PrepareEmailTask(); - - virtual int run(); - int send(Poco::Net::MailMessage* message); - virtual const char* getResourceType() const { return "PrepareEmailTask"; }; -protected: - -private: - Poco::Net::SecureSMTPClientSession* mMailClientSession; -}; - - -#endif //GRADIDO_LOGIN_SERVER_TASKS_PREPAIRE_EMAIL_TASK_INCLUDE \ No newline at end of file diff --git a/login_server/src/cpp/tasks/SendEmailTask.cpp b/login_server/src/cpp/tasks/SendEmailTask.cpp deleted file mode 100644 index e3a5e0069..000000000 --- a/login_server/src/cpp/tasks/SendEmailTask.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "SendEmailTask.h" -#include "PrepareEmailTask.h" -#include "../lib/Profiler.h" -#include "../SingletonManager/ErrorManager.h" -#include "../SingletonManager/EmailManager.h" -#include "../ServerConfig.h" - -#include "Poco/Net/MediaType.h" - -SendEmailTask::SendEmailTask(Poco::Net::MailMessage* mailMessage, UniLib::controller::CPUSheduler* cpuScheduler, size_t additionalTaskDependenceCount/* = 0*/) - : UniLib::controller::CPUTask(cpuScheduler, additionalTaskDependenceCount+1), mMailMessage(mailMessage), mEmail(nullptr) -{ -} - -SendEmailTask::SendEmailTask(model::Email*email, UniLib::controller::CPUSheduler* cpuScheduler, size_t additionalTaskDependenceCount/* = 0*/) - : UniLib::controller::CPUTask(cpuScheduler, additionalTaskDependenceCount), mMailMessage(nullptr), mEmail(email) -{ - -} - -SendEmailTask::~SendEmailTask() -{ - if (mMailMessage) { - delete mMailMessage; - mMailMessage = nullptr; - } - if (mEmail) { - delete mEmail; - mEmail = nullptr; - } - -} - -int SendEmailTask::run() -{ - if(ServerConfig::g_disableEmail) return 0; - - Profiler timeUsed; - auto er = ErrorManager::getInstance(); - auto parent = getParent(0); - - if (mMailMessage) { - - if (strcmp(parent->getResourceType(), "PrepareEmailTask") != 0) { - er->addError(new Error("SendEmailTask", "first parent isn't PrepareEmailTask")); - er->sendErrorsAsEmail(); - return -1; - } - PrepareEmailTask* prepare = (PrepareEmailTask*)&(*parent); - mMailMessage->setSender(ServerConfig::g_EmailAccount.sender); - - if (prepare->send(mMailMessage)) { - er->sendErrorsAsEmail(); - return -1; - } - } - else if (mEmail) { - auto em = EmailManager::getInstance(); - em->addEmail(mEmail); - mEmail = nullptr; - } - //printf("[SendEmailTask] time: %s\n", timeUsed.string().data()); - return 0; -} \ No newline at end of file diff --git a/login_server/src/cpp/tasks/SendEmailTask.h b/login_server/src/cpp/tasks/SendEmailTask.h deleted file mode 100644 index 86e4b76dc..000000000 --- a/login_server/src/cpp/tasks/SendEmailTask.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef GRADIDO_LOGIN_SERVER_TASKS_SEND_EMAIL_TASK_INCLUDE -#define GRADIDO_LOGIN_SERVER_TASKS_SEND_EMAIL_TASK_INCLUDE - -#include "CPUTask.h" -#include "Poco/Net/MailMessage.h" - -#include "../model/email/Email.h" - -/* - * @author: Dario Rekowski - * - * @date: 29.09.19 - * @desc: Task for send an email, the first parent dependence pointer must be a prepare email task -*/ - - -class SendEmailTask : public UniLib::controller::CPUTask -{ -public: - - SendEmailTask(Poco::Net::MailMessage* mailMessage, UniLib::controller::CPUSheduler* cpuScheduler, size_t additionalTaskDependenceCount = 0); - SendEmailTask(model::Email* email, UniLib::controller::CPUSheduler* cpuScheduler, size_t additionalTaskDependenceCount = 0); - virtual ~SendEmailTask(); - - virtual int run(); - - virtual const char* getResourceType() const { return "SendEmailTask"; }; -protected: - -private: - Poco::Net::MailMessage* mMailMessage; - model::Email* mEmail; -}; - - -#endif //GRADIDO_LOGIN_SERVER_TASKS_SEND_EMAIL_TASK_INCLUDE \ No newline at end of file From 814db309a470c892d451731a8c3d8f6f3db6525f Mon Sep 17 00:00:00 2001 From: ogerly Date: Thu, 25 Mar 2021 20:34:14 +0100 Subject: [PATCH 4/9] =?UTF-8?q?qrcode=20scanner=20fixed,=20datum=20in=20ac?= =?UTF-8?q?tivit=C3=A4ten=20fixed,=20sprache=20not=20null=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.vue | 7 +- .../src/views/KontoOverview/GddAddWork.vue | 210 ------------------ .../src/views/KontoOverview/GddAddWork2.vue | 128 +---------- frontend/src/views/KontoOverview/GddSend.vue | 9 +- .../src/views/KontoOverview/GddStatus.vue | 14 +- .../Pages/UserProfile/EditProfileForm.vue | 7 +- .../src/views/Pages/UserProfile/UserCard.vue | 8 +- .../src/views/Pages/UserProfileActivity.vue | 2 - 8 files changed, 34 insertions(+), 351 deletions(-) delete mode 100644 frontend/src/views/KontoOverview/GddAddWork.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 2b0449c88..e11e03d3d 100755 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -39,7 +39,12 @@ export default { //console.log('%cHey %c' + $cookies.get('gdd_u') + '', 'font-weight:bold', 'color: orange') this.$store.commit('session_id', $cookies.get('gdd_session_id')) this.$store.commit('email', $cookies.get('gdd_u')) - this.$store.commit('language', $cookies.get('gdd_lang')) + if ($cookies.get('gdd_lang') != 'de' || $cookies.get('gdd_lang') != 'de') { + this.$store.commit('language', 'de') + } else { + this.$store.commit('language', $cookies.get('gdd_lang')) + } + this.$i18n.locale = $cookies.get('gdd_lang') this.$router.push('overview') } else { diff --git a/frontend/src/views/KontoOverview/GddAddWork.vue b/frontend/src/views/KontoOverview/GddAddWork.vue deleted file mode 100644 index b1be964aa..000000000 --- a/frontend/src/views/KontoOverview/GddAddWork.vue +++ /dev/null @@ -1,210 +0,0 @@ - - - diff --git a/frontend/src/views/KontoOverview/GddAddWork2.vue b/frontend/src/views/KontoOverview/GddAddWork2.vue index 85cb3ffb3..2e328cc9a 100644 --- a/frontend/src/views/KontoOverview/GddAddWork2.vue +++ b/frontend/src/views/KontoOverview/GddAddWork2.vue @@ -17,7 +17,7 @@ class="form-control" v-model="date" :config="config" - style="font-size: xx-large; padding-left: 20px" + style="font-size: x-large; padding-left: 20px" > @@ -43,83 +43,9 @@ - - - - - - - - - - - - - - - - - - - - + weiteren Report hinzufügen - - - - Einreichen, absenden - - -
-
Selected date is - {{ date }}
-

{{ days.lastMonth }} Days in {{ names.lastMonth }}

+ -

- Du hast diesen Monat - {{ stundenSumme > 0 ? 'schon ' : 'noch keine' }} - {{ stundenSumme > 0 ? '' + stundenSumme : '' }} - Stunden eingetragen -

-
- - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
-
Selected date is - {{ date }}
-

{{ days.beforLastMonth }} Days in {{ names.beforLastMonth }}

-

Du hast noch keine Einträge

-
+ @@ -141,32 +67,6 @@ export default { maxDate: this.$moment().format('DD.MM.YYYY'), mode: 'range', }, - lastConfig: { - altInput: false, - dateFormat: 'd-m-Y', - minDate: this.$moment() - .month(this.$moment().month() - 1) - .startOf('month') - .format('DD.MM.YYYY'), - maxDate: this.$moment() - .month(this.$moment().month() - 1) - .endOf('month') - .format('DD.MM.YYYY'), - mode: 'range', - }, - beforLastConfig: { - altInput: false, - dateFormat: 'd-m-Y', - minDate: this.$moment() - .month(this.$moment().month() - 2) - .startOf('month') - .format('DD.MM.YYYY'), - maxDate: this.$moment() - .month(this.$moment().month() - 2) - .endOf('month') - .format('DD.MM.YYYY'), - mode: 'range', - }, index: 0, form: [], stundenSumme: 0, @@ -199,20 +99,10 @@ export default { }, }, methods: { - getTR(m, i) { - //console.log(m + '-' + i) - }, stunden(hour, i, mon) { let n = 0 - //console.log('stunden(form)=>', hour) - //console.log('stunden(i)=>', i) - //console.log('stunden(mon)=>', mon) - - //console.log('this.stundenSumme start=> ', this.stundenSumme) this.stundenSumme = 0 - //console.log('arr.length => ', this.form.length) for (n; n < this.form.length; n++) { - //console.log('>arr[n]=> ', this.form[n]) if (this.form[n] > 0) { this.stundenSumme += parseInt(this.form[n]) } @@ -226,7 +116,6 @@ export default { TextDecoded: '', }) this.index++ - //console.log('this.stundenSumme ende=> ', this.stundenSumme) }, addNewMessage: function () { this.messages.push({ @@ -235,24 +124,15 @@ export default { }) }, deleteNewMessage: function (event) { - //console.log('deleteNewMessage:event) => ', event) - //console.log("deleteNewMessage:this.events.splice(this.event) => ", this.events.splice(this.event)) this.form.splice(event, null) this.messages.splice(index, 1) this.index-- }, submitForm: function (e) { - //console.log(this.messages) - + //console.log('submitForm') this.messages = [{ DaysNumber: '', TextDecoded: '' }] this.submitted = true }, - submitForm2() { - //console.log('submitForm2 TODO') - }, - submitForm3() { - //console.log('submitForm3 TODO') - }, textFocus() { //console.log('textFocus TODO') }, diff --git a/frontend/src/views/KontoOverview/GddSend.vue b/frontend/src/views/KontoOverview/GddSend.vue index 038aa0f6b..7dc36efc7 100644 --- a/frontend/src/views/KontoOverview/GddSend.vue +++ b/frontend/src/views/KontoOverview/GddSend.vue @@ -7,7 +7,7 @@ Bitte überprüfe alle deine Eingaben sehr genau. Du bist alleine Verantwortlich für deine Entscheidungen. Versendete Gradidos können nicht wieder zurück geholt werden. - + QR Code Scanner @@ -230,10 +230,9 @@ export default { const arr = JSON.parse(decodedString) //console.log('qr-email', arr[0].email) //console.log('qr-amount', arr[0].amount) - - this.$store.state.row_form = false - this.$store.state.row_check = true - this.$store.state.row_thx = false + this.form.email = arr[0].email + this.form.amount = arr[0].amount + this.scan = false }, async onSubmit() { //event.preventDefault() diff --git a/frontend/src/views/KontoOverview/GddStatus.vue b/frontend/src/views/KontoOverview/GddStatus.vue index b22c273fc..53972ddd5 100644 --- a/frontend/src/views/KontoOverview/GddStatus.vue +++ b/frontend/src/views/KontoOverview/GddStatus.vue @@ -2,12 +2,22 @@
- + {{ $n($store.state.user.balance) }} GDD - + {{ $n($store.state.user.balance_gdt) }} GDT diff --git a/frontend/src/views/Pages/UserProfile/EditProfileForm.vue b/frontend/src/views/Pages/UserProfile/EditProfileForm.vue index e8981f8e8..dbf9a3064 100755 --- a/frontend/src/views/Pages/UserProfile/EditProfileForm.vue +++ b/frontend/src/views/Pages/UserProfile/EditProfileForm.vue @@ -1,10 +1,5 @@