diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 329b1dd60..4f35b87e1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,13 +50,7 @@ jobs: ########################################################################## - name: login server | Build `release` image run: | - docker build --target release -t "gradido/login_server:release" -f ./login_server/Dockerfile login_server/ - #docker save "gradido/login_server:test" > /tmp/login_server.tar - #- name: Upload Artifact - # uses: actions/upload-artifact@v2 - #with: - # name: docker-login-server-test - #path: /tmp/login_server.tar + docker build -t "gradido/login_server:release" -f ./login_server/Dockerfile login_server/ ############################################################################## # JOB: DOCKER BUILD TEST COMMUNITY SERVER #################################### @@ -251,7 +245,7 @@ jobs: ########################################################################## - name: login server | Build `test` image run: | - docker build --target test -t "gradido/login_server:test" -f ./login_server/Dockerfile login_server/ + docker build -t "gradido/login_server:test" -f ./login_server/Dockerfiles/ubuntu/Dockerfile.test login_server/ ########################################################################## # UNIT TESTS BACKEND LOGIN-SERVER ####################################### ########################################################################## @@ -268,7 +262,7 @@ jobs: report_name: Coverage Backend Login type: lcov result_path: ./coverage/coverage.info - min_coverage: 13 + min_coverage: 25 token: ${{ github.token }} ############################################################################## @@ -300,7 +294,7 @@ jobs: run: echo "::set-output name=id::$(docker network ls | grep github_network | awk '{ print $1 }')" id: network - name: Start Login-Server - run: docker run --network ${{ steps.network.outputs.id }} --name=login-server -d gradido/login_server:default + run: docker run --network ${{ steps.network.outputs.id }} --name=login-server -d gradido/login_server:with-config - name: get login-server container id run: echo "::set-output name=id::$(docker container ls | grep login_server | awk '{ print $1 }')" id: login_server_container @@ -341,7 +335,7 @@ jobs: report_name: Coverage Backend Community type: phpunit result_path: ./coverage/coverage.info - min_coverage: 10 + min_coverage: 14 token: ${{ github.token }} #test: diff --git a/CHANGELOG.md b/CHANGELOG.md index a71ad2fd4..7010d71fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,66 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.1.1](https://github.com/gradido/gradido/compare/1.1.0...1.1.1) + +- 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) diff --git a/community_server/src/Controller/AppController.php b/community_server/src/Controller/AppController.php index eb11299ce..7ca966e98 100644 --- a/community_server/src/Controller/AppController.php +++ b/community_server/src/Controller/AppController.php @@ -151,7 +151,7 @@ class AppController extends Controller if($last_migration) { $current_db_version = $last_migration->db_version; } - $php_data_version = 2; + $php_data_version = 3; if($current_db_version < $php_data_version) { $this->redirect(['controller' => 'Migrations', 'action' => 'migrate', 'html' => $html, 'db_version' => $current_db_version]); } @@ -289,7 +289,7 @@ class AppController extends Controller } } else { if(!$redirect) { - return ['state' => 'not found', 'msg' => 'invalid session']; + return ['state' => 'not found', 'msg' => 'invalid session', 'details' => $json]; } if ($json['state'] === 'not found') { $this->Flash->error(__('invalid session')); diff --git a/community_server/src/Controller/MigrationsController.php b/community_server/src/Controller/MigrationsController.php index 97481aff5..47e3b611a 100644 --- a/community_server/src/Controller/MigrationsController.php +++ b/community_server/src/Controller/MigrationsController.php @@ -69,6 +69,14 @@ class MigrationsController extends AppController [$stateBalancesTable, 'updateAllBalances'] ]; $new_db_version = 2; + } else if($current_db_version == 2) { + $commands = [ + [$stateUserTransactionsTable, 'truncate'], + [$stateBalancesTable, 'truncate'], + [$transactionsTable, 'fillStateUserTransactions'], + [$stateBalancesTable, 'updateAllBalances'] + ]; + $new_db_version = 3; } $migration_result = $this->callFunctions($commands); diff --git a/community_server/src/Model/Table/TransactionsTable.php b/community_server/src/Model/Table/TransactionsTable.php index 7e59c2d88..301e9b70b 100644 --- a/community_server/src/Model/Table/TransactionsTable.php +++ b/community_server/src/Model/Table/TransactionsTable.php @@ -165,13 +165,22 @@ class TransactionsTable extends Table foreach($stateUserTransactions as $i => $su_transaction) { - /*echo "i: $i
"; - echo "state user transaction:
"; - var_dump($su_transaction); - echo "
";*/ - //var_dump($su_transaction); - //die("step"); - // add decay transactions + + + // sender or receiver when user has sended money + // group name if creation + // type: gesendet / empfangen / geschöpft + // transaktion nr / id + // date + // balance + $transaction = $transaction_indiced[$su_transaction->transaction_id]; + + $final_transaction = [ + 'transaction_id' => $transaction->id, + 'date' => $transaction->received, + 'memo' => $transaction->memo + ]; + $prev = null; if($i > 0 ) { $prev = $stateUserTransactions[$i-1]; @@ -179,18 +188,15 @@ class TransactionsTable extends Table if($prev && $decay == true) { if($prev->balance > 0) { - $current = $su_transaction; - + $current = $su_transaction; $calculated_decay = $stateBalancesTable->calculateDecay($prev->balance, $prev->balance_date, $current->balance_date, true); $balance = floatval($prev->balance - $calculated_decay['balance']); - if($balance) + if($balance > 100) { - $final_transactions[] = [ - 'type' => 'decay', + $final_transactions['decay'] = [ 'balance' => $balance, - 'decay_duration' => $calculated_decay['interval']->format('%a days, %H hours, %I minutes, %S seconds'), - 'memo' => '' + 'decay_duration' => $calculated_decay['interval']->format('%a days, %H hours, %I minutes, %S seconds') ]; } } @@ -208,52 +214,42 @@ class TransactionsTable extends Table $creation = $transaction->transaction_creation; $balance = $stateBalancesTable->calculateDecay($creation->amount, $creation->target_date, $transaction->received); - $final_transactions[] = [ - 'name' => 'Gradido Akademie', - 'type' => 'creation', - 'transaction_id' => $transaction->id, - 'date' => $transaction->received,// $creation->target_date, - 'target_date' => $creation->target_date, - 'creation_amount' => $creation->amount, - 'balance' => $balance, - 'memo' => $transaction->memo - ]; + $final_transaction['name'] = 'Gradido Akademie'; + $final_transaction['type'] = 'creation'; + $final_transaction['target_date'] = $creation->target_date; + $final_transaction['creation_amount'] = $creation->amount; + $final_transaction['balance'] = $balance; + } else if($su_transaction->transaction_type_id == 2) { // transfer or send coins $sendCoins = $transaction->transaction_send_coin; - $type = ''; $otherUser = null; + $final_transaction['balance'] = $sendCoins->amount; $other_user_public = ''; if ($sendCoins->state_user_id == $user['id']) { - $type = 'send'; + $final_transaction['type'] = 'send'; if(isset($involved_users[$sendCoins->receiver_user_id])) { $otherUser = $involved_users[$sendCoins->receiver_user_id]; } - $other_user_public = bin2hex(stream_get_contents($sendCoins->receiver_public_key)); + $final_transaction['pubkey'] = bin2hex(stream_get_contents($sendCoins->receiver_public_key)); } else if ($sendCoins->receiver_user_id == $user['id']) { - $type = 'receive'; + $final_transaction['type'] = 'receive'; if(isset($involved_users[$sendCoins->state_user_id])) { $otherUser = $involved_users[$sendCoins->state_user_id]; } if($sendCoins->sender_public_key) { - $other_user_public = bin2hex(stream_get_contents($sendCoins->sender_public_key)); + $final_transaction['pubkey'] = bin2hex(stream_get_contents($sendCoins->sender_public_key)); } } if(null == $otherUser) { $otherUser = $stateUsersTable->newEntity(); } - $final_transactions[] = [ - 'name' => $otherUser->first_name . ' ' . $otherUser->last_name, - 'email' => $otherUser->email, - 'type' => $type, - 'transaction_id' => $sendCoins->transaction_id, - 'date' => $transaction->received, - 'balance' => $sendCoins->amount, - 'memo' => $transaction->memo, - 'pubkey' => $other_user_public - ]; + $final_transaction['name'] = $otherUser->first_name . ' ' . $otherUser->last_name; + $final_transaction['email'] = $otherUser->email; } - + + $final_transactions[] = $final_transaction; + if($i == $stateUserTransactionsCount-1 && $decay == true) { $calculated_decay = $stateBalancesTable->calculateDecay( $su_transaction->balance, @@ -264,16 +260,13 @@ class TransactionsTable extends Table $duration = $decay_start_date->timeAgoInWords(); } $balance = floatval($su_transaction->balance - $calculated_decay['balance']); - - if($balance) - { - $final_transactions[] = [ - 'type' => 'decay', - 'balance' => $balance, - 'decay_duration' => $duration, - 'last_decay' => true, - 'memo' => '' - ]; + if($balance > 100) { + $final_transactions[] = [ + 'type' => 'decay', + 'balance' => $balance, + 'decay_duration' => $duration, + 'memo' => '' + ]; } } } diff --git a/community_server/src/Model/Transactions/TransactionCreation.php b/community_server/src/Model/Transactions/TransactionCreation.php index 9150d24eb..87f2d2104 100644 --- a/community_server/src/Model/Transactions/TransactionCreation.php +++ b/community_server/src/Model/Transactions/TransactionCreation.php @@ -163,7 +163,8 @@ class TransactionCreation extends TransactionBase { $transactionCreationEntity->target_date = $this->protoTransactionCreation->getTargetDate()->getSeconds(); $target_date = new FrozenTime($transactionCreationEntity->target_date); - $decayed_balance = $stateBalancesTable->calculateDecay($this->getAmount(), $target_date, $received); + //$decayed_balance = $stateBalancesTable->calculateDecay($this->getAmount(), $target_date, $received); + $balance = $this->getAmount(); if(!$this->transactionCreationsTable->save($transactionCreationEntity)) { $this->addError('TransactionCreation::save', 'error saving transactionCreation with errors: ' . json_encode($transactionCreationEntity->getErrors())); @@ -171,13 +172,13 @@ class TransactionCreation extends TransactionBase { } // update state balance - $final_balance = $this->updateStateBalance($receiverUserId, $decayed_balance, $received); + $final_balance = $this->updateStateBalance($receiverUserId, $balance, $received); if(false === $final_balance) { return false; } // decay is a virtual field which is calculated from amount and now() - record_date - if(!$this->addStateUserTransaction($receiverUserId, $transaction_id, 1, $decayed_balance, $received)) { + if(!$this->addStateUserTransaction($receiverUserId, $transaction_id, 1, $balance, $received)) { return false; } diff --git a/community_server/src/Template/AppRequests/list_transactions.ctp b/community_server/src/Template/AppRequests/list_transactions.ctp index d7a8b1d6f..f978e2e31 100644 --- a/community_server/src/Template/AppRequests/list_transactions.ctp +++ b/community_server/src/Template/AppRequests/list_transactions.ctp @@ -12,13 +12,16 @@ $body['gdtSum'] = $this->element('centToFloat', ['cent' => $body['gdtSum'], 'pre foreach($body['transactions'] as $i => $transaction) { $useCeil = false; - if(isset($transaction['last_decay']) && $transaction['last_decay']) { + if($transaction['type'] == 'decay') { $useCeil = true; } $body['transactions'][$i]['balance'] = $this->element('centToFloat', ['cent' => $transaction['balance'], 'precision' => 4, 'useCeil' => $useCeil]); if(isset($transaction['creation_amount'])) { $body['transactions'][$i]['creation_amount'] = $this->element('centToFloat', ['cent' => $transaction['creation_amount'], 'precision' => 4]); } + if(isset($transaction['decay'])) { + $body['transactions'][$i]['decay']['balance'] = $this->element('centToFloat', ['cent' => $transaction['decay']['balance'], 'precision' => 4]); + } } ?> \ No newline at end of file diff --git a/community_server/src/Template/Email/text/notification_transfer.ctp b/community_server/src/Template/Email/text/notification_transfer.ctp index 155304c2c..05df9695d 100644 --- a/community_server/src/Template/Email/text/notification_transfer.ctp +++ b/community_server/src/Template/Email/text/notification_transfer.ctp @@ -8,14 +8,19 @@ $this->assign('title', __('Gradido Überweisung')); $receiverNames = $receiverUser->first_name . ' ' . $receiverUser->last_name; $senderNames = $senderUser->first_name . ' ' . $senderUser->last_name; +$senderNamesEmail = $senderUser->getEmailWithName(); ?> , -element('printGradido', ['number' => $gdd_cent, 'raw' => true]), $senderNames) ?> +element('printGradido', ['number' => $gdd_cent, 'raw' => true]), $senderNamesEmail) ?> + + +email ?> + Gradido Community Server \ No newline at end of file diff --git a/community_server/tests/Fixture/Migrations2Fixture.php b/community_server/tests/Fixture/Migrations2Fixture.php index c8608cd18..b86c727ef 100644 --- a/community_server/tests/Fixture/Migrations2Fixture.php +++ b/community_server/tests/Fixture/Migrations2Fixture.php @@ -37,7 +37,7 @@ class Migrations2Fixture extends TestFixture $this->records = [ [ 'id' => 1, - 'db_version' => 2, + 'db_version' => 3, ], ]; parent::init(); diff --git a/community_server/tests/TestCase/Controller/AppRequestControllerTest.php b/community_server/tests/TestCase/Controller/AppRequestControllerTest.php index 118f25a32..a374ae878 100644 --- a/community_server/tests/TestCase/Controller/AppRequestControllerTest.php +++ b/community_server/tests/TestCase/Controller/AppRequestControllerTest.php @@ -111,7 +111,9 @@ class AppRequestControllerTest extends TestCase ]); $this->getAndParse('/api/get-balance/' . 1211, - ['state' => 'not found', 'msg' => 'invalid session'] + ['state' => 'not found', 'msg' => 'invalid session', + 'details' => ['msg' => 'session not found', 'state' => 'not found'] + ] ); } @@ -128,7 +130,9 @@ class AppRequestControllerTest extends TestCase ]); $this->getAndParse('/api/get-balance/' , - ['state' => 'not found', 'msg' => 'invalid session'] + ['state' => 'not found', 'msg' => 'invalid session', + 'details' => ['msg' => 'session not found', 'state' => 'not found'] + ] ); } @@ -158,81 +162,81 @@ class AppRequestControllerTest extends TestCase "state": "success", "transactions": [ { - "name": "Gradido Akademie", - "type": "creation", "transaction_id": 2, "date": "2021-04-12T00:00:00+00:00", + "memo": "AGE Januar 2021", + "name": "Gradido Akademie", + "type": "creation", "target_date": "2021-01-01T00:00:00+00:00", "creation_amount": 10000000, - "balance": 10000000, - "memo": "AGE Januar 2021" + "balance": 10000000 }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "send", "transaction_id": 3, "date": "2021-04-12T00:00:00+00:00", - "balance": 1000000, "memo": "test", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2" + "balance": 1000000, + "type": "send", + "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "send", "transaction_id": 4, "date": "2021-04-14T00:00:00+00:00", - "balance": 100000, "memo": "test time", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2" + "balance": 100000, + "type": "send", + "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "send", "transaction_id": 5, "date": "2021-04-14T09:01:07+00:00", - "balance": 100000, "memo": "test time", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2" + "balance": 100000, + "type": "send", + "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "receive", "transaction_id": 6, "date": "2021-04-14T09:02:28+00:00", - "balance": 100000, "memo": "test time 3", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000" + "balance": 100000, + "type": "receive", + "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "receive", "transaction_id": 7, "date": "2021-04-14T09:28:46+00:00", - "balance": 100000, "memo": "test login crash", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000" + "balance": 100000, + "type": "receive", + "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" }, { - "name": "Samuel Schmied", - "email": "test3.yahoo.com", - "type": "receive", "transaction_id": 8, "date": "2021-04-14T09:31:28+00:00", - "balance": 100000, "memo": "test login crash", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000" + "balance": 100000, + "type": "receive", + "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", + "name": "Samuel Schmied", + "email": "test3.yahoo.com" } ], "transactionExecutingCount": 0, "count": 7, "gdtSum": 180000, - "timeUsed": 0.5575470924377441, - "decay_date": "2021-05-28T09:35:02+00:00", + "timeUsed": 0.7237420082092285, + "decay_date": "2021-06-22T08:54:43+00:00", "balance": 9100000, "decay": 9100000 }'; diff --git a/configs/login_server/LOCALE/de_DE.mo b/configs/login_server/LOCALE/de_DE.mo index 3ab456b2d..bfee8efd3 100644 Binary files a/configs/login_server/LOCALE/de_DE.mo and b/configs/login_server/LOCALE/de_DE.mo differ diff --git a/configs/login_server/LOCALE/de_DE.po b/configs/login_server/LOCALE/de_DE.po index 18fa4262e..b4bca3098 100644 --- a/configs/login_server/LOCALE/de_DE.po +++ b/configs/login_server/LOCALE/de_DE.po @@ -7,409 +7,505 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-28 10:50+0200\n" -"PO-Revision-Date: 2020-05-28 10:54+0200\n" +"POT-Creation-Date: 2021-06-21 13:37+0200\n" +"PO-Revision-Date: 2021-06-21 13:38+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.3.1\n" +"X-Generator: Poedit 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:85 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:124 +#: build/http_pages/LoginPage.cpp:196 build/http_pages/LoginPage.cpp:275 msgid "Login" msgstr "Anmeldung" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:85 +#: build/http_pages/LoginPage.cpp:196 msgid "E-Mail or password isn't right, please try again!" msgstr "" "E-Mail und Passwort Kombination stimmen nicht, bitte versuche es erneut. " -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:88 -#, fuzzy -#| msgid "Password" +#: build/http_pages/LoginPage.cpp:205 msgid "Passwort" msgstr "Passwort" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:88 +#: build/http_pages/LoginPage.cpp:205 msgid "" "Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:91 -msgid "Account" -msgstr "Konto" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:91 -msgid "E-Mail Address not checked, do you already get one?" +#: build/http_pages/LoginPage.cpp:208 build/http_pages/LoginPage.cpp:211 +msgid "User" msgstr "" -"E-Mail Adresse wurde noch nicht überprüft. Hast du schon in deine E-Mails " -"geschaut? Bitte schau auch in dein Spam-Verzeichnis nach." -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:124 +#: build/http_pages/LoginPage.cpp:208 +msgid "Error in saved data, the server admin will look at it." +msgstr "" + +#: build/http_pages/LoginPage.cpp:211 +msgid "Benutzer ist deaktiviert, kein Login möglich!" +msgstr "" + +#: build/http_pages/LoginPage.cpp:275 msgid "Username and password are needed!" msgstr "E-Mail und Passwort werden benötigt!" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:175 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:50 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:54 -#: model/Session.cpp:163 model/Session.cpp:170 model/Session.cpp:209 -#: model/Session.cpp:234 +#: build/http_pages/LoginPage.cpp:376 src/cpp/model/Session.cpp:161 +#: src/cpp/model/Session.cpp:168 src/cpp/model/Session.cpp:220 +#: src/cpp/model/Session.cpp:231 msgid "E-Mail" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:178 +#: build/http_pages/LoginPage.cpp:381 +#: src/cpp/SingletonManager/SessionManager.cpp:603 +#: src/cpp/SingletonManager/SessionManager.cpp:609 +#: src/cpp/SingletonManager/SessionManager.cpp:614 +#: src/cpp/SingletonManager/SessionManager.cpp:619 +#: src/cpp/SingletonManager/SessionManager.cpp:624 +#: src/cpp/SingletonManager/SessionManager.cpp:629 msgid "Password" msgstr "Passwort" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:180 +#: build/http_pages/LoginPage.cpp:384 msgid " Login " msgstr "Anmeldung" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:182 +#: build/http_pages/LoginPage.cpp:391 msgid "You haven't any account yet? Please follow the link to create one." msgstr "Du hast noch kein Gradido-Konto?" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:183 +#: build/http_pages/LoginPage.cpp:395 msgid "Create New Account" msgstr "Neues Konto erstellen" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp:186 +#: build/http_pages/LoginPage.cpp:403 msgid "Passwort vergessen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:97 -msgid "Bitte gebe deinen E-Mail Verification Code ein:" +#: build/http_pages/CheckEmailPage.cpp:155 +msgid "E-Mail verifizieren" +msgstr "E-Mail überprüfen" + +#: build/http_pages/CheckEmailPage.cpp:165 +msgid "" +"Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:98 -#: model/Session.cpp:186 -#, fuzzy -#| msgid "E-Mail Verification" +#: build/http_pages/CheckEmailPage.cpp:170 +msgid "Zur Startseite" +msgstr "" + +#: build/http_pages/CheckEmailPage.cpp:175 +msgid "Bitte gib deinen E-Mail Verification Code ein:" +msgstr "Bitte gib deinen E-Mail Verification Code ein:" + +#: build/http_pages/CheckEmailPage.cpp:178 src/cpp/model/Session.cpp:184 msgid "Email Verification Code" -msgstr "E-Mail Überprüfung" +msgstr "Email Verification Code" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:100 +#: build/http_pages/CheckEmailPage.cpp:185 msgid "Überprüfe Code" -msgstr "" +msgstr "Überprüfe Code" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:104 +#: build/http_pages/CheckEmailPage.cpp:190 msgid "Du hast bisher keinen Code erhalten?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:105 +#: build/http_pages/CheckEmailPage.cpp:193 msgid "E-Mail erneut zuschicken (in Arbeit)" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:108 +#: build/http_pages/CheckEmailPage.cpp:198 msgid "Funktioniert dein E-Mail Verification Code nicht?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:109 +#: build/http_pages/CheckEmailPage.cpp:201 msgid "Schicke uns eine E-Mail und wir kümmern uns darum: " msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:110 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:133 +#: build/http_pages/CheckEmailPage.cpp:208 +#: build/http_pages/ResetPasswordPage.cpp:273 msgid "E-Mail an Support schicken" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:50 -msgid "E-Mail Adresse konnte nicht gefunden werden oder ist nicht aktiviert." +#: build/http_pages/ResetPasswordPage.cpp:174 +#: build/http_pages/ResetPasswordPage.cpp:217 +msgid "Gib bitte hier deine E-Mail Adresse an:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:54 -msgid "E-Mail Adresse nicht angegeben." +#: build/http_pages/ResetPasswordPage.cpp:183 +msgid "Bestätigen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:59 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:74 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:26 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:94 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:114 -#: model/Session.cpp:495 model/Session.cpp:507 model/Session.cpp:515 -msgid "Passphrase" -msgstr "" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:59 -msgid "Bitte wähle eine Option aus." -msgstr "" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:74 -msgid "Ungültige Option" -msgstr "" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:107 -msgid "Gebe bitte hier deine E-Mail Adresse an:" -msgstr "" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:109 +#: build/http_pages/ResetPasswordPage.cpp:225 msgid "Hast du dir deine Passphrase notiert oder gemerkt?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:113 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:196 +#: build/http_pages/ResetPasswordPage.cpp:234 +#: build/http_pages/PassphrasePage.cpp:373 msgid "Ja" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:118 +#: build/http_pages/ResetPasswordPage.cpp:241 msgid "Nein" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:123 +#: build/http_pages/ResetPasswordPage.cpp:247 msgid "Absenden" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:127 +#: build/http_pages/ResetPasswordPage.cpp:255 msgid "Dir wird eine E-Mail zugeschickt um dein Passwort zurückzusetzen." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:129 +#: build/http_pages/ResetPasswordPage.cpp:260 msgid "Der Admin hat eine E-Mail bekommen und wird sich bei dir melden." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:131 +#: build/http_pages/ResetPasswordPage.cpp:265 msgid "" "Du hast bereits eine E-Mail bekommen. Bitte schau auch in dein Spam-" "Verzeichnis nach. " msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:132 +#: build/http_pages/ResetPasswordPage.cpp:268 msgid "" "Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten " "gewartet?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:27 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:256 +#: build/http_pages/PassphrasePage.cpp:41 +#: build/http_pages/PassphrasePage.cpp:111 +#: build/http_pages/PassphrasePage.cpp:132 src/cpp/model/Session.cpp:465 +#: src/cpp/model/Session.cpp:477 src/cpp/model/Session.cpp:491 +msgid "Passphrase" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:42 +#: build/http_pages/PassphrasePage.cpp:451 msgid "Neues Konto anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:28 +#: build/http_pages/PassphrasePage.cpp:43 msgid "2/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:94 +#: build/http_pages/PassphrasePage.cpp:111 msgid "" "Diese Passphrase ist ungültig, bitte überprüfen oder neu " "generieren (lassen)." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:114 +#: build/http_pages/PassphrasePage.cpp:132 msgid "intern error please try again later" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:129 +#: build/http_pages/PassphrasePage.cpp:147 msgid "3/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:132 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:135 +#: build/http_pages/PassphrasePage.cpp:150 +#: build/http_pages/PassphrasePage.cpp:153 msgid "1/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:134 +#: build/http_pages/PassphrasePage.cpp:152 msgid "Neues Passwort anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:153 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:188 -msgid "Was zu tun ist:" +#: build/http_pages/PassphrasePage.cpp:270 +msgid "Passphrase abschreiben" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:154 -msgid "" -"Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie um " -"deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch deine " -"Gradidos verloren." -msgstr "" -"Schreibe dir deine Passphrase auf oder drucke sie aus und bewahre sie in " -"Papier-Form an einem sicheren Ort auf (speichere sie nicht auf deinem " -"Rechner oder Mobilgerät)! Du brauchst deine Passphrase um dein Konto " -"wiederherzustellen, wenn du mal dein Passort vergessen haben solltest. " - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:157 -msgid "Deine Passphrase (Groß/Kleinschreibung beachten)" -msgstr "" - -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:161 +#: build/http_pages/PassphrasePage.cpp:287 msgid "Was ist eine Passphrase?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:162 -msgid "" -"Die Passphrase kommt aus dem Crypto-Bereich und ist ein Weg einen " -"komplizierte kryptografischen Schlüssel in einer lesbaren Form darzustellen." +#: build/http_pages/PassphrasePage.cpp:290 +msgid "Deine Passphrase besteht aus den im grünen Feld angezeigten Wörtern." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:163 -msgid "" -"Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. " -"Bitcoin) um maximale Sicherheit zu erreichen." +#: build/http_pages/PassphrasePage.cpp:293 +msgid "Sie dient deiner Sicherheit." msgstr "" -"Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. " -"Bitcoin) um für dich die maximale Sicherheit zu gewährleisten." -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:165 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:275 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:280 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:293 +#: build/http_pages/PassphrasePage.cpp:296 +msgid "" +"Du brauchst deine Passphrase um dein Konto wiederherzustellen, wenn du mal " +"dein Passwort vergessen haben solltest." +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:300 +msgid "Deine Passphrase (Groß/Kleinschreibung beachten)" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:309 +#: build/http_pages/PassphrasePage.cpp:352 +msgid "Was zu tun ist:" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:312 +msgid "" +"Schreibe dir die obenstehende Passphrase von Hand auf ein Blatt " +"Papier!" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:315 +msgid "Speichere sie auf keinen Fall auf deinem Rechner oder Mobilgerät!!" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:318 +msgid "Bewahre sie an einem sicheren Ort auf!" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:322 +#: build/http_pages/PassphrasePage.cpp:478 +#: build/http_pages/PassphrasePage.cpp:487 +#: build/http_pages/PassphrasePage.cpp:511 msgid "Weiter" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:189 +#: build/http_pages/PassphrasePage.cpp:355 msgid "Hast du dir deine Passphrase gemerkt?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:190 +#: build/http_pages/PassphrasePage.cpp:358 msgid "" "Dann zeig es mir. Zur Unterstützung gebe ich dir deine Wörter aber in " "anderer Reihenfolge." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:191 +#: build/http_pages/PassphrasePage.cpp:361 msgid "Klicke sie an um sie einzusetzen." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:195 +#: build/http_pages/PassphrasePage.cpp:364 +msgid "Überprüfe dabei, ob du alle Wörter richtig geschrieben hast!" +msgstr "" + +#: build/http_pages/PassphrasePage.cpp:370 msgid "" "Weil du kein Javascript verwendest geht es direkt weiter. Hast du dir deine " "Passphrase gemerkt oder aufgeschrieben?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:242 +#: build/http_pages/PassphrasePage.cpp:429 msgid "Deine E-Mail Adresse wurde erfolgreich bestätigt." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:246 +#: build/http_pages/PassphrasePage.cpp:437 msgid "Neue Gradido Adresse anlegen / wiederherstellen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:247 +#: build/http_pages/PassphrasePage.cpp:440 msgid "" "Möchtest du ein neues Gradido-Konto anlegen oder ein bestehendes " "wiederherstellen?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:263 +#: build/http_pages/PassphrasePage.cpp:460 msgid "Bestehendes Konto wiederherstellen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:270 +#: build/http_pages/PassphrasePage.cpp:469 msgid "" "Falls du ein bestehendes Konto wiederherstellen willst, gib hier deine " "Passphrase ein:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:288 +#: build/http_pages/PassphrasePage.cpp:497 msgid "Konto wiederherstellen / Neues Passwort anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:289 +#: build/http_pages/PassphrasePage.cpp:501 msgid "" -"Um dein Konto wiederherzustellen, dir ein Neues Passwort auswählen zu " +"Um dein Konto wiederherzustellen und dir ein Neues Passwort auswählen zu " "können, tippe hier bitte die Wörter deiner Passphrase in der richtigen " "Reihenfolge ein, welche du dir aufgeschrieben hast." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:303 +#: build/http_pages/PassphrasePage.cpp:524 msgid "Fehler" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:304 +#: build/http_pages/PassphrasePage.cpp:527 msgid "" "Ungültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende " "dich an den Server-Admin." msgstr "" -#: model/Session.cpp:149 model/Session.cpp:180 model/Session.cpp:700 -#: model/Session.cpp:706 model/Session.cpp:1005 +#: src/cpp/model/Session.cpp:147 src/cpp/model/Session.cpp:177 +#: src/cpp/model/Session.cpp:645 src/cpp/model/Session.cpp:651 +#: src/cpp/model/Session.cpp:937 src/cpp/model/Session.cpp:953 msgid "Benutzer" msgstr "" -#: model/Session.cpp:149 +#: src/cpp/model/Session.cpp:147 msgid "Eingeloggter Benutzer ist kein Admin" msgstr "" -#: model/Session.cpp:155 model/Session.cpp:201 +#: src/cpp/model/Session.cpp:153 src/cpp/model/Session.cpp:212 msgid "Vorname" msgstr "" -#: model/Session.cpp:155 model/Session.cpp:159 model/Session.cpp:201 -#: model/Session.cpp:205 +#: src/cpp/model/Session.cpp:153 src/cpp/model/Session.cpp:157 +#: src/cpp/model/Session.cpp:212 src/cpp/model/Session.cpp:216 msgid "" "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen " "<>&;" msgstr "" -#: model/Session.cpp:159 model/Session.cpp:205 +#: src/cpp/model/Session.cpp:157 src/cpp/model/Session.cpp:216 msgid "Nachname" msgstr "" -#: model/Session.cpp:163 model/Session.cpp:209 +#: src/cpp/model/Session.cpp:161 src/cpp/model/Session.cpp:220 msgid "Bitte gebe eine gültige E-Mail Adresse an." msgstr "" -#: model/Session.cpp:170 model/Session.cpp:234 +#: src/cpp/model/Session.cpp:168 msgid "Für diese E-Mail Adresse gibt es bereits einen Account" msgstr "" -#: model/Session.cpp:180 model/Session.cpp:186 +#: src/cpp/model/Session.cpp:177 src/cpp/model/Session.cpp:184 msgid "Fehler beim speichern!" msgstr "" -#: model/Session.cpp:379 model/Session.cpp:438 model/Session.cpp:881 -#: model/Session.cpp:889 +#: src/cpp/model/Session.cpp:231 +msgid "Für diese E-Mail Adresse gibt es bereits ein Konto" +msgstr "" + +#: src/cpp/model/Session.cpp:255 +msgid "Server" +msgstr "" + +#: src/cpp/model/Session.cpp:255 +msgid "Fehler beim speichen des Kontos bitte versuche es später noch einmal" +msgstr "" + +#: src/cpp/model/Session.cpp:350 src/cpp/model/Session.cpp:390 +#: src/cpp/model/Session.cpp:832 src/cpp/model/Session.cpp:841 msgid "E-Mail Verification" msgstr "E-Mail Überprüfung" -#: model/Session.cpp:379 +#: src/cpp/model/Session.cpp:350 msgid "Du hast dein Konto bereits aktiviert!" msgstr "" -#: model/Session.cpp:438 +#: src/cpp/model/Session.cpp:390 msgid "Falscher Code für aktiven Login" msgstr "" -#: model/Session.cpp:495 +#: src/cpp/model/Session.cpp:465 msgid "Deine Passphrase ist ungütig" msgstr "" -#: model/Session.cpp:507 +#: src/cpp/model/Session.cpp:477 msgid "Ein Fehler trat auf, bitte versuche es erneut" msgstr "" -#: model/Session.cpp:515 +#: src/cpp/model/Session.cpp:491 msgid "Das ist nicht die richtige Passphrase." msgstr "" -#: model/Session.cpp:700 +#: src/cpp/model/Session.cpp:645 msgid "Konnte Community Server nicht erreichen. E-Mail an den Admin ist raus." msgstr "" -#: model/Session.cpp:706 +#: src/cpp/model/Session.cpp:651 msgid "" "Fehler beim Löschen des Accounts. Bitte logge dich erneut ein und " "versuche es nochmal." msgstr "" -#: model/Session.cpp:881 +#: src/cpp/model/Session.cpp:832 msgid "Konnte kein passendes Konto finden." msgstr "" -#: model/Session.cpp:889 +#: src/cpp/model/Session.cpp:841 msgid "Fehler beim laden des Benutzers." msgstr "" -#: model/Session.cpp:1005 +#: src/cpp/model/Session.cpp:937 msgid "Kein gültiger Benutzer, bitte logge dich erneut ein." msgstr "" -#~ msgid "Gradido: E-Mail Verification" -#~ msgstr "Gradido: E-Mail Überprüfung" +#: src/cpp/model/Session.cpp:953 +msgid "Fehler beim generieren der Passphrase, der Admin bekommt eine E-Mail. " +msgstr "" + +#: src/cpp/model/email/Email.cpp:174 +msgid "Default Email Subject" +msgstr "" + +#: src/cpp/model/email/Email.cpp:180 +msgid "Error from Gradido Login Server" +msgstr "Fehler auf dem Gradido Login Server" + +#: src/cpp/model/email/Email.cpp:200 +msgid "Gradido: E-Mail Verification" +msgstr "Gradido: E-Mail Überprüfung" + +#: src/cpp/model/email/Email.cpp:246 +msgid "Gradido: Reset Password" +msgstr "Gradido: Passwort zurücksetzen" + +#: src/cpp/SingletonManager/SessionManager.cpp:604 +msgid "" +"Please enter a valid password with at least 8 characters, upper and lower " +"case letters, at least one number and one special character (@$!%*?&+-_)!" +msgstr "" +"Bitte gebe ein gültiges Password ein mit mindestens 8 Zeichen, Groß- und " +"Kleinbuchstaben, mindestens einer Zahl und einem Sonderzeichen (@$!%*?&+-_) " +"ein!" + +#: src/cpp/SingletonManager/SessionManager.cpp:610 +msgid "Your password is to short!" +msgstr "Dein Passwort ist zu kurz!" + +#: src/cpp/SingletonManager/SessionManager.cpp:615 +msgid "Your password does not contain lowercase letters!" +msgstr "Dein Passwort enthält keine Kleinbuchstaben!" + +#: src/cpp/SingletonManager/SessionManager.cpp:620 +msgid "Your password does not contain any capital letters!" +msgstr " Dein Passwort enthält keine Großbuchstaben!" + +#: src/cpp/SingletonManager/SessionManager.cpp:625 +msgid "Your password does not contain any number!" +msgstr "Dein Passwort enthält keine Zahlen!" + +#: src/cpp/SingletonManager/SessionManager.cpp:630 +msgid "Your password does not contain special characters (@$!%*?&+-)!" +msgstr "Dein Passwort enthält keine Sonderzeichen (@$!%*?&+-)!" + +#~ msgid "Account" +#~ msgstr "Konto" + +#~ msgid "E-Mail Address not checked, do you already get one?" +#~ msgstr "" +#~ "E-Mail Adresse wurde noch nicht überprüft. Hast du schon in deine E-Mails " +#~ "geschaut? Bitte schau auch in dein Spam-Verzeichnis nach." + +#~ msgid "" +#~ "Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie " +#~ "um deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch " +#~ "deine Gradidos verloren." +#~ msgstr "" +#~ "Schreibe dir deine Passphrase auf oder drucke sie aus und bewahre sie " +#~ "in Papier-Form an einem sicheren Ort auf (speichere sie nicht auf " +#~ "deinem Rechner oder Mobilgerät)! Du brauchst deine Passphrase um dein " +#~ "Konto wiederherzustellen, wenn du mal dein Passort vergessen haben " +#~ "solltest. " + +#~ msgid "" +#~ "Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. " +#~ "Bitcoin) um maximale Sicherheit zu erreichen." +#~ msgstr "" +#~ "Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. " +#~ "Bitcoin) um für dich die maximale Sicherheit zu gewährleisten." #~ msgid "" #~ "Der Code stimmt nicht, bitte überprüfe ihn nochmal oder " diff --git a/configs/login_server/LOCALE/messages.pot b/configs/login_server/LOCALE/messages.pot index 5198bbcf7..bc884cb9e 100644 --- a/configs/login_server/LOCALE/messages.pot +++ b/configs/login_server/LOCALE/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-10 13:01+0100\n" +"POT-Creation-Date: 2021-06-21 13:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,415 +17,461 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:108 -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:156 +#: build/http_pages/LoginPage.cpp:196 build/http_pages/LoginPage.cpp:275 msgid "Login" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:108 +#: build/http_pages/LoginPage.cpp:196 msgid "E-Mail or password isn't right, please try again!" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:116 +#: build/http_pages/LoginPage.cpp:205 msgid "Passwort" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:116 +#: build/http_pages/LoginPage.cpp:205 msgid "" "Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut." msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:119 -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:122 +#: build/http_pages/LoginPage.cpp:208 build/http_pages/LoginPage.cpp:211 msgid "User" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:119 +#: build/http_pages/LoginPage.cpp:208 msgid "Error in saved data, the server admin will look at it." msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:122 +#: build/http_pages/LoginPage.cpp:211 msgid "Benutzer ist deaktiviert, kein Login möglich!" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:156 +#: build/http_pages/LoginPage.cpp:275 msgid "Username and password are needed!" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:178 -#: model/Session.cpp:210 model/Session.cpp:217 model/Session.cpp:259 -#: model/Session.cpp:284 model/Session.cpp:383 model/Session.cpp:393 +#: build/http_pages/LoginPage.cpp:376 src/cpp/model/Session.cpp:161 +#: src/cpp/model/Session.cpp:168 src/cpp/model/Session.cpp:220 +#: src/cpp/model/Session.cpp:231 msgid "E-Mail" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:179 +#: build/http_pages/LoginPage.cpp:381 +#: src/cpp/SingletonManager/SessionManager.cpp:603 +#: src/cpp/SingletonManager/SessionManager.cpp:609 +#: src/cpp/SingletonManager/SessionManager.cpp:614 +#: src/cpp/SingletonManager/SessionManager.cpp:619 +#: src/cpp/SingletonManager/SessionManager.cpp:624 +#: src/cpp/SingletonManager/SessionManager.cpp:629 msgid "Password" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:180 +#: build/http_pages/LoginPage.cpp:384 msgid " Login " msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:185 +#: build/http_pages/LoginPage.cpp:391 msgid "You haven't any account yet? Please follow the link to create one." msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:187 +#: build/http_pages/LoginPage.cpp:395 msgid "Create New Account" msgstr "" -#: F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\login.cpsp:191 +#: build/http_pages/LoginPage.cpp:403 msgid "Passwort vergessen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:72 +#: build/http_pages/CheckEmailPage.cpp:155 msgid "E-Mail verifizieren" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:77 +#: build/http_pages/CheckEmailPage.cpp:165 msgid "" "Deine E-Mail wurde erfolgreich bestätigt. Du kannst nun Gradidos versenden." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:78 +#: build/http_pages/CheckEmailPage.cpp:170 msgid "Zur Startseite" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:80 +#: build/http_pages/CheckEmailPage.cpp:175 msgid "Bitte gib deinen E-Mail Verification Code ein:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:81 -#: model/Session.cpp:233 +#: build/http_pages/CheckEmailPage.cpp:178 src/cpp/model/Session.cpp:184 msgid "Email Verification Code" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:82 +#: build/http_pages/CheckEmailPage.cpp:185 msgid "Überprüfe Code" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:85 +#: build/http_pages/CheckEmailPage.cpp:190 msgid "Du hast bisher keinen Code erhalten?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:86 +#: build/http_pages/CheckEmailPage.cpp:193 msgid "E-Mail erneut zuschicken (in Arbeit)" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:89 +#: build/http_pages/CheckEmailPage.cpp:198 msgid "Funktioniert dein E-Mail Verification Code nicht?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:90 +#: build/http_pages/CheckEmailPage.cpp:201 msgid "Schicke uns eine E-Mail und wir kümmern uns darum: " msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkEmail.cpsp:91 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:151 +#: build/http_pages/CheckEmailPage.cpp:208 +#: build/http_pages/ResetPasswordPage.cpp:273 msgid "E-Mail an Support schicken" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:113 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:124 +#: build/http_pages/ResetPasswordPage.cpp:174 +#: build/http_pages/ResetPasswordPage.cpp:217 msgid "Gib bitte hier deine E-Mail Adresse an:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:116 +#: build/http_pages/ResetPasswordPage.cpp:183 msgid "Bestätigen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:126 +#: build/http_pages/ResetPasswordPage.cpp:225 msgid "Hast du dir deine Passphrase notiert oder gemerkt?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:131 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:203 +#: build/http_pages/ResetPasswordPage.cpp:234 +#: build/http_pages/PassphrasePage.cpp:373 msgid "Ja" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:136 +#: build/http_pages/ResetPasswordPage.cpp:241 msgid "Nein" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:140 +#: build/http_pages/ResetPasswordPage.cpp:247 msgid "Absenden" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:145 +#: build/http_pages/ResetPasswordPage.cpp:255 msgid "Dir wird eine E-Mail zugeschickt um dein Passwort zurückzusetzen." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:147 +#: build/http_pages/ResetPasswordPage.cpp:260 msgid "Der Admin hat eine E-Mail bekommen und wird sich bei dir melden." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:149 +#: build/http_pages/ResetPasswordPage.cpp:265 msgid "" "Du hast bereits eine E-Mail bekommen. Bitte schau auch in dein Spam-" "Verzeichnis nach. " msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\resetPassword.cpsp:150 +#: build/http_pages/ResetPasswordPage.cpp:268 msgid "" "Du hast wirklich keine E-Mail erhalten und auch schon ein paar Minuten " "gewartet?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:26 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:94 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:114 -#: model/Session.cpp:638 model/Session.cpp:650 model/Session.cpp:658 +#: build/http_pages/PassphrasePage.cpp:41 +#: build/http_pages/PassphrasePage.cpp:111 +#: build/http_pages/PassphrasePage.cpp:132 src/cpp/model/Session.cpp:465 +#: src/cpp/model/Session.cpp:477 src/cpp/model/Session.cpp:491 msgid "Passphrase" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:27 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:263 +#: build/http_pages/PassphrasePage.cpp:42 +#: build/http_pages/PassphrasePage.cpp:451 msgid "Neues Konto anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:28 +#: build/http_pages/PassphrasePage.cpp:43 msgid "2/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:94 +#: build/http_pages/PassphrasePage.cpp:111 msgid "" "Diese Passphrase ist ungültig, bitte überprüfen oder neu " "generieren (lassen)." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:114 +#: build/http_pages/PassphrasePage.cpp:132 msgid "intern error please try again later" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:129 +#: build/http_pages/PassphrasePage.cpp:147 msgid "3/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:132 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:135 +#: build/http_pages/PassphrasePage.cpp:150 +#: build/http_pages/PassphrasePage.cpp:153 msgid "1/3" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:134 +#: build/http_pages/PassphrasePage.cpp:152 msgid "Neues Passwort anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:145 +#: build/http_pages/PassphrasePage.cpp:270 msgid "Passphrase abschreiben" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:156 +#: build/http_pages/PassphrasePage.cpp:287 msgid "Was ist eine Passphrase?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:157 +#: build/http_pages/PassphrasePage.cpp:290 msgid "Deine Passphrase besteht aus den im grünen Feld angezeigten Wörtern." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:158 +#: build/http_pages/PassphrasePage.cpp:293 msgid "Sie dient deiner Sicherheit." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:159 +#: build/http_pages/PassphrasePage.cpp:296 msgid "" "Du brauchst deine Passphrase um dein Konto wiederherzustellen, wenn du mal " "dein Passwort vergessen haben solltest." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:161 +#: build/http_pages/PassphrasePage.cpp:300 msgid "Deine Passphrase (Groß/Kleinschreibung beachten)" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:166 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:194 +#: build/http_pages/PassphrasePage.cpp:309 +#: build/http_pages/PassphrasePage.cpp:352 msgid "Was zu tun ist:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:167 +#: build/http_pages/PassphrasePage.cpp:312 msgid "" "Schreibe dir die obenstehende Passphrase von Hand auf ein Blatt " "Papier!" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:168 +#: build/http_pages/PassphrasePage.cpp:315 msgid "Speichere sie auf keinen Fall auf deinem Rechner oder Mobilgerät!!" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:169 +#: build/http_pages/PassphrasePage.cpp:318 msgid "Bewahre sie an einem sicheren Ort auf!" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:171 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:282 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:287 -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:300 +#: build/http_pages/PassphrasePage.cpp:322 +#: build/http_pages/PassphrasePage.cpp:478 +#: build/http_pages/PassphrasePage.cpp:487 +#: build/http_pages/PassphrasePage.cpp:511 msgid "Weiter" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:195 +#: build/http_pages/PassphrasePage.cpp:355 msgid "Hast du dir deine Passphrase gemerkt?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:196 +#: build/http_pages/PassphrasePage.cpp:358 msgid "" "Dann zeig es mir. Zur Unterstützung gebe ich dir deine Wörter aber in " "anderer Reihenfolge." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:197 +#: build/http_pages/PassphrasePage.cpp:361 msgid "Klicke sie an um sie einzusetzen." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:198 +#: build/http_pages/PassphrasePage.cpp:364 msgid "Überprüfe dabei, ob du alle Wörter richtig geschrieben hast!" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:202 +#: build/http_pages/PassphrasePage.cpp:370 msgid "" "Weil du kein Javascript verwendest geht es direkt weiter. Hast du dir deine " "Passphrase gemerkt oder aufgeschrieben?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:249 +#: build/http_pages/PassphrasePage.cpp:429 msgid "Deine E-Mail Adresse wurde erfolgreich bestätigt." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:253 +#: build/http_pages/PassphrasePage.cpp:437 msgid "Neue Gradido Adresse anlegen / wiederherstellen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:254 +#: build/http_pages/PassphrasePage.cpp:440 msgid "" "Möchtest du ein neues Gradido-Konto anlegen oder ein bestehendes " "wiederherstellen?" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:270 +#: build/http_pages/PassphrasePage.cpp:460 msgid "Bestehendes Konto wiederherstellen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:277 +#: build/http_pages/PassphrasePage.cpp:469 msgid "" "Falls du ein bestehendes Konto wiederherstellen willst, gib hier deine " "Passphrase ein:" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:294 +#: build/http_pages/PassphrasePage.cpp:497 msgid "Konto wiederherstellen / Neues Passwort anlegen" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:296 +#: build/http_pages/PassphrasePage.cpp:501 msgid "" "Um dein Konto wiederherzustellen und dir ein Neues Passwort auswählen zu " "können, tippe hier bitte die Wörter deiner Passphrase in der richtigen " "Reihenfolge ein, welche du dir aufgeschrieben hast." msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:310 +#: build/http_pages/PassphrasePage.cpp:524 msgid "Fehler" msgstr "" -#: F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp:311 +#: build/http_pages/PassphrasePage.cpp:527 msgid "" "Ungültige Seite, wenn du das siehst stimmt hier etwas nicht. Bitte wende " "dich an den Server-Admin." msgstr "" -#: model/Session.cpp:196 model/Session.cpp:227 model/Session.cpp:935 -#: model/Session.cpp:941 model/Session.cpp:1226 model/Session.cpp:1242 +#: src/cpp/model/Session.cpp:147 src/cpp/model/Session.cpp:177 +#: src/cpp/model/Session.cpp:645 src/cpp/model/Session.cpp:651 +#: src/cpp/model/Session.cpp:937 src/cpp/model/Session.cpp:953 msgid "Benutzer" msgstr "" -#: model/Session.cpp:196 +#: src/cpp/model/Session.cpp:147 msgid "Eingeloggter Benutzer ist kein Admin" msgstr "" -#: model/Session.cpp:202 model/Session.cpp:251 model/Session.cpp:375 +#: src/cpp/model/Session.cpp:153 src/cpp/model/Session.cpp:212 msgid "Vorname" msgstr "" -#: model/Session.cpp:202 model/Session.cpp:206 model/Session.cpp:251 -#: model/Session.cpp:255 model/Session.cpp:375 model/Session.cpp:379 +#: src/cpp/model/Session.cpp:153 src/cpp/model/Session.cpp:157 +#: src/cpp/model/Session.cpp:212 src/cpp/model/Session.cpp:216 msgid "" "Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen " "<>&;" msgstr "" -#: model/Session.cpp:206 model/Session.cpp:255 model/Session.cpp:379 +#: src/cpp/model/Session.cpp:157 src/cpp/model/Session.cpp:216 msgid "Nachname" msgstr "" -#: model/Session.cpp:210 model/Session.cpp:259 model/Session.cpp:383 +#: src/cpp/model/Session.cpp:161 src/cpp/model/Session.cpp:220 msgid "Bitte gebe eine gültige E-Mail Adresse an." msgstr "" -#: model/Session.cpp:217 model/Session.cpp:284 +#: src/cpp/model/Session.cpp:168 msgid "Für diese E-Mail Adresse gibt es bereits einen Account" msgstr "" -#: model/Session.cpp:227 model/Session.cpp:233 +#: src/cpp/model/Session.cpp:177 src/cpp/model/Session.cpp:184 msgid "Fehler beim speichern!" msgstr "" -#: model/Session.cpp:393 +#: src/cpp/model/Session.cpp:231 msgid "Für diese E-Mail Adresse gibt es bereits ein Konto" msgstr "" -#: model/Session.cpp:411 +#: src/cpp/model/Session.cpp:255 msgid "Server" msgstr "" -#: model/Session.cpp:411 +#: src/cpp/model/Session.cpp:255 msgid "Fehler beim speichen des Kontos bitte versuche es später noch einmal" msgstr "" -#: model/Session.cpp:505 model/Session.cpp:567 model/Session.cpp:1116 -#: model/Session.cpp:1125 +#: src/cpp/model/Session.cpp:350 src/cpp/model/Session.cpp:390 +#: src/cpp/model/Session.cpp:832 src/cpp/model/Session.cpp:841 msgid "E-Mail Verification" msgstr "" -#: model/Session.cpp:505 +#: src/cpp/model/Session.cpp:350 msgid "Du hast dein Konto bereits aktiviert!" msgstr "" -#: model/Session.cpp:567 +#: src/cpp/model/Session.cpp:390 msgid "Falscher Code für aktiven Login" msgstr "" -#: model/Session.cpp:638 +#: src/cpp/model/Session.cpp:465 msgid "Deine Passphrase ist ungütig" msgstr "" -#: model/Session.cpp:650 +#: src/cpp/model/Session.cpp:477 msgid "Ein Fehler trat auf, bitte versuche es erneut" msgstr "" -#: model/Session.cpp:658 +#: src/cpp/model/Session.cpp:491 msgid "Das ist nicht die richtige Passphrase." msgstr "" -#: model/Session.cpp:935 +#: src/cpp/model/Session.cpp:645 msgid "Konnte Community Server nicht erreichen. E-Mail an den Admin ist raus." msgstr "" -#: model/Session.cpp:941 +#: src/cpp/model/Session.cpp:651 msgid "" "Fehler beim Löschen des Accounts. Bitte logge dich erneut ein und " "versuche es nochmal." msgstr "" -#: model/Session.cpp:1116 +#: src/cpp/model/Session.cpp:832 msgid "Konnte kein passendes Konto finden." msgstr "" -#: model/Session.cpp:1125 +#: src/cpp/model/Session.cpp:841 msgid "Fehler beim laden des Benutzers." msgstr "" -#: model/Session.cpp:1226 +#: src/cpp/model/Session.cpp:937 msgid "Kein gültiger Benutzer, bitte logge dich erneut ein." msgstr "" -#: model/Session.cpp:1242 +#: src/cpp/model/Session.cpp:953 msgid "Fehler beim generieren der Passphrase, der Admin bekommt eine E-Mail. " msgstr "" + +#: src/cpp/model/email/Email.cpp:174 +msgid "Default Email Subject" +msgstr "" + +#: src/cpp/model/email/Email.cpp:180 +msgid "Error from Gradido Login Server" +msgstr "" + +#: src/cpp/model/email/Email.cpp:200 +msgid "Gradido: E-Mail Verification" +msgstr "" + +#: src/cpp/model/email/Email.cpp:246 +msgid "Gradido: Reset Password" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:604 +msgid "" +"Please enter a valid password with at least 8 characters, upper and lower " +"case letters, at least one number and one special character (@$!%*?&+-_)!" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:610 +msgid "Your password is to short!" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:615 +msgid "Your password does not contain lowercase letters!" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:620 +msgid "Your password does not contain any capital letters!" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:625 +msgid "Your password does not contain any number!" +msgstr "" + +#: src/cpp/SingletonManager/SessionManager.cpp:630 +msgid "Your password does not contain special characters (@$!%*?&+-)!" +msgstr "" diff --git a/deployment/bare_metal/build_and_start_login_server.sh b/deployment/bare_metal/build_and_start_login_server.sh new file mode 100755 index 000000000..b97d1d4a9 --- /dev/null +++ b/deployment/bare_metal/build_and_start_login_server.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# stop login_server running in screen +screen -XS login quit + +# rebuild login-server +cd ../../login_server +if [ ! -d "./build" ] ; then + cd scripts + ./prepare_build.sh + cd .. +fi +cd build +cmake .. +make -j$(nproc) Gradido_LoginServer + +# rebuild locales +cd ../scripts +./compile_pot.sh +cd ../src/LOCALE +cp *.mo *.po /etc/grd_login/LOCALE/ + +cd ../../build/bin + +# start login-server +screen -dmS 'login_server' bash -c './Gradido_LoginServer' + + + diff --git a/deployment/bare_metal/build_frontend.sh b/deployment/bare_metal/build_frontend.sh new file mode 100755 index 000000000..fc0feb747 --- /dev/null +++ b/deployment/bare_metal/build_frontend.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# For that to work, node v12.19.0 needs to be installed with nvm for root +# or NPM_BIN Path and NVM_DIR must be adjusted + +cd /var/www/html/gradido/frontend + +NPM_BIN=/root/.nvm/versions/node/v12.19.0/bin/npm + +export NVM_DIR="/root/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm + +$NPM_BIN install +$NPM_BIN run build +# prezip for faster deliver throw nginx +cd dist +find . -type f -name "*.css" -exec gzip -9 -k {} \; +find . -type f -name "*.js" -exec gzip -9 -k {} \; diff --git a/deployment/bare_metal/nginx/sites-available/gradido b/deployment/bare_metal/nginx/sites-available/gradido new file mode 100644 index 000000000..c32d82483 --- /dev/null +++ b/deployment/bare_metal/nginx/sites-available/gradido @@ -0,0 +1,73 @@ +server { + server_name _; + listen 80; + listen [::]:80; + + include /etc/nginx/common/protect.conf; + include /etc/nginx/common/protect_add_header.conf; + + root /var/www/html/gradido/community_server/webroot; + index index.php; + + gzip_static on; + + + location ~ \.php$ { + include snippets/fastcgi-php.conf; + fastcgi_pass unix:/run/php/php7.4-fpm.sock; + } + + location ~ /\.ht { + deny all; + } + + location /vue { + alias /var/www/html/gradido/frontend/dist; + index index.html; + + location ~* \.(png)$ { + expires 39d; + } + try_files $uri $uri/ /index.html = 404; + } + + location /account { + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_cache_bypass $http_upgrade; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + rewrite /account/(.*) /$1 break; + + proxy_pass http://127.0.0.1:1200; + proxy_redirect off; + + + } + + location /login_api { + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_cache_bypass $http_upgrade; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + rewrite /login_api/(.*) /$1 break; + + proxy_pass http://127.0.0.1:1201; + proxy_redirect off; + + + } + + + location / { + try_files $uri $uri/ /index.php?$args; + } + + access_log /var/log/nginx/access.log main; + +} diff --git a/deployment/bare_metal/nginx/sites-available/gradido_updating b/deployment/bare_metal/nginx/sites-available/gradido_updating new file mode 100644 index 000000000..df07e3715 --- /dev/null +++ b/deployment/bare_metal/nginx/sites-available/gradido_updating @@ -0,0 +1,29 @@ + +server { + server_name _; + listen 80; + listen [::]:80; + + include /etc/nginx/common/protect.conf; + include /etc/nginx/common/protect_add_header.conf; + + root /var/www/html/; + index updating.html; + + location /account { + alias /var/www/html/; + index updating.html; + } + location /vue { + alias /var/www/html/; + index updating.html; + } + + location ~ /\.ht { + deny all; + } + + access_log /var/log/nginx/access.log main; + +} + diff --git a/deployment/bare_metal/nginx/updating_original.html b/deployment/bare_metal/nginx/updating_original.html new file mode 100644 index 000000000..8975e3970 --- /dev/null +++ b/deployment/bare_metal/nginx/updating_original.html @@ -0,0 +1 @@ +Gradido Servers are updating..., please stand by and try again in some minutes diff --git a/deployment/bare_metal/update_all.sh b/deployment/bare_metal/update_all.sh new file mode 100755 index 000000000..b065a16d4 --- /dev/null +++ b/deployment/bare_metal/update_all.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +EMPTY_UPDATE_HTML=/var/www/html/updating_original.html +UPDATE_HTML=/var/www/html/updating.html +LOCK_FILE=/root/relay.lock +PROJECT_PATH=/var/www/html/gradido +SITE_CONFIG=stage1 +UPDATE_SITE_CONFIG=stage1_updating + +# this script can be called for example from webhookrelay.com relay +# to auto-deploy automatic after a update to the master branch + +if [ -f $LOCK_FILE ] ; then + retVal="Already building!" + return "${retVal}" 2>/dev/null || exit "${retVal}" +fi + +touch $LOCK_FILE + +# start with nearly empty html +# needed a nearly empty html page in the folder +cp $EMPTY_UPDATE_HTML $UPDATE_HTML + +# let nginx showing a update page +# needed nginx site-configs in nginx folders +# gradido for running gradido servers +# gradido_updating for showing upddate.html idealy for all pathes +rm /etc/nginx/sites-enabled/$SITE_CONFIG +ln -s /etc/nginx/sites-available/$UPDATE_SITE_CONFIG /etc/nginx/sites-enabled/ +service nginx restart + +# stop login server +screen -XS login quit +echo 'starting with git pull
' >> $UPDATE_HTML +cd $PROJECT_PATH +# git checkout -f master +git pull +cd deployment/bare_metal +echo 'update schemas' >> $UPDATE_HTML +./update_db_schemas.sh +echo 'starting with rebuilding login-server
' >> $UPDATE_HTML +./build_and_start_login_server.sh +echo 'starting with rebuilding frontend
' >> $UPDATE_HTML +./build_frontend.sh + + +# let nginx showing gradido +rm /etc/nginx/sites-enabled/$UPDATE_SITE_CONFIG +ln -s /etc/nginx/sites-available/$SITE_CONFIG /etc/nginx/sites-enabled/ +service nginx restart + +rm $LOCK_FILE + diff --git a/deployment/bare_metal/update_db_schemas.sh b/deployment/bare_metal/update_db_schemas.sh new file mode 100755 index 000000000..48cba596b --- /dev/null +++ b/deployment/bare_metal/update_db_schemas.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# For that to work skeema needed to be installed on system +# in login_server/skeema and community_server/db/skeema skeema configuration files need to be there also in the subfolders +# Update DB Schemas (only the schemas, not the data) + +cd ../../login_server/skeema +skeema push --allow-unsafe +cd ../../community_server/db/skeema +skeema push --allow-unsafe diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 1060002ba..cbb041457 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -26,8 +26,7 @@ services: ######################################################### login-server: build: - target: login_server_alpine_debug - dockerfile: Dockerfile.alpine-debug + dockerfile: Dockerfiles/ubuntu/Dockerfile.debug security_opt: - seccomp:unconfined cap_add: @@ -38,7 +37,7 @@ services: - ./login_server/dependencies:/code/dependencies - ./login_server/scripts:/code/scripts - ./configs/login_server:/etc/grd_login - - login_build_3.1:/code/build + - login_build_ubuntu_3.1:/code/build ######################################################### @@ -100,4 +99,4 @@ services: volumes: frontend_node_modules: - login_build_3.1: + login_build_ubuntu_3.1: diff --git a/docker-compose.test.yml b/docker-compose.test.yml index b9d44363e..457faf950 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -26,7 +26,7 @@ services: login-server: build: context: ./login_server/ - target: test + dockerfile: Dockerfiles/ubuntu/Dockerfile.test security_opt: - seccomp:unconfined cap_add: diff --git a/docker-compose.yml b/docker-compose.yml index 2cc2ceff7..35e015f4e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,7 +55,6 @@ services: login-server: build: context: ./login_server/ - target: login_server depends_on: - mariadb networks: diff --git a/docu/login_server.api.md b/docu/login_server.api.md index ab9157edf..3682f310e 100644 --- a/docu/login_server.api.md +++ b/docu/login_server.api.md @@ -505,6 +505,29 @@ The link can be modified in the Login-Server config: For the docker build, you can find the config here: `configs/login_server/grd_login.properties` +### Request +`POST http://localhost/login_api/resetPassword` + +with: + +```json +{ + "session_id": 12452361, + "password":"hasu/282?sjS" +} +``` + +### Response +In case of success returns: + +```json +{ + "state":"success" +} +``` + + + ## Check Running Transactions / password encryption Check if transactions on login-server for user are processed diff --git a/frontend/package.json b/frontend/package.json index 910644e2c..04893215d 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap-vue-gradido-wallet", - "version": "1.0.2", + "version": "1.1.1", "private": true, "scripts": { "start": "node run/server.js", diff --git a/frontend/src/apis/loginAPI.js b/frontend/src/apis/loginAPI.js index d9d0b2b9c..f71e7634f 100644 --- a/frontend/src/apis/loginAPI.js +++ b/frontend/src/apis/loginAPI.js @@ -102,19 +102,17 @@ const loginAPI = { const payload = { session_id: sessionId, email, - update: { - 'User.password': password, - }, + password, } - return apiPost(CONFIG.LOGIN_API_URL + 'updateUserInfos', payload) + return apiPost(CONFIG.LOGIN_API_URL + 'resetPassword', payload) }, changePasswordProfile: async (sessionId, email, password, passwordNew) => { const payload = { session_id: sessionId, email, update: { - 'User.password': password, - 'User.passwordNew': passwordNew, + 'User.password_old': password, + 'User.password': passwordNew, }, } return apiPost(CONFIG.LOGIN_API_URL + 'updateUserInfos', payload) diff --git a/frontend/src/i18n.js b/frontend/src/i18n.js index d91acfb79..98e4ec971 100644 --- a/frontend/src/i18n.js +++ b/frontend/src/i18n.js @@ -38,6 +38,12 @@ const numberFormats = { minimumFractionDigits: 2, maximumFractionDigits: 2, }, + ungroupedDecimal: { + style: 'decimal', + minimumFractionDigits: 2, + maximumFractionDigits: 2, + useGrouping: false, + }, }, de: { decimal: { @@ -45,6 +51,12 @@ const numberFormats = { minimumFractionDigits: 2, maximumFractionDigits: 2, }, + ungroupedDecimal: { + style: 'decimal', + minimumFractionDigits: 2, + maximumFractionDigits: 2, + useGrouping: false, + }, }, } diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index a1cdf985b..7d42be813 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -39,6 +39,7 @@ "password_new":"neues Passwort", "password_new_repeat":"neues Passwort wiederholen", "change": "ändern", + "change-password": "Passwort ändern", "amount":"Betrag", "memo":"Nachricht für den Empfänger", "message":"Nachricht", @@ -65,7 +66,8 @@ }, "error": { "error":"Fehler", - "no-account": "Leider konnten wir keinen Account finden mit diesen Daten!" + "no-account": "Leider konnten wir keinen Account finden mit diesen Daten!", + "change-password": "Fehler beim Ändern des Passworts" }, "transaction":{ "show_all":"Alle {count} Transaktionen ansehen", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 6e39a04b7..ce4199711 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -39,6 +39,7 @@ "password_new":"New password", "password_new_repeat":"Repeat new password", "change": "change", + "change-password": "Change password", "amount":"Amount", "memo":"Message for the recipient", "message":"Message", @@ -65,7 +66,8 @@ }, "error": { "error":"Error", - "no-account": "Unfortunately we could not find an account to the given data!" + "no-account": "Unfortunately we could not find an account to the given data!", + "change-password": "Error while changing password" }, "transaction":{ "show_all":"View all {count} transactions.", diff --git a/frontend/src/main.js b/frontend/src/main.js index b5e109fbf..1eda3eaca 100755 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -60,8 +60,8 @@ extend('gddSendAmount', { }, params: ['min', 'max'], message: (_, values) => { - values.min = i18n.n(values.min) - values.max = i18n.n(values.max) + values.min = i18n.n(values.min, 'ungroupedDecimal') + values.max = i18n.n(values.max, 'ungroupedDecimal') return i18n.t('form.validation.gddSendAmount', values) }, }) diff --git a/frontend/src/views/Layout/DashboardLayout_gdd.vue b/frontend/src/views/Layout/DashboardLayout_gdd.vue index 4d65aed70..9990b91f2 100755 --- a/frontend/src/views/Layout/DashboardLayout_gdd.vue +++ b/frontend/src/views/Layout/DashboardLayout_gdd.vue @@ -144,9 +144,6 @@ export default { mounted() { this.initScrollbar() }, - created() { - this.updateTransactions({ firstPage: 1, items: 5 }) - }, }