Merge branch 'master' into apollo-clicktipp-connector
12
.github/ISSUE_TEMPLATE/release.md
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
name: 🏅 Release
|
||||
about: Define a Release
|
||||
labels: release
|
||||
title: 🏅 [RELEASE]
|
||||
---
|
||||
<!-- THIS ISSUE-TYPE IS NOT FOR YOU! -->
|
||||
<!-- Proceed only if you know what you are doing - go chat with Team Gradido -->
|
||||
<!-- Visit the Gradido Discord: https://discord.gg/kA3zBAKQDC -->
|
||||
|
||||
## 🏅 RELEASE
|
||||
<!-- Describe your Release in detail. Include screenshots and drawings -->
|
||||
2
.github/workflows/test.yml
vendored
@ -261,7 +261,7 @@ jobs:
|
||||
report_name: Coverage Frontend
|
||||
type: lcov
|
||||
result_path: ./coverage/lcov.info
|
||||
min_coverage: 59
|
||||
min_coverage: 60
|
||||
token: ${{ github.token }}
|
||||
|
||||
##############################################################################
|
||||
|
||||
391
backend/CHANGELOG.md
Normal file
@ -0,0 +1,391 @@
|
||||
### Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||
|
||||
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
||||
|
||||
#### [1.3.1](https://github.com/gradido/gradido/compare/1.3.1...1.3.1)
|
||||
|
||||
- logo changed, old logos and icons deleted [`#734`](https://github.com/gradido/gradido/pull/734)
|
||||
- change default value of communty url [`#755`](https://github.com/gradido/gradido/pull/755)
|
||||
- feat: Testing Tabs of TransactionLists [`#737`](https://github.com/gradido/gradido/pull/737)
|
||||
- Added a fetchPolicy: 'no-cache' to the login vall. [`#736`](https://github.com/gradido/gradido/pull/736)
|
||||
- Docu fragen community [`#731`](https://github.com/gradido/gradido/pull/731)
|
||||
- feat: Vue Apollo Client [`#701`](https://github.com/gradido/gradido/pull/701)
|
||||
- change text from Geld to Gradidos [`#711`](https://github.com/gradido/gradido/pull/711)
|
||||
- fix fix [`#728`](https://github.com/gradido/gradido/pull/728)
|
||||
- generate updated pot file and update po file [`1569845`](https://github.com/gradido/gradido/commit/15698459f8be9d5111757393f5f3b4558e60c7b1)
|
||||
- Implementation of the FormUserMail Tests. And review changes. [`421aba2`](https://github.com/gradido/gradido/commit/421aba22ff1620c534d6ab8b6592b5129e275265)
|
||||
- test for GDT transaction list [`bfe8069`](https://github.com/gradido/gradido/commit/bfe806988e309b88d3f8f3f3aa0cd9ca86319300)
|
||||
|
||||
#### [1.3.1](https://github.com/gradido/gradido/compare/1.3.0...1.3.1)
|
||||
|
||||
> 12 August 2021
|
||||
|
||||
- fix: Translations and Formula Display [`#727`](https://github.com/gradido/gradido/pull/727)
|
||||
- 612 docu structure [`#688`](https://github.com/gradido/gradido/pull/688)
|
||||
- Community update for gdt list GDT transaction format [`#726`](https://github.com/gradido/gradido/pull/726)
|
||||
- [#612] new directory structure in /docu/Concepts [`10bf3b0`](https://github.com/gradido/gradido/commit/10bf3b0cdfa6c44f879be0155e93f636601a051b)
|
||||
- #612 additional documents [`ac0ed4f`](https://github.com/gradido/gradido/commit/ac0ed4fee81caff26d09b5de47dd130f12abdb45)
|
||||
- #612 docu restructuring [`e67e1c4`](https://github.com/gradido/gradido/commit/e67e1c41e78264698e6fae4cf1d29751de7e7b29)
|
||||
|
||||
#### [1.3.0](https://github.com/gradido/gradido/compare/1.2.1...1.3.0)
|
||||
|
||||
> 12 August 2021
|
||||
|
||||
- Update README.md [`#719`](https://github.com/gradido/gradido/pull/719)
|
||||
- fixed bugs, step 1 [`#718`](https://github.com/gradido/gradido/pull/718)
|
||||
- update code for correct transactions listening [`#725`](https://github.com/gradido/gradido/pull/725)
|
||||
- bugfix: change to new frontend passwort reset [`#724`](https://github.com/gradido/gradido/pull/724)
|
||||
- feat: Add Pagination Buttons to GDT Transaction List [`#716`](https://github.com/gradido/gradido/pull/716)
|
||||
- fix bug, change statment from transaction infbox [`#712`](https://github.com/gradido/gradido/pull/712)
|
||||
- 650-display of the gdt transactions [`#687`](https://github.com/gradido/gradido/pull/687)
|
||||
- Login-Server bug fix, allow names with 2 characters also [`#714`](https://github.com/gradido/gradido/pull/714)
|
||||
- Apollo sendCoins via Login-Server [`#699`](https://github.com/gradido/gradido/pull/699)
|
||||
- increase coverage to 34% [`#700`](https://github.com/gradido/gradido/pull/700)
|
||||
- mobile friendly, add text, change text [`#683`](https://github.com/gradido/gradido/pull/683)
|
||||
- Css color input error [`#646`](https://github.com/gradido/gradido/pull/646)
|
||||
- Apollo gdt [`#686`](https://github.com/gradido/gradido/pull/686)
|
||||
- Backend Setup [`#584`](https://github.com/gradido/gradido/pull/584)
|
||||
- text-size in textarea and font-variante if focus [`#677`](https://github.com/gradido/gradido/pull/677)
|
||||
- 680 app large maximum width [`#681`](https://github.com/gradido/gradido/pull/681)
|
||||
- linting, server is working [`34b30b2`](https://github.com/gradido/gradido/commit/34b30b216b6fafcb5b686d4b023b05f2e9766bdf)
|
||||
- server stack seems to work. Graphql does not load properly yet [`43f7cf8`](https://github.com/gradido/gradido/commit/43f7cf87679713d436a64d569d6af1594a12ee33)
|
||||
- initial commit, base packages [`fdf0979`](https://github.com/gradido/gradido/commit/fdf0979830fece04208a6b3bb06bb5323a3c149b)
|
||||
|
||||
#### [1.2.1](https://github.com/gradido/gradido/compare/1.2.0...1.2.1)
|
||||
|
||||
> 22 July 2021
|
||||
|
||||
- release 1.2.1 [`#670`](https://github.com/gradido/gradido/pull/670)
|
||||
- exchange positions of decay in transaction in old frontend [`#662`](https://github.com/gradido/gradido/pull/662)
|
||||
- fix unneccessary migration run on fresh (docker) setup [`#654`](https://github.com/gradido/gradido/pull/654)
|
||||
- move back decay as standalone transaction in old frontend [`#656`](https://github.com/gradido/gradido/pull/656)
|
||||
- fix display error with creation [`#652`](https://github.com/gradido/gradido/pull/652)
|
||||
- release [`a0b8056`](https://github.com/gradido/gradido/commit/a0b8056c17b22570a1b1dbb6fa6ce71e561b04af)
|
||||
- update content for frontend [`d37ce09`](https://github.com/gradido/gradido/commit/d37ce0949ef97d2a6c6ffaf0be31db9f6d92e743)
|
||||
- exchange positions [`bc000ef`](https://github.com/gradido/gradido/commit/bc000efd87c9701480c4aeaa7b819ab49bfe8f01)
|
||||
|
||||
#### [1.2.0](https://github.com/gradido/gradido/compare/1.1.1...1.2.0)
|
||||
|
||||
> 20 July 2021
|
||||
|
||||
- feat: Release v1.2.0 [`#648`](https://github.com/gradido/gradido/pull/648)
|
||||
- 630 frontend text improvemets [`#645`](https://github.com/gradido/gradido/pull/645)
|
||||
- #435 Visual Feedback on not sending GDD [`#647`](https://github.com/gradido/gradido/pull/647)
|
||||
- Make E-Mail Text 100% German [`#643`](https://github.com/gradido/gradido/pull/643)
|
||||
- Login fix crash [`#641`](https://github.com/gradido/gradido/pull/641)
|
||||
- check for null date [`#640`](https://github.com/gradido/gradido/pull/640)
|
||||
- Login fix wrong check email link [`#642`](https://github.com/gradido/gradido/pull/642)
|
||||
- Change timeout for email resend to 10 Minutes [`#635`](https://github.com/gradido/gradido/pull/635)
|
||||
- fix last Transaction are not shown in new frontend [`#633`](https://github.com/gradido/gradido/pull/633)
|
||||
- fix bug with user roles and pending transactions [`#627`](https://github.com/gradido/gradido/pull/627)
|
||||
- fix type not found error in listTransaction Call [`#628`](https://github.com/gradido/gradido/pull/628)
|
||||
- refactor: Use Vue-Toasted to Toast Messages [`#619`](https://github.com/gradido/gradido/pull/619)
|
||||
- feat: Test UserProfileTransactionList [`#624`](https://github.com/gradido/gradido/pull/624)
|
||||
- fix: QRCode Error after Logout [`#623`](https://github.com/gradido/gradido/pull/623)
|
||||
- fix: Fix Infinite Loop in Transaction List [`#622`](https://github.com/gradido/gradido/pull/622)
|
||||
- feat: Transaction Details [`#607`](https://github.com/gradido/gradido/pull/607)
|
||||
- fix: Test for ScrollTo in Transaction List [`#621`](https://github.com/gradido/gradido/pull/621)
|
||||
- Allow empty description [`#618`](https://github.com/gradido/gradido/pull/618)
|
||||
- fix: Do Not Pass Userdata Description to Server [`#617`](https://github.com/gradido/gradido/pull/617)
|
||||
- fix: Transaction Pagination Scroll Top [`#615`](https://github.com/gradido/gradido/pull/615)
|
||||
- fix: Mobile Pagination [`#614`](https://github.com/gradido/gradido/pull/614)
|
||||
- feat: Test AccountOverview [`#611`](https://github.com/gradido/gradido/pull/611)
|
||||
- feat: Test Validation Rules [`#610`](https://github.com/gradido/gradido/pull/610)
|
||||
- refactor: Reset Password Page [`#606`](https://github.com/gradido/gradido/pull/606)
|
||||
- refactor: Change Password [`#603`](https://github.com/gradido/gradido/pull/603)
|
||||
- refactor: Forgot Password Form [`#602`](https://github.com/gradido/gradido/pull/602)
|
||||
- refactor: Update Store Tests [`#601`](https://github.com/gradido/gradido/pull/601)
|
||||
- Community fix [`#598`](https://github.com/gradido/gradido/pull/598)
|
||||
- refactor: Password Component [`#564`](https://github.com/gradido/gradido/pull/564)
|
||||
- Fix crashing Problem with Login-Server [`#600`](https://github.com/gradido/gradido/pull/600)
|
||||
- Update Password Reset E-Mail Subject Encoding [`#579`](https://github.com/gradido/gradido/pull/579)
|
||||
- move decay between transactions into the transactions [`#483`](https://github.com/gradido/gradido/pull/483)
|
||||
- fix #591 [`#591`](https://github.com/gradido/gradido/issues/591)
|
||||
- fix style decay startblick [`cc7778b`](https://github.com/gradido/gradido/commit/cc7778b55d1baaa7be2d9440480e0fb27bb9a930)
|
||||
- Remove dynamic cast because it lead to errors again and agin (Poco::AutoPtr don't work correct with that) [`0db5912`](https://github.com/gradido/gradido/commit/0db5912a67158be8f313c01f06350f8339cb0e28)
|
||||
- Remove dynamic cast because it lead to errors again and agin (Poco::AutoPtr don't work correct with that) [`cee7d7a`](https://github.com/gradido/gradido/commit/cee7d7ac3c4c8c1f481cc3a87fb15422c858413b)
|
||||
|
||||
#### [1.1.1](https://github.com/gradido/gradido/compare/1.1.0...1.1.1)
|
||||
|
||||
> 22 June 2021
|
||||
|
||||
- release [`#581`](https://github.com/gradido/gradido/pull/581)
|
||||
- Auto deploy [`#580`](https://github.com/gradido/gradido/pull/580)
|
||||
- update transfer email text [`#574`](https://github.com/gradido/gradido/pull/574)
|
||||
- update mysql because tuple has changed [`#576`](https://github.com/gradido/gradido/pull/576)
|
||||
- Login fix pending transactions [`#578`](https://github.com/gradido/gradido/pull/578)
|
||||
- add test to prevent bug in future [`630d667`](https://github.com/gradido/gradido/commit/630d667e996870a1bf9aa9586b0467d58419e525)
|
||||
- use standard path. add nginx example [`ac249b4`](https://github.com/gradido/gradido/commit/ac249b46830a8039aec52d30b48084b50a264b6f)
|
||||
- add autodeploy bash scripts [`f49cf4d`](https://github.com/gradido/gradido/commit/f49cf4d7f8054d87efa1e12055a7ef0c6d3b9872)
|
||||
|
||||
#### [1.1.0](https://github.com/gradido/gradido/compare/1.0.2...1.1.0)
|
||||
|
||||
> 17 June 2021
|
||||
|
||||
- add first error additional as msg [`#573`](https://github.com/gradido/gradido/pull/573)
|
||||
- fix: Remove Grouping for Max Error [`#572`](https://github.com/gradido/gradido/pull/572)
|
||||
- fix: API Call for Reset Password [`#571`](https://github.com/gradido/gradido/pull/571)
|
||||
- Login reset password [`#570`](https://github.com/gradido/gradido/pull/570)
|
||||
- Hide unuse components in profil [`#566`](https://github.com/gradido/gradido/pull/566)
|
||||
- fix: Thousend Dividers on GDD Send Amount Field [`#567`](https://github.com/gradido/gradido/pull/567)
|
||||
- reorganisiere Dockerfiles [`#550`](https://github.com/gradido/gradido/pull/550)
|
||||
- hot fixes shown by test [`#551`](https://github.com/gradido/gradido/pull/551)
|
||||
- fix to big text ths [`#565`](https://github.com/gradido/gradido/pull/565)
|
||||
- feat: Trim Email on Blur [`#556`](https://github.com/gradido/gradido/pull/556)
|
||||
- Mobile UI send gdd form [`#562`](https://github.com/gradido/gradido/pull/562)
|
||||
- fix: Change Password Form [`#561`](https://github.com/gradido/gradido/pull/561)
|
||||
- change userdata button disable rules [`#548`](https://github.com/gradido/gradido/pull/548)
|
||||
- Change password require old password [`#519`](https://github.com/gradido/gradido/pull/519)
|
||||
- feat: Test Forget Password [`#546`](https://github.com/gradido/gradido/pull/546)
|
||||
- feat: Validate Change Username [`#545`](https://github.com/gradido/gradido/pull/545)
|
||||
- Remove base input example login vue [`#524`](https://github.com/gradido/gradido/pull/524)
|
||||
- Feature: Change Username [`#490`](https://github.com/gradido/gradido/pull/490)
|
||||
- feat: Toaster to Display Messages [`#512`](https://github.com/gradido/gradido/pull/512)
|
||||
- fix: Validation of GDD Send Amount Field [`#525`](https://github.com/gradido/gradido/pull/525)
|
||||
- Community coverage [`#496`](https://github.com/gradido/gradido/pull/496)
|
||||
- compare with last transaction sended [`#523`](https://github.com/gradido/gradido/pull/523)
|
||||
- remove check decays for being at least 100 GDD cent [`#526`](https://github.com/gradido/gradido/pull/526)
|
||||
- fix: Remove Target Date in Send Coins Request [`#518`](https://github.com/gradido/gradido/pull/518)
|
||||
- Feature profile page bugs [`#511`](https://github.com/gradido/gradido/pull/511)
|
||||
- fix: GDD Send Amount Input Field [`#491`](https://github.com/gradido/gradido/pull/491)
|
||||
- change transfer confirmation email [`#485`](https://github.com/gradido/gradido/pull/485)
|
||||
- Login wait on passwords with missing chars [`#487`](https://github.com/gradido/gradido/pull/487)
|
||||
- fix problem with create User [`#486`](https://github.com/gradido/gradido/pull/486)
|
||||
- Feature: Profile Page + Update API [`#474`](https://github.com/gradido/gradido/pull/474)
|
||||
- add new API Call checkUsername [`#482`](https://github.com/gradido/gradido/pull/482)
|
||||
- feat: Pagination Buttons for Transaction List [`#473`](https://github.com/gradido/gradido/pull/473)
|
||||
- Login-Server & Community-Server Coverage [`#472`](https://github.com/gradido/gradido/pull/472)
|
||||
- login without hedera [`#478`](https://github.com/gradido/gradido/pull/478)
|
||||
- fix: Show Correct Version Number in Footer [`#475`](https://github.com/gradido/gradido/pull/475)
|
||||
- refactor: Remove Element-UI [`#476`](https://github.com/gradido/gradido/pull/476)
|
||||
- remove components Charts, Notification, SearchUser, ButtonCheckbox, Button RadioGroup, Breadcrumb [`159bff7`](https://github.com/gradido/gradido/commit/159bff71df20a5c48f93389b2f990f7fe54e53b9)
|
||||
- fix bug, update dockerfiles to use dependencies without grpc [`dedcebd`](https://github.com/gradido/gradido/commit/dedcebdb95ee0f3dfd2ad62074d4181af38476a2)
|
||||
- add warning to able to forward warnings from community server to client [`2fc3fe9`](https://github.com/gradido/gradido/commit/2fc3fe94a09bae199bf2f34f9df90e8fc3879c2b)
|
||||
|
||||
#### [1.0.2](https://github.com/gradido/gradido/compare/1.0.1...1.0.2)
|
||||
|
||||
> 27 May 2021
|
||||
|
||||
- feat: Test Transaction List [`#470`](https://github.com/gradido/gradido/pull/470)
|
||||
- fixed problem with finding cpsp parse binary under windows with conan [`#471`](https://github.com/gradido/gradido/pull/471)
|
||||
- fix: GDD Amount is Always Displayed with Two Digits [`#468`](https://github.com/gradido/gradido/pull/468)
|
||||
- fix: Date Time Formats [`#469`](https://github.com/gradido/gradido/pull/469)
|
||||
- Community ipv6 localhost [`#466`](https://github.com/gradido/gradido/pull/466)
|
||||
- Login html pages autoparse [`#464`](https://github.com/gradido/gradido/pull/464)
|
||||
- everything I find and fix crash related in login server this week (kw 20) [`#448`](https://github.com/gradido/gradido/pull/448)
|
||||
- 437 bug mobile transaction list is not easy to read [`#462`](https://github.com/gradido/gradido/pull/462)
|
||||
- Require memo in send [`#455`](https://github.com/gradido/gradido/pull/455)
|
||||
- bug: Thx Page Shows Content Dependent of Route From [`#459`](https://github.com/gradido/gradido/pull/459)
|
||||
- bug: responsive display error on pads fixed [`#461`](https://github.com/gradido/gradido/pull/461)
|
||||
- [Bug] German "Dir" is written with capital D in send validation bug [`#460`](https://github.com/gradido/gradido/pull/460)
|
||||
- feat: Save Locale in Database [`#450`](https://github.com/gradido/gradido/pull/450)
|
||||
- attention! notice in send area removed [`#458`](https://github.com/gradido/gradido/pull/458)
|
||||
- Remove Error Message encoding [`#456`](https://github.com/gradido/gradido/pull/456)
|
||||
- bug fix:mobile menu closes on logout, probs value problem on logout f… [`#454`](https://github.com/gradido/gradido/pull/454)
|
||||
- bug-login password change show hide inserted [`#453`](https://github.com/gradido/gradido/pull/453)
|
||||
- fix sorting and use total count [`#451`](https://github.com/gradido/gradido/pull/451)
|
||||
- add dynamic error email if transaction failed [`#452`](https://github.com/gradido/gradido/pull/452)
|
||||
- ceil the last decay [`#449`](https://github.com/gradido/gradido/pull/449)
|
||||
- feat: Raise Coverage of Frontend Unit Tets to 18% [`#447`](https://github.com/gradido/gradido/pull/447)
|
||||
- parse cpsp files automatic in build [`a4a12bb`](https://github.com/gradido/gradido/commit/a4a12bb62b4000e035ff15e17c5a5f5861653ff6)
|
||||
- translate german html encoded error messages to english and use gettext for automatic translation [`d339627`](https://github.com/gradido/gradido/commit/d33962736d94c1cb7a12ff775bc2c8d7505d646e)
|
||||
- 100% coverage of GddTransactionList [`96fb245`](https://github.com/gradido/gradido/commit/96fb245821c69f4d321204a663247d5eee60d92f)
|
||||
|
||||
#### [1.0.1](https://github.com/gradido/gradido/compare/1.0.0...1.0.1)
|
||||
|
||||
> 14 May 2021
|
||||
|
||||
- Login crash fix [`#444`](https://github.com/gradido/gradido/pull/444)
|
||||
- add try catch blocks to prevent login-server from crashing [`22ff220`](https://github.com/gradido/gradido/commit/22ff22072956f8b843037c75c5b16b7ff5d6a2a3)
|
||||
- fix [`14a4243`](https://github.com/gradido/gradido/commit/14a424347817b1fe6912a113bffd70e55d688112)
|
||||
|
||||
### [1.0.0](https://github.com/gradido/gradido/compare/0.9.4...1.0.0)
|
||||
|
||||
> 14 May 2021
|
||||
|
||||
- Login build alpine [`#423`](https://github.com/gradido/gradido/pull/423)
|
||||
- Release fix [`#428`](https://github.com/gradido/gradido/pull/428)
|
||||
- Send button only click [`#427`](https://github.com/gradido/gradido/pull/427)
|
||||
- use new function for balance overview in old frontend, update balance… [`#422`](https://github.com/gradido/gradido/pull/422)
|
||||
- thx.vue coloured background removed. design adapted to app [`#426`](https://github.com/gradido/gradido/pull/426)
|
||||
- translation password rules in Register.vue and ResetPasswort.vue fixed [`#424`](https://github.com/gradido/gradido/pull/424)
|
||||
- 06x style [`#419`](https://github.com/gradido/gradido/pull/419)
|
||||
- feat: Dash is Shown When Balance is Loading [`#396`](https://github.com/gradido/gradido/pull/396)
|
||||
- refactor: Split GddSend into Components [`#415`](https://github.com/gradido/gradido/pull/415)
|
||||
- fix: Set Maximum Transactions Loaded to 1000 [`#395`](https://github.com/gradido/gradido/pull/395)
|
||||
- BUG : preRELEASE : thx transaction false [`#394`](https://github.com/gradido/gradido/pull/394)
|
||||
- feat: Validation of Input Fields of GddSend [`#386`](https://github.com/gradido/gradido/pull/386)
|
||||
- add validation, check if user has tried to send themself gradidos [`#277`](https://github.com/gradido/gradido/pull/277)
|
||||
- fix link generation [`#347`](https://github.com/gradido/gradido/pull/347)
|
||||
- Community start decay [`#387`](https://github.com/gradido/gradido/pull/387)
|
||||
- transaction error message, translations [`#388`](https://github.com/gradido/gradido/pull/388)
|
||||
- docu: locales schöpfen-mysql befehl [`#392`](https://github.com/gradido/gradido/pull/392)
|
||||
- Fix: QR Scanner Hide [`#380`](https://github.com/gradido/gradido/pull/380)
|
||||
- change design- dark-blue of text-ligth [`#381`](https://github.com/gradido/gradido/pull/381)
|
||||
- spelling & translation [`#385`](https://github.com/gradido/gradido/pull/385)
|
||||
- 350 6 login [`#383`](https://github.com/gradido/gradido/pull/383)
|
||||
- fix: breakout error [`#375`](https://github.com/gradido/gradido/pull/375)
|
||||
- 233-Support-Button fix, and col error fix [`#343`](https://github.com/gradido/gradido/pull/343)
|
||||
- fix: membersarea open in a new tap [`#370`](https://github.com/gradido/gradido/pull/370)
|
||||
- 00x table footer componente [`#345`](https://github.com/gradido/gradido/pull/345)
|
||||
- clickevent from icon to button [`#364`](https://github.com/gradido/gradido/pull/364)
|
||||
- 404 link to login page fix [`#366`](https://github.com/gradido/gradido/pull/366)
|
||||
- bug: session_id vs sessionId [`#365`](https://github.com/gradido/gradido/pull/365)
|
||||
- eslint rule standard [`#344`](https://github.com/gradido/gradido/pull/344)
|
||||
- don't show decays smaller than 0,01 GDD [`#329`](https://github.com/gradido/gradido/pull/329)
|
||||
- 338 - mt-5 margin top 5 eingebunden [`#341`](https://github.com/gradido/gradido/pull/341)
|
||||
- feat: Update Transactions When GddTable Is Rendered [`#339`](https://github.com/gradido/gradido/pull/339)
|
||||
- my profile auskommentiert [`#337`](https://github.com/gradido/gradido/pull/337)
|
||||
- give balance as float value in GDD (not longer GDD cent) [`#273`](https://github.com/gradido/gradido/pull/273)
|
||||
- fix error with password reset email [`#276`](https://github.com/gradido/gradido/pull/276)
|
||||
- transaction.show_all in en.json hinzugefügt [`#335`](https://github.com/gradido/gradido/pull/335)
|
||||
- refactor: Add Paramerts to ListTransactions API Call [`#332`](https://github.com/gradido/gradido/pull/332)
|
||||
- css abstände vom rand in mobilen style [`#272`](https://github.com/gradido/gradido/pull/272)
|
||||
- error messages are displayed [`#304`](https://github.com/gradido/gradido/pull/304)
|
||||
- cancel to reset, form rest event added [`#334`](https://github.com/gradido/gradido/pull/334)
|
||||
- remove from error messages because its no longer exist [`#330`](https://github.com/gradido/gradido/pull/330)
|
||||
- xx deleted [`#333`](https://github.com/gradido/gradido/pull/333)
|
||||
- fix bug on Login group add host [`#274`](https://github.com/gradido/gradido/pull/274)
|
||||
- transactionslist load and icon [`#324`](https://github.com/gradido/gradido/pull/324)
|
||||
- THX changed to Thank you [`#305`](https://github.com/gradido/gradido/pull/305)
|
||||
- fix_bug_template [`#284`](https://github.com/gradido/gradido/pull/284)
|
||||
- feat: Restructure Overview [`#271`](https://github.com/gradido/gradido/pull/271)
|
||||
- fix: Dynamic Balance in User Profile [`#278`](https://github.com/gradido/gradido/pull/278)
|
||||
- refactor: Test and Clean Up Store [`#270`](https://github.com/gradido/gradido/pull/270)
|
||||
- remove links to not work [`#267`](https://github.com/gradido/gradido/pull/267)
|
||||
- change order of session_id [`#269`](https://github.com/gradido/gradido/pull/269)
|
||||
- bug: Dynamic Balance [`#260`](https://github.com/gradido/gradido/pull/260)
|
||||
- Fix problems with transactions in docker environment [`#261`](https://github.com/gradido/gradido/pull/261)
|
||||
- update skeema call to allow also for unsafe db updates [`#250`](https://github.com/gradido/gradido/pull/250)
|
||||
- turn registration on and off [`#266`](https://github.com/gradido/gradido/pull/266)
|
||||
- 243 vue loader component - varante 2 [`#257`](https://github.com/gradido/gradido/pull/257)
|
||||
- fix_issue_templates [`#262`](https://github.com/gradido/gradido/pull/262)
|
||||
- fix_nginx_docker [`#253`](https://github.com/gradido/gradido/pull/253)
|
||||
- 13_coverage [`#255`](https://github.com/gradido/gradido/pull/255)
|
||||
- add language as fields which will be returned with user-object [`#244`](https://github.com/gradido/gradido/pull/244)
|
||||
- add short description for target date in creation transaction [`#252`](https://github.com/gradido/gradido/pull/252)
|
||||
- fix error "Integrity constraint violation: 1052 Column 'id' in where … [`#251`](https://github.com/gradido/gradido/pull/251)
|
||||
- Clicks on button [`#246`](https://github.com/gradido/gradido/pull/246)
|
||||
- Change css [`#231`](https://github.com/gradido/gradido/pull/231)
|
||||
- feat: Reset Password [`#212`](https://github.com/gradido/gradido/pull/212)
|
||||
- fix bug #221 [`#228`](https://github.com/gradido/gradido/pull/228)
|
||||
- fix empty reply by empty group_id [`#227`](https://github.com/gradido/gradido/pull/227)
|
||||
- Bugfix 22 04 21 [`#226`](https://github.com/gradido/gradido/pull/226)
|
||||
- Rollback use prebuild dependencies [`#225`](https://github.com/gradido/gradido/pull/225)
|
||||
- Docu [`#199`](https://github.com/gradido/gradido/pull/199)
|
||||
- update login-server build [`#222`](https://github.com/gradido/gradido/pull/222)
|
||||
- Login add language [`#220`](https://github.com/gradido/gradido/pull/220)
|
||||
- User Object on Json Login [`#219`](https://github.com/gradido/gradido/pull/219)
|
||||
- refactor: Remove loginAPI Call from Store [`#215`](https://github.com/gradido/gradido/pull/215)
|
||||
- fix: Remove Rules for Password on Login [`#214`](https://github.com/gradido/gradido/pull/214)
|
||||
- Community 15 04 2021 [`#198`](https://github.com/gradido/gradido/pull/198)
|
||||
- refactor: Remove Right Menu [`#204`](https://github.com/gradido/gradido/pull/204)
|
||||
- feat: Raise Frontend Test Coverage to 12% [`#206`](https://github.com/gradido/gradido/pull/206)
|
||||
- refactor: Remove Cookies [`#202`](https://github.com/gradido/gradido/pull/202)
|
||||
- fix_docker_compose [`#205`](https://github.com/gradido/gradido/pull/205)
|
||||
- 62 pwd reset [`#203`](https://github.com/gradido/gradido/pull/203)
|
||||
- workflows_refactor [`#200`](https://github.com/gradido/gradido/pull/200)
|
||||
- feat: Link to Whitepaper in Content-Footer [`#196`](https://github.com/gradido/gradido/pull/196)
|
||||
- update code which produce error which last fix (._.); [`#197`](https://github.com/gradido/gradido/pull/197)
|
||||
- refactor: Redirects and Misuse of Children in Router [`#194`](https://github.com/gradido/gradido/pull/194)
|
||||
- fix: Gradido-Akademie in Footer Links to gradido.net [`#170`](https://github.com/gradido/gradido/pull/170)
|
||||
- fix register [`#160`](https://github.com/gradido/gradido/pull/160)
|
||||
- Login 14.04.21 [`#175`](https://github.com/gradido/gradido/pull/175)
|
||||
- coverage_no_report [`#176`](https://github.com/gradido/gradido/pull/176)
|
||||
- Community 14.04.21 [`#174`](https://github.com/gradido/gradido/pull/174)
|
||||
- feat: Add Coverage Check To GitHub Workflow [`#158`](https://github.com/gradido/gradido/pull/158)
|
||||
- Stage2 [`#49`](https://github.com/gradido/gradido/pull/49)
|
||||
- feat: Unit Test for KontoOverview [`#169`](https://github.com/gradido/gradido/pull/169)
|
||||
- fix: Remove Hashtag From Route [`#167`](https://github.com/gradido/gradido/pull/167)
|
||||
- documentation for reset password [`#166`](https://github.com/gradido/gradido/pull/166)
|
||||
- 90 show release version in frontend [`#153`](https://github.com/gradido/gradido/pull/153)
|
||||
- docu frontend menu page structur [`#159`](https://github.com/gradido/gradido/pull/159)
|
||||
- userstorry_button.txt example [`#157`](https://github.com/gradido/gradido/pull/157)
|
||||
- fix getBalance API call [`#147`](https://github.com/gradido/gradido/pull/147)
|
||||
- Locale clear list merge master [`#119`](https://github.com/gradido/gradido/pull/119)
|
||||
- fix-125-link-to-community [`#152`](https://github.com/gradido/gradido/pull/152)
|
||||
- feat: Test Dashboard Layout [`#154`](https://github.com/gradido/gradido/pull/154)
|
||||
- feat: Activate Coverage Report For Unit Tests In Frontend [`#156`](https://github.com/gradido/gradido/pull/156)
|
||||
- Docu [`#120`](https://github.com/gradido/gradido/pull/120)
|
||||
- Fix compose bug [`#138`](https://github.com/gradido/gradido/pull/138)
|
||||
- feat: Test Login Form [`#113`](https://github.com/gradido/gradido/pull/113)
|
||||
- at last, fix email-bug [`#134`](https://github.com/gradido/gradido/pull/134)
|
||||
- Api password reset [`#82`](https://github.com/gradido/gradido/pull/82)
|
||||
- Optimize login server build [`#101`](https://github.com/gradido/gradido/pull/101)
|
||||
- markdown of login server api [`#111`](https://github.com/gradido/gradido/pull/111)
|
||||
- Fix lineendings [`#112`](https://github.com/gradido/gradido/pull/112)
|
||||
- Background color change [`#117`](https://github.com/gradido/gradido/pull/117)
|
||||
- Delete unused files [`#116`](https://github.com/gradido/gradido/pull/116)
|
||||
- store aufräumen teil 1 [`#115`](https://github.com/gradido/gradido/pull/115)
|
||||
- add migrations table for automatic table data migration [`40a9a8c`](https://github.com/gradido/gradido/commit/40a9a8c2b587f5bef0fcc54136ed7bd13dd91b2b)
|
||||
- update yarn.lock after running yarn install [`7f38c80`](https://github.com/gradido/gradido/commit/7f38c801213ad886e9d34a8d43b00ae423f5f2a0)
|
||||
- use new function for balance overview in old frontend, update balance in session on every php-request [`97c570c`](https://github.com/gradido/gradido/commit/97c570c08cc51ed17a69eb8be8d987f95f3c2ce0)
|
||||
|
||||
#### [0.9.4](https://github.com/gradido/gradido/compare/0.9.3...0.9.4)
|
||||
|
||||
> 30 March 2021
|
||||
|
||||
- Vue with nginx [`#84`](https://github.com/gradido/gradido/pull/84)
|
||||
- Build on run [`#103`](https://github.com/gradido/gradido/pull/103)
|
||||
- update debug docker to use dependencies container pushed to docker hub [`1f002f4`](https://github.com/gradido/gradido/commit/1f002f4ed0b12d4b2bf63efceabe546d0c5b58ea)
|
||||
- removed email tasks complete [`8a143be`](https://github.com/gradido/gradido/commit/8a143be8423d7bd894d4f512848895df8b9694b0)
|
||||
- build login-server on docker-compose up in a docker volume so it rebuild only neccessary parts if some c++ files have changed [`0da5279`](https://github.com/gradido/gradido/commit/0da527917523530186e6effe63dc001fc99bd3e3)
|
||||
|
||||
#### [0.9.3](https://github.com/gradido/gradido/compare/0.9.2...0.9.3)
|
||||
|
||||
> 30 March 2021
|
||||
|
||||
- new version 0.9.3 [`#110`](https://github.com/gradido/gradido/pull/110)
|
||||
- feat: Frontend tests for Content Footer [`#102`](https://github.com/gradido/gradido/pull/102)
|
||||
- add check session state json function and doc [`#96`](https://github.com/gradido/gradido/pull/96)
|
||||
- activity page stap 2 [`#86`](https://github.com/gradido/gradido/pull/86)
|
||||
- qrcode scanner fixed, datum in activitäten fixed, sprache not null fixed [`#88`](https://github.com/gradido/gradido/pull/88)
|
||||
- add additional docker container which is running skeema on startup to… [`#83`](https://github.com/gradido/gradido/pull/83)
|
||||
- New fix up frontend for presentation [`#85`](https://github.com/gradido/gradido/pull/85)
|
||||
- feat: Tougher eslint rules [`#77`](https://github.com/gradido/gradido/pull/77)
|
||||
- feat: improve translations [`#81`](https://github.com/gradido/gradido/pull/81)
|
||||
- use_correct_send_api [`#80`](https://github.com/gradido/gradido/pull/80)
|
||||
- fix bug with access rights [`#78`](https://github.com/gradido/gradido/pull/78)
|
||||
- make response.html better accessible [`#75`](https://github.com/gradido/gradido/pull/75)
|
||||
- feat: Lokalize Validation Messages [`#67`](https://github.com/gradido/gradido/pull/67)
|
||||
- feat: Localize links to gradito.net [`#74`](https://github.com/gradido/gradido/pull/74)
|
||||
- fix-padding [`#73`](https://github.com/gradido/gradido/pull/73)
|
||||
- Correctly use transactions API in frontend [`#69`](https://github.com/gradido/gradido/pull/69)
|
||||
- Qr code scanner [`#72`](https://github.com/gradido/gradido/pull/72)
|
||||
- Login fail message [`#71`](https://github.com/gradido/gradido/pull/71)
|
||||
- Setup unit tests for frontend [`#55`](https://github.com/gradido/gradido/pull/55)
|
||||
- Update doc [`#63`](https://github.com/gradido/gradido/pull/63)
|
||||
- Add Feature in user search old frontend because Support has requested the feature long ago [`#56`](https://github.com/gradido/gradido/pull/56)
|
||||
- sprache angepasst, for login, pwd, sigin [`#54`](https://github.com/gradido/gradido/pull/54)
|
||||
- Improve workflows [`#53`](https://github.com/gradido/gradido/pull/53)
|
||||
- setup eslint with tougher rules [`1f13507`](https://github.com/gradido/gradido/commit/1f13507eacfd93c2248fb841de5f481c9eb1e6bd)
|
||||
- semicolon rule implemented [`6762a02`](https://github.com/gradido/gradido/commit/6762a028f2a3e4f2713b26bed81029defe686ad7)
|
||||
- dev meeting, bernd [`a99de7f`](https://github.com/gradido/gradido/commit/a99de7f5d1f7557c0877eae565aa4263d65aaaf3)
|
||||
|
||||
#### [0.9.2](https://github.com/gradido/gradido/compare/0.9.1...0.9.2)
|
||||
|
||||
> 18 March 2021
|
||||
|
||||
- v0.9.2 [`#51`](https://github.com/gradido/gradido/pull/51)
|
||||
- Reload after login fixed [`#50`](https://github.com/gradido/gradido/pull/50)
|
||||
- Monorepo login server [`#48`](https://github.com/gradido/gradido/pull/48)
|
||||
- Stage0 [`#3`](https://github.com/gradido/gradido/pull/3)
|
||||
- Add auto-sign Transaction functionality [`5592275`](https://github.com/gradido/gradido/commit/55922753a7ffd9552be132501d744da491c409b5)
|
||||
- read in login the real client ip X-Real-IP from nginx forwarded not from community server [`512d307`](https://github.com/gradido/gradido/commit/512d307a19b955bb6e26ae8b274def354829b50f)
|
||||
- move check if all passwords allow direct into pwdValidation so it will work with every code which ask for password [`e2c38c1`](https://github.com/gradido/gradido/commit/e2c38c1a0fc25a4a2bc922c4bbc44d86b6d00d8b)
|
||||
|
||||
#### 0.9.1
|
||||
|
||||
> 13 March 2021
|
||||
|
||||
- Login gbb [`#12`](https://github.com/gradido/gradido/pull/12)
|
||||
- Admin prework axios json [`#10`](https://github.com/gradido/gradido/pull/10)
|
||||
- Merge pull request #1 from gradido/master [`#8`](https://github.com/gradido/gradido/pull/8)
|
||||
- [WIP] 2 create a dockerfile for the frontend application [`#6`](https://github.com/gradido/gradido/pull/6)
|
||||
- Master - first step [`#1`](https://github.com/gradido/gradido/pull/1)
|
||||
- Add docker compose [`#7`](https://github.com/gradido/gradido/pull/7)
|
||||
- style 404 side :) [`c7bdf89`](https://github.com/gradido/gradido/commit/c7bdf8978594b932615e48f9bb1c19d3c3bf3fcf)
|
||||
- publish workflow test [`df6f66f`](https://github.com/gradido/gradido/commit/df6f66ffe70baa9ed3f70b460a6c0c14011bb944)
|
||||
- many translations. translation structure [`bf68547`](https://github.com/gradido/gradido/commit/bf685479767d19c246c4d6abe3577dc3cb666346)
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-backend",
|
||||
"version": "0.0.1",
|
||||
"version": "1.3.1",
|
||||
"description": "Gradido unified backend providing an API-Service for Gradido Transactions",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/backend",
|
||||
|
||||
@ -9,7 +9,7 @@ const server = {
|
||||
JWT_EXPIRES_IN: process.env.JWT_EXPIRES_IN || '10m',
|
||||
GRAPHIQL: process.env.GRAPHIQL === 'true' || false,
|
||||
LOGIN_API_URL: process.env.LOGIN_API_URL || 'http://login-server:1201/',
|
||||
COMMUNITY_API_URL: process.env.COMMUNITY_API_URL || 'http://ngninx/api/',
|
||||
COMMUNITY_API_URL: process.env.COMMUNITY_API_URL || 'http://nginx/api/',
|
||||
GDT_API_URL: process.env.GDT_API_URL || 'https://gdt.gradido.net',
|
||||
KLICKTTIPP_API_URL: process.env.KLICKTIPP_API_URL || 'https://api.klicktipp.com',
|
||||
KLICKTIPP_USER: process.env.KLICKTIPP_USER || 'gradido_test',
|
||||
|
||||
@ -76,6 +76,13 @@ services:
|
||||
- ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
|
||||
- ./community_server/src:/var/www/cakephp/src
|
||||
|
||||
#########################################################
|
||||
## MARIADB ##############################################
|
||||
#########################################################
|
||||
mariadb:
|
||||
networks:
|
||||
- internal-net
|
||||
- external-net
|
||||
|
||||
#########################################################
|
||||
## NGINX ################################################
|
||||
|
||||
48
docu/Neue_User_einladenl.txt
Normal file
@ -0,0 +1,48 @@
|
||||
Feature:
|
||||
Neue User einladen, und im Partnerprogramm zuordnen
|
||||
|
||||
Als Gradido-User und Publisher möchte ich weitere Leute zu Gradido einladen.
|
||||
|
||||
Fall 1 über Internet mit Link
|
||||
|
||||
Um einen Partner-Link (Publisher-Link) zu erzeugen hänge ich bei Gradido.net oder beim Registrierungslink die Zeichenfolge ?pid=12345 an. Statt "12345" nehme ich meine Publisher-Id.
|
||||
|
||||
Beispiele für selbst erzeugte Partnerlinks:
|
||||
|
||||
Gradido-Webseite
|
||||
gradido.net/?pid=12345
|
||||
gradido.net/de/podcast/?pid=12345
|
||||
|
||||
Community-Server, Registrierungsseite, z.B.:
|
||||
gradido-community.com/register/?pid=12345
|
||||
|
||||
Wenn sich eine eingeladene Person registriert, wird die Publisher-Id des einladenden Users im neuem Konto als "Parent-Publisher-Id" gespeichert.
|
||||
|
||||
|
||||
Fall 2 von meinem Gradido-Link
|
||||
|
||||
Ich gebe meinen Gradido-Link bekannt, z.B. gradido-community.com/meinUsername
|
||||
z.B. in einer Kleinanzeige, wo ich etwas mit GradidoRabatt anbiete.
|
||||
|
||||
Ein Gradido-User kann diesen Link benutzen, um Gradido an mich zu überweisen
|
||||
Eine noch nicht registrierte Person kommt auf eine Registrierungsseite. Wenn sie sich registriert, wird die Publisher-Id aus der Datenbank ermittelt und in deren neuem Konto als "Parent-Publisher-Id" gespeichert.
|
||||
|
||||
Fall 2 über QR-Code
|
||||
|
||||
Im Wallet kann ich einen QR-Code anzeigen oder drucken lassen.
|
||||
Wenn die eingeladene Person den QR-Code mit der Kamera einscannt, gelangt sie auf eine Seite, von der sie das Wallet runterladen sich registrieren kann. Dabei wird die Pid im neuen Konto und als "Parent-Publisher-Id" gespeichert.
|
||||
|
||||
Incentive zum registrieren des Mitgliederbereichs bei Elopage
|
||||
|
||||
Nach der Registrierung wird dem neuen User ein Start-Kapital von 100 GDD (?) angeboten, wenn er sich seinen Mitgliederbereich bei Elopage registriert, d.h. dort ein entsprechendes Produkt (z.B. Gradido-Basis, kostenfrei) erwirbt. Dazu wir ein Link bzw. Button zur "Bezahlseite" (die heißt so, auch wenn es kostenfrei ist) generiert, der Vorname, Nachname, E-Mail und pid enthält. Der User muss nur noch den Button "Kostenfrei erwerben" o.ä. klicken.
|
||||
|
||||
|
||||
Bei Produkt-Erwerb wird bei Elopage neben dem "Käufer-Konto" automatisch ein zusätzliches "Publisher-Konto" angelegt. Beides ist über ein und denselben Login zugänglich.
|
||||
|
||||
Elopage meldet den Produkt-Erwerb über WebHook (?) an Gradido. Die eindeutige Zuordnung erfolgt über die E-Mail-Adresse. Dabei wird leider nur die Parent-Publisher-Id übermittelt.
|
||||
|
||||
|
||||
Background:
|
||||
Die Publisher-Id (pid) ist eine 3-9 stellige Ganzzahl. Ich finde sie entweder im Mitgliederbereich bei Elopage (Publisher-Konto) oder im Profil des Gradido-Wallet.
|
||||
|
||||
Über das Elopage-API kann eine Liste aller Publisher abgerufen werden. Dies könnte in regelmäßigen Abständen per CronJob erfolgen. An Hand der E-Mail-Adresse kann die Publisher-Id dem neuen User zugeordnet werden.
|
||||
81
docu/graphics/gdt_transactions.drawio
Normal file
@ -0,0 +1,81 @@
|
||||
<mxfile>
|
||||
<diagram id="GaAqcNbutVVauoa06GDW" name="Page-1">
|
||||
<mxGraphModel dx="1146" dy="698" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="#333333" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="12">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="19">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="2" value="<font style="font-size: 9px">Donate 200€<br>Wertstellung auf Konto: 26.07.2021<br>Wertstellung mit Kullanz: 31.06.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="400" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="3" value="" style="endArrow=classic;html=1;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="40" y="480" as="sourcePoint"/>
|
||||
<mxPoint x="40" y="40" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="4" value="Z<br>E<br>I<br>T" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="3" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.2416" y="-2" relative="1" as="geometry">
|
||||
<mxPoint x="-12" y="13" as="offset"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="6" value="User A" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="140" y="490" width="40" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="8" target="14">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="8" target="19">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="8" value="<font style="font-size: 9px">Donate 100€<br>Wertstellung auf Konto: 20.07.2021<br>Wertstellung mit Kullanz: 20.07.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="280" y="280" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="9" value="User B" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="490" width="40" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="10" value="Global Event Faktor" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="510" y="490" width="120" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="12" target="14">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="12" value="<font style="font-size: 9px">Faktor 15<br>From 01.03.2021<br>Till 31.06.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="400" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="14" value="<font style="font-size: 9px">Faktor 14<br>From 01.07.2021<br>Till 31.09.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="280" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="18" value="Global Event Event" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="692" y="490" width="120" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="19" value="<font style="font-size: 9px">Percentage Modificator 21%<br>Till 21.07.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="680" y="280" width="140" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="23" target="14">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="23" value="<font style="font-size: 9px">Donate 50€<br>Wertstellung auf Konto: 03.08.2021<br>Wertstellung mit Kullanz: 03.08.2021<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="160" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="25" value="" style="shape=link;html=1;" edge="1" parent="1">
|
||||
<mxGeometry width="100" relative="1" as="geometry">
|
||||
<mxPoint x="80" y="140" as="sourcePoint"/>
|
||||
<mxPoint x="820" y="140" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="29" value="<font style="font-size: 9px">Balance GDT: 4330<br><br>+ 200*15*1.21<br>+ 50*14<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="40" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="30" value="<font style="font-size: 9px">Balance GDT: 1694<br><br>+ 100*14*1.21<br></font>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
|
||||
<mxGeometry x="280" y="40" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
BIN
docu/graphics/gdt_transactions.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
18
docu/userstory.feature.template
Normal file
@ -0,0 +1,18 @@
|
||||
Feature: {title}
|
||||
As an {role}
|
||||
I want to {do}
|
||||
In order to {reason}
|
||||
|
||||
Background:
|
||||
Given the following "{entities}" are in the database:
|
||||
| id | title | pinned | createdAt |
|
||||
| p1 | Some other post | | 2020-01-21 |
|
||||
| p2 | Houston we have a problem | x | 2020-01-20 |
|
||||
| p3 | Yet another post | | 2020-01-19 |
|
||||
And I am {here/there}
|
||||
|
||||
Scenario: {title}
|
||||
When I do {this}
|
||||
And I do {that}
|
||||
Then I should {have/see/be}
|
||||
And I should {have/see/be}
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 406 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 371 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 102 KiB |
@ -0,0 +1,115 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import GdtTransactionList from './GdtTransactionList'
|
||||
|
||||
const localVue = global.localVue
|
||||
|
||||
const apolloMock = jest.fn().mockResolvedValue({
|
||||
data: {
|
||||
listGDTEntries: {
|
||||
count: 4,
|
||||
gdtEntries: [
|
||||
{
|
||||
amount: 100,
|
||||
gdt: 1700,
|
||||
factor: 17,
|
||||
comment: '',
|
||||
date: '2021-05-02T17:20:11+00:00',
|
||||
gdtEntryType: 1,
|
||||
},
|
||||
{
|
||||
amount: 1810,
|
||||
gdt: 362,
|
||||
factor: 0.2,
|
||||
comment: 'Dezember 20',
|
||||
date: '2020-12-31T12:00:00+00:00',
|
||||
gdtEntryType: 7,
|
||||
},
|
||||
{
|
||||
amount: 100,
|
||||
gdt: 1700,
|
||||
factor: 17,
|
||||
comment: '',
|
||||
date: '2020-05-07T17:00:00+00:00',
|
||||
gdtEntryType: 1,
|
||||
},
|
||||
{
|
||||
amount: 100,
|
||||
gdt: 110,
|
||||
factor: 22,
|
||||
comment: '',
|
||||
date: '2020-04-10T13:28:00+00:00',
|
||||
gdtEntryType: 4,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
const toastErrorMock = jest.fn()
|
||||
|
||||
describe('GdtTransactionList', () => {
|
||||
let wrapper
|
||||
|
||||
const mocks = {
|
||||
$i18n: {
|
||||
locale: 'en',
|
||||
},
|
||||
$t: jest.fn((t) => t),
|
||||
$n: jest.fn((n) => n),
|
||||
$d: jest.fn((d) => d),
|
||||
$store: {
|
||||
state: {
|
||||
sessionId: 1,
|
||||
},
|
||||
},
|
||||
$toasted: {
|
||||
error: toastErrorMock,
|
||||
},
|
||||
$apollo: {
|
||||
query: apolloMock,
|
||||
},
|
||||
}
|
||||
|
||||
const Wrapper = () => {
|
||||
return mount(GdtTransactionList, { localVue, mocks })
|
||||
}
|
||||
|
||||
describe('mount', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper()
|
||||
})
|
||||
|
||||
it('renders the component', () => {
|
||||
expect(wrapper.find('div.gdt-transaction-list').exists()).toBeTruthy()
|
||||
})
|
||||
|
||||
describe('server returns valid data', () => {
|
||||
it('calls the API', async () => {
|
||||
await wrapper.vm.$nextTick()
|
||||
expect(apolloMock).toBeCalledWith(
|
||||
expect.objectContaining({
|
||||
variables: {
|
||||
sessionId: 1,
|
||||
currentPage: 1,
|
||||
pageSize: 25,
|
||||
},
|
||||
}),
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('server returns error', () => {
|
||||
beforeEach(() => {
|
||||
jest.resetAllMocks()
|
||||
apolloMock.mockRejectedValue({
|
||||
message: 'Ouch!',
|
||||
})
|
||||
wrapper = Wrapper()
|
||||
})
|
||||
|
||||
it('toasts an error message', () => {
|
||||
expect(toastErrorMock).toBeCalledWith('Ouch!')
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
@ -88,7 +88,7 @@ export default {
|
||||
email: this.form.email,
|
||||
password: this.form.password,
|
||||
},
|
||||
fetchPolicy: 'no-cache',
|
||||
fetchPolicy: 'network-only',
|
||||
})
|
||||
.then((result) => {
|
||||
const {
|
||||
|
||||
@ -3,16 +3,6 @@ import UserProfileTransactionList from './UserProfileTransactionList'
|
||||
|
||||
const localVue = global.localVue
|
||||
|
||||
const mutationObserverMock = jest.fn(function MutationObserver(callback) {
|
||||
this.observe = jest.fn()
|
||||
this.disconnect = jest.fn()
|
||||
this.trigger = (mockedMutationsList) => {
|
||||
callback(mockedMutationsList, this)
|
||||
}
|
||||
})
|
||||
|
||||
global.MutationObserver = mutationObserverMock
|
||||
|
||||
describe('UserProfileTransactionList', () => {
|
||||
let wrapper
|
||||
|
||||
@ -30,8 +20,12 @@ describe('UserProfileTransactionList', () => {
|
||||
},
|
||||
}
|
||||
|
||||
const stubs = {
|
||||
GdtTransactionList: true,
|
||||
}
|
||||
|
||||
const Wrapper = () => {
|
||||
return mount(UserProfileTransactionList, { localVue, mocks })
|
||||
return mount(UserProfileTransactionList, { localVue, mocks, stubs })
|
||||
}
|
||||
|
||||
describe('mount', () => {
|
||||
@ -61,5 +55,43 @@ describe('UserProfileTransactionList', () => {
|
||||
it('renders the transaction gradido transform table', () => {
|
||||
expect(wrapper.findComponent({ name: 'GdtTransactionList' }).exists()).toBeTruthy()
|
||||
})
|
||||
|
||||
describe('tabs', () => {
|
||||
it('shows the GDD transactions by default', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(0).isVisible()).toBeTruthy()
|
||||
})
|
||||
|
||||
it('does not show the GDT transactions by default', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(1).isVisible()).toBeFalsy()
|
||||
})
|
||||
|
||||
describe('click on GDT tab', () => {
|
||||
beforeEach(() => {
|
||||
wrapper.findAll('li[ role="presentation"]').at(1).find('a').trigger('click')
|
||||
})
|
||||
|
||||
it('does not show the GDD transactions', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(0).isVisible()).toBeFalsy()
|
||||
})
|
||||
|
||||
it('shows the GDT transactions', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(1).isVisible()).toBeTruthy()
|
||||
})
|
||||
|
||||
describe('click on GDD tab', () => {
|
||||
beforeEach(() => {
|
||||
wrapper.findAll('li[ role="presentation"]').at(0).find('a').trigger('click')
|
||||
})
|
||||
|
||||
it('shows the GDD transactions', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(0).isVisible()).toBeTruthy()
|
||||
})
|
||||
|
||||
it('does not show the GDT', () => {
|
||||
expect(wrapper.findAll('div[role="tabpanel"]').at(1).isVisible()).toBeFalsy()
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
91
frontend/src/views/Pages/thx.spec.js
Normal file
@ -0,0 +1,91 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import Thx from './thx'
|
||||
|
||||
const localVue = global.localVue
|
||||
|
||||
const createMockObject = (comingFrom) => {
|
||||
return {
|
||||
$t: jest.fn((t) => t),
|
||||
$route: {
|
||||
params: {
|
||||
comingFrom,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
describe('Thx', () => {
|
||||
let wrapper
|
||||
|
||||
const Wrapper = (mocks) => {
|
||||
return mount(Thx, { localVue, mocks })
|
||||
}
|
||||
|
||||
describe('mount', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper(createMockObject('password'))
|
||||
})
|
||||
|
||||
it('renders the thx page', () => {
|
||||
expect(wrapper.find('div.header').exists()).toBeTruthy()
|
||||
})
|
||||
|
||||
it('renders the title', () => {
|
||||
expect(wrapper.find('p.h1').text()).toBe('site.thx.title')
|
||||
})
|
||||
})
|
||||
|
||||
describe('coming from /password', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper(createMockObject('password'))
|
||||
})
|
||||
|
||||
it('renders the thanks text', () => {
|
||||
expect(wrapper.find('p.h4').text()).toBe('site.thx.email')
|
||||
})
|
||||
|
||||
it('renders the thanks redirect button', () => {
|
||||
expect(wrapper.find('a.btn').text()).toBe('login')
|
||||
})
|
||||
|
||||
it('links the redirect button to /login', () => {
|
||||
expect(wrapper.find('a.btn').attributes('href')).toBe('/login')
|
||||
})
|
||||
})
|
||||
|
||||
describe('coming from /reset', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper(createMockObject('reset'))
|
||||
})
|
||||
|
||||
it('renders the thanks text', () => {
|
||||
expect(wrapper.find('p.h4').text()).toBe('site.thx.reset')
|
||||
})
|
||||
|
||||
it('renders the thanks redirect button', () => {
|
||||
expect(wrapper.find('a.btn').text()).toBe('login')
|
||||
})
|
||||
|
||||
it('links the redirect button to /login', () => {
|
||||
expect(wrapper.find('a.btn').attributes('href')).toBe('/login')
|
||||
})
|
||||
})
|
||||
|
||||
describe('coming from /register', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = Wrapper(createMockObject('register'))
|
||||
})
|
||||
|
||||
it('renders the thanks text', () => {
|
||||
expect(wrapper.find('p.h4').text()).toBe('site.thx.register')
|
||||
})
|
||||
|
||||
it('renders the thanks redirect button', () => {
|
||||
expect(wrapper.find('a.btn').text()).toBe('site.login.signin')
|
||||
})
|
||||
|
||||
it('links the redirect button to /login', () => {
|
||||
expect(wrapper.find('a.btn').attributes('href')).toBe('/overview')
|
||||
})
|
||||
})
|
||||
})
|
||||
@ -33,6 +33,9 @@ loadAllRules(i18nMock)
|
||||
|
||||
global.localVue = createLocalVue()
|
||||
|
||||
// switch of warnings from bootstrap vue
|
||||
global.process.env.BOOTSTRAP_VUE_NO_WARN = true
|
||||
|
||||
global.localVue.use(BootstrapVue)
|
||||
global.localVue.use(Vuex)
|
||||
global.localVue.use(IconsPlugin)
|
||||
|
||||
@ -3750,9 +3750,9 @@ caniuse-api@^3.0.0:
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001181:
|
||||
version "1.0.30001191"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9"
|
||||
integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw==
|
||||
version "1.0.30001251"
|
||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz"
|
||||
integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==
|
||||
|
||||
capture-exit@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"author": "Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"release": "yarn version --no-git-tag-version --no-commit-hooks --no-commit && auto-changelog --latest-version $(node -p -e \"require('./package.json').version\") && cd frontend && yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version $(node -p -e \"require('./../package.json').version\")"
|
||||
"release": "scripts/release.sh"
|
||||
},
|
||||
"dependencies": {
|
||||
"auto-changelog": "^2.2.1"
|
||||
|
||||
25
scripts/release.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# find directories
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
PROJECT_DIR="${SCRIPT_DIR}/../"
|
||||
FRONTEND_DIR="${PROJECT_DIR}/frontend/"
|
||||
BACKEND_DIR="${PROJECT_DIR}/backend/"
|
||||
|
||||
# navigate to project directory
|
||||
cd ${PROJECT_DIR}
|
||||
|
||||
# ask for new version
|
||||
yarn version --no-git-tag-version --no-commit-hooks --no-commit
|
||||
|
||||
# find new version
|
||||
VERSION="$(node -p -e "require('./package.json').version")"
|
||||
|
||||
# update version in sub projects
|
||||
cd ${FRONTEND_DIR}
|
||||
yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version ${VERSION}
|
||||
cd ${BACKEND_DIR}
|
||||
yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version ${VERSION}
|
||||
|
||||
# generate changelog
|
||||
auto-changelog --latest-version ${VERSION}
|
||||