From d013bd9de13c253411dc9a731c57aff5a1790220 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 30 Mar 2022 08:00:30 +0200 Subject: [PATCH 01/18] set function onReset on created components for clear form --- frontend/src/components/GddSend/TransactionForm.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/GddSend/TransactionForm.vue b/frontend/src/components/GddSend/TransactionForm.vue index 5e683d132..cb625da42 100644 --- a/frontend/src/components/GddSend/TransactionForm.vue +++ b/frontend/src/components/GddSend/TransactionForm.vue @@ -184,8 +184,7 @@ export default { memo: this.form.memo, }) }, - onReset(event) { - event.preventDefault() + onReset() { this.form.email = '' this.form.amount = '' this.form.memo = '' @@ -213,6 +212,7 @@ export default { }, }, created() { + this.onReset() this.form.email = this.recipientEmail ? this.recipientEmail : '' }, } From 40c7f96b20d9f786171fd7f0e715a7ae739c308b Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 30 Mar 2022 08:07:32 +0200 Subject: [PATCH 02/18] remove onReset in created, add EMPTY_TRANSACTION_DATA in send function --- frontend/src/components/GddSend/TransactionForm.vue | 4 ++-- frontend/src/pages/Send.vue | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/GddSend/TransactionForm.vue b/frontend/src/components/GddSend/TransactionForm.vue index cb625da42..5e683d132 100644 --- a/frontend/src/components/GddSend/TransactionForm.vue +++ b/frontend/src/components/GddSend/TransactionForm.vue @@ -184,7 +184,8 @@ export default { memo: this.form.memo, }) }, - onReset() { + onReset(event) { + event.preventDefault() this.form.email = '' this.form.amount = '' this.form.memo = '' @@ -212,7 +213,6 @@ export default { }, }, created() { - this.onReset() this.form.email = this.recipientEmail ? this.recipientEmail : '' }, } diff --git a/frontend/src/pages/Send.vue b/frontend/src/pages/Send.vue index f4c5095eb..270187bec 100644 --- a/frontend/src/pages/Send.vue +++ b/frontend/src/pages/Send.vue @@ -148,6 +148,7 @@ export default { .then((result) => { this.$emit('set-tunneled-email', null) this.code = result.data.createTransactionLink.code + this.transactionData = { ...EMPTY_TRANSACTION_DATA } this.currentTransactionStep = TRANSACTION_STEPS.transactionResultLink this.updateTransactions({}) }) From 6cc710b62c1708bc08199a5fd5641b322d7551be Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 13:51:25 +0200 Subject: [PATCH 03/18] default publisher id in env template --- frontend/.env.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/.env.template b/frontend/.env.template index 4e4a86d08..10c42daa9 100644 --- a/frontend/.env.template +++ b/frontend/.env.template @@ -9,5 +9,5 @@ META_KEYWORDS_DE=$META_KEYWORDS_DE META_KEYWORDS_EN=$META_KEYWORDS_EN META_AUTHOR=$META_AUTHOR GRAPHQL_URI=$GRAPHQL_URI -DEFAULT_PUBLISHER_ID=2896 +DEFAULT_PUBLISHER_ID=$DEFAULT_PUBLISHER_ID ADMIN_AUTH_URL=$ADMIN_AUTH_URL \ No newline at end of file From 5b10a87071c7baeb17517fd3dbc338fc6f575118 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 13:59:55 +0200 Subject: [PATCH 04/18] update env template --- backend/.env.dist | 2 +- backend/.env.template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/.env.dist b/backend/.env.dist index 447608533..0a95eda6c 100644 --- a/backend/.env.dist +++ b/backend/.env.dist @@ -41,7 +41,7 @@ EMAIL_PASSWORD=xxx EMAIL_SMTP_URL=gmail.com EMAIL_SMTP_PORT=587 EMAIL_LINK_VERIFICATION=http://localhost/checkEmail/{optin}{code} -EMAIL_LINK_SETPASSWORD=http://localhost/reset/{code} +EMAIL_LINK_SETPASSWORD=http://localhost/reset/{optin} EMAIL_LINK_FORGOTPASSWORD=http://localhost/forgot-password EMAIL_CODE_VALID_TIME=1440 EMAIL_CODE_REQUEST_TIME=10 diff --git a/backend/.env.template b/backend/.env.template index 454b25d3c..66cac7a7c 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -33,7 +33,6 @@ LOGIN_APP_SECRET=21ffbbc616fe LOGIN_SERVER_KEY=a51ef8ac7ef1abf162fb7a65261acd7a # EMail -RESEND_TIME=10 EMAIL=$EMAIL EMAIL_USERNAME=$EMAIL_USERNAME EMAIL_SENDER=$EMAIL_SENDER @@ -42,7 +41,8 @@ EMAIL_SMTP_URL=$EMAIL_SMTP_URL EMAIL_SMTP_PORT=587 EMAIL_LINK_VERIFICATION=$EMAIL_LINK_VERIFICATION EMAIL_LINK_SETPASSWORD=$EMAIL_LINK_SETPASSWORD -RESEND_TIME=10 +EMAIL_CODE_VALID_TIME=$EMAIL_CODE_VALID_TIME +EMAIL_CODE_REQUEST_TIME=$EMAIL_CODE_REQUEST_TIME # Webhook WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET \ No newline at end of file From 1902bb98647ba893dd8d54917756fd943035e10b Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 14:00:16 +0200 Subject: [PATCH 05/18] add email configs --- deployment/bare_metal/.env.dist | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index e46ee1d90..f2b0bcbb3 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -25,8 +25,11 @@ EMAIL_USERNAME=peter@lustig.de EMAIL_SENDER=peter@lustig.de EMAIL_PASSWORD=1234 EMAIL_SMTP_URL=smtp.lustig.de -EMAIL_LINK_VERIFICATION=https://stage1.gradido.net/checkEmail/{code} -EMAIL_LINK_SETPASSWORD=https://stage1.gradido.net/reset/{code} +EMAIL_LINK_VERIFICATION=https://stage1.gradido.net/checkEmail/{optin}{code} +EMAIL_LINK_SETPASSWORD=https://stage1.gradido.net/reset/{optin} +EMAIL_LINK_FORGOTPASSWORD=https://stage1.gradido.net/forgot-password +EMAIL_CODE_VALID_TIME=1440 +EMAIL_CODE_REQUEST_TIME=10 TYPEORM_LOGGING_RELATIVE_PATH=../deployment/bare_metal/log/typeorm.backend.log @@ -54,6 +57,8 @@ FRONTEND_CONFIG_VERSION=v1.2022-03-18 GRAPHQL_URI=https://stage1.gradido.net/graphql ADMIN_AUTH_URL=https://stage1.gradido.net/admin/authenticate?token={token} +DEFAULT_PUBLISHER_ID=2896 + META_URL=http://localhost META_TITLE_DE="Gradido – Dein Dankbarkeitskonto" META_TITLE_EN="Gradido - Your gratitude account" From 6449924e80bb0da8a9f5355a867e00f53537cfa2 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 14:13:35 +0200 Subject: [PATCH 06/18] fix: No plus before zero decay --- frontend/src/filters/amount.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/filters/amount.js b/frontend/src/filters/amount.js index ded1cceb7..97340117d 100644 --- a/frontend/src/filters/amount.js +++ b/frontend/src/filters/amount.js @@ -13,6 +13,6 @@ const amount = (value) => { const GDD = (value) => { value = amount(value) if (value === '') return '' - if (!value.match(/^− /)) value = '+ ' + value + if (!value.match(/^− /) && !value.match(/^0[.,]00$/)) value = '+ ' + value return value + ' GDD' } From dc09a0ccf665106d3e6c08b135f52e56ff4768db Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 15:03:54 +0200 Subject: [PATCH 07/18] get balance of previous transaction to avoid decay calculation --- .../DecayInformations/DecayInformation-Decay.vue | 6 +++++- frontend/src/components/GddTransactionList.vue | 10 +++++++++- .../src/components/Transactions/TransactionDecay.vue | 10 +++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/DecayInformations/DecayInformation-Decay.vue b/frontend/src/components/DecayInformations/DecayInformation-Decay.vue index 6abacd2b8..d8ba13738 100644 --- a/frontend/src/components/DecayInformations/DecayInformation-Decay.vue +++ b/frontend/src/components/DecayInformations/DecayInformation-Decay.vue @@ -13,7 +13,7 @@
- {{ (Number(balance) - Number(decay)) | GDD }} + {{ previousBookedBalance | GDD }} {{ decay | GDD }} {{ $t('math.equal') }} {{ balance | GDD }}
@@ -33,6 +33,10 @@ export default { type: String, required: true, }, + previousBookedBalance: { + type: String, + required: true, + }, }, } diff --git a/frontend/src/components/GddTransactionList.vue b/frontend/src/components/GddTransactionList.vue index 2424907c5..7be0797a8 100644 --- a/frontend/src/components/GddTransactionList.vue +++ b/frontend/src/components/GddTransactionList.vue @@ -15,7 +15,11 @@
@@ -36,6 +37,7 @@ class="list-group-item" v-bind="transactions[index]" :decayStartBlock="decayStartBlock" + :previousBookedBalance="previousBookedBalance(index)" v-on="$listeners" /> @@ -45,6 +47,7 @@ class="list-group-item" v-bind="transactions[index]" :decayStartBlock="decayStartBlock" + :previousBookedBalance="previousBookedBalance(index)" v-on="$listeners" /> @@ -116,7 +119,7 @@ export default { }, previousBookedBalance(idx) { if (this.transactions[idx + 1]) return this.transactions[idx + 1].balance - return 0 + return '0' }, }, watch: { diff --git a/frontend/src/components/Transactions/TransactionCreation.vue b/frontend/src/components/Transactions/TransactionCreation.vue index f343a92ac..dce11307b 100644 --- a/frontend/src/components/Transactions/TransactionCreation.vue +++ b/frontend/src/components/Transactions/TransactionCreation.vue @@ -47,7 +47,7 @@ import DecayRow from '../TransactionRows/DecayRow' import DecayInformation from '../DecayInformations/DecayInformation' export default { - name: 'slot-creation', + name: 'TransactionCreation', components: { CollapseIcon, TypeIcon, @@ -86,6 +86,10 @@ export default { type: Date, required: true, }, + previousBookedBalance: { + type: String, + required: true, + }, }, data() { return { diff --git a/frontend/src/components/Transactions/TransactionDecay.vue b/frontend/src/components/Transactions/TransactionDecay.vue index d61beb026..372705a4c 100644 --- a/frontend/src/components/Transactions/TransactionDecay.vue +++ b/frontend/src/components/Transactions/TransactionDecay.vue @@ -37,7 +37,7 @@ import AmountAndNameRow from '../TransactionRows/AmountAndNameRow' import DecayInformationDecay from '../DecayInformations/DecayInformation-Decay' export default { - name: 'slot-decay', + name: 'TransactionDecay', components: { CollapseIcon, TypeIcon, diff --git a/frontend/src/components/Transactions/TransactionReceive.vue b/frontend/src/components/Transactions/TransactionReceive.vue index f83c84e53..32e40f71e 100644 --- a/frontend/src/components/Transactions/TransactionReceive.vue +++ b/frontend/src/components/Transactions/TransactionReceive.vue @@ -53,7 +53,7 @@ import DecayRow from '../TransactionRows/DecayRow' import DecayInformation from '../DecayInformations/DecayInformation' export default { - name: 'slot-receive', + name: 'TransactionReceive', components: { CollapseIcon, TypeIcon, @@ -95,6 +95,10 @@ export default { type: Number, required: false, }, + previousBookedBalance: { + type: String, + required: true, + }, }, data() { return { diff --git a/frontend/src/components/Transactions/TransactionSend.vue b/frontend/src/components/Transactions/TransactionSend.vue index 2f9ef54d2..a1ea3c88e 100644 --- a/frontend/src/components/Transactions/TransactionSend.vue +++ b/frontend/src/components/Transactions/TransactionSend.vue @@ -53,7 +53,7 @@ import DecayRow from '../TransactionRows/DecayRow' import DecayInformation from '../DecayInformations/DecayInformation' export default { - name: 'slot-send', + name: 'TransactionSend', components: { CollapseIcon, TypeIcon, @@ -96,6 +96,10 @@ export default { type: Number, required: false, }, + previousBookedBalance: { + type: String, + required: true, + }, }, data() { return { From 19a26d5fb7d609f140bb3eeb8d346ef0cc9b8d54 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 16:02:57 +0200 Subject: [PATCH 10/18] add required prop previous booked balance tp specs --- frontend/src/components/Transactions/TransactionCreation.spec.js | 1 + frontend/src/components/Transactions/TransactionDecay.spec.js | 1 + frontend/src/components/Transactions/TransactionReceive.spec.js | 1 + frontend/src/components/Transactions/TransactionSend.spec.js | 1 + 4 files changed, 4 insertions(+) diff --git a/frontend/src/components/Transactions/TransactionCreation.spec.js b/frontend/src/components/Transactions/TransactionCreation.spec.js index e1ea9e0b0..be0713ecf 100644 --- a/frontend/src/components/Transactions/TransactionCreation.spec.js +++ b/frontend/src/components/Transactions/TransactionCreation.spec.js @@ -31,6 +31,7 @@ const propsData = { memo: 'sadasd asdasdasdasdadadd da dad aad', typeId: 'DECAY', decayStartBlock: new Date('2021-05-13T17:46:31.000Z'), + previousBookedBalance: '43.56', } describe('TransactionCreation', () => { diff --git a/frontend/src/components/Transactions/TransactionDecay.spec.js b/frontend/src/components/Transactions/TransactionDecay.spec.js index 232e7f85a..8c5236b6e 100644 --- a/frontend/src/components/Transactions/TransactionDecay.spec.js +++ b/frontend/src/components/Transactions/TransactionDecay.spec.js @@ -31,6 +31,7 @@ const propsData = { memo: 'sadasd asdasdasdasdadadd da dad aad', typeId: 'DECAY', decayStartBlock: new Date('2021-05-13T17:46:31.000Z'), + previousBookedBalance: '43.56', } describe('TransactionDecay', () => { diff --git a/frontend/src/components/Transactions/TransactionReceive.spec.js b/frontend/src/components/Transactions/TransactionReceive.spec.js index f5b27cf47..46cb57e06 100644 --- a/frontend/src/components/Transactions/TransactionReceive.spec.js +++ b/frontend/src/components/Transactions/TransactionReceive.spec.js @@ -31,6 +31,7 @@ const propsData = { memo: 'sadasd asdasdasdasdadadd da dad aad', typeId: 'RECEIVE', decayStartBlock: new Date('2021-05-13T17:46:31.000Z'), + previousBookedBalance: '43.56', } describe('TransactionReceive', () => { diff --git a/frontend/src/components/Transactions/TransactionSend.spec.js b/frontend/src/components/Transactions/TransactionSend.spec.js index 632c0857a..410fcc733 100644 --- a/frontend/src/components/Transactions/TransactionSend.spec.js +++ b/frontend/src/components/Transactions/TransactionSend.spec.js @@ -31,6 +31,7 @@ const propsData = { memo: 'sadasd asdasdasdasdadadd da dad aad', typeId: 'SEND', decayStartBlock: new Date('2021-05-13T17:46:31.000Z'), + previousBookedBalance: '43.56', } describe('TransactionSend', () => { From fda507c54c19178e7aa5f500dbbd8f7572fff418 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 16:08:36 +0200 Subject: [PATCH 11/18] add balance to transaction objects created for pagination tests --- frontend/src/components/GddTransactionList.spec.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/components/GddTransactionList.spec.js b/frontend/src/components/GddTransactionList.spec.js index ba45d93d4..aeecf43cc 100644 --- a/frontend/src/components/GddTransactionList.spec.js +++ b/frontend/src/components/GddTransactionList.spec.js @@ -419,6 +419,7 @@ describe('GddTransactionList', () => { }, id: idx + 1, typeId: 'RECEIVE', + balance: '33.33', } }) From f30be03c5b413e6bdc9dc9d0bd13bad6f397d879 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 30 Mar 2022 16:57:13 +0200 Subject: [PATCH 12/18] folder for new style images --- docu/Style/Images/Blaetter.png | Bin 0 -> 46048 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docu/Style/Images/Blaetter.png diff --git a/docu/Style/Images/Blaetter.png b/docu/Style/Images/Blaetter.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4a78df6a9c63214980665bbef86e71b4a768fc GIT binary patch literal 46048 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 Hm Date: Wed, 30 Mar 2022 18:21:52 +0200 Subject: [PATCH 13/18] change name of mutation which was wrongly called as query --- frontend/src/graphql/mutations.js | 6 ++++++ frontend/src/graphql/queries.js | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index 95c811f8d..3dbd8888e 100644 --- a/frontend/src/graphql/mutations.js +++ b/frontend/src/graphql/mutations.js @@ -18,6 +18,12 @@ export const setPassword = gql` } ` +export const forgotPassword = gql` + mutation($email: String!) { + forgotPassword(email: $email) + } +` + export const updateUserInfos = gql` mutation( $firstName: String diff --git a/frontend/src/graphql/queries.js b/frontend/src/graphql/queries.js index ecd8208b5..b8622ef2d 100644 --- a/frontend/src/graphql/queries.js +++ b/frontend/src/graphql/queries.js @@ -81,12 +81,6 @@ export const transactionsQuery = gql` } ` -export const sendResetPasswordEmail = gql` - query($email: String!) { - sendResetPasswordEmail(email: $email) - } -` - export const listGDTEntriesQuery = gql` query($currentPage: Int!, $pageSize: Int!) { listGDTEntries(currentPage: $currentPage, pageSize: $pageSize) { From d4415ee256794552a2ff73e870f195e159a6d801 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 30 Mar 2022 18:22:49 +0200 Subject: [PATCH 14/18] use renamed mutation instead of badly named query --- frontend/src/pages/ForgotPassword.spec.js | 2 +- frontend/src/pages/ForgotPassword.vue | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/ForgotPassword.spec.js b/frontend/src/pages/ForgotPassword.spec.js index a547f9cc1..321f04913 100644 --- a/frontend/src/pages/ForgotPassword.spec.js +++ b/frontend/src/pages/ForgotPassword.spec.js @@ -21,7 +21,7 @@ const createMockObject = (comingFrom) => { push: mockRouterPush, }, $apollo: { - query: mockAPIcall, + mutate: mockAPIcall, }, $route: { params: { diff --git a/frontend/src/pages/ForgotPassword.vue b/frontend/src/pages/ForgotPassword.vue index 81121fbe7..510567703 100644 --- a/frontend/src/pages/ForgotPassword.vue +++ b/frontend/src/pages/ForgotPassword.vue @@ -39,7 +39,7 @@