check in send coins if receiver was disabled

This commit is contained in:
Dario Rekowski on RockPI 2020-08-07 07:29:22 +00:00
parent 224714b16d
commit 59031cc19a
2 changed files with 141 additions and 132 deletions

@ -1 +1 @@
Subproject commit a04d4769974b9d93ba72e490ed7dca3fbaed768c Subproject commit 21d4a0a5e9a19f251e26c0ae07ce74be2fa99bbf

View File

@ -155,10 +155,9 @@ class TransactionSendCoinsController extends AppController
$requestData = $this->request->getData(); $requestData = $this->request->getData();
$mode = 'next'; $mode = 'next';
if (isset($requestData['add'])) { if(isset($requestData['add'])) {$mode = 'add'; }
$mode = 'add';
}
if($transferForm->validate($requestData)) { if($transferForm->validate($requestData)) {
$receiverPubKeyHex = ''; $receiverPubKeyHex = '';
$senderPubKeyHex = $user['public_hex']; $senderPubKeyHex = $user['public_hex'];
$amountCent = $this->GradidoNumber->parseInputNumberToCentNumber($requestData['amount']); $amountCent = $this->GradidoNumber->parseInputNumberToCentNumber($requestData['amount']);
@ -174,22 +173,26 @@ class TransactionSendCoinsController extends AppController
return; return;
} }
$receiverPubkeyHex =''; $receiverPubkeyHex ='';
$response = $this->JsonRequestClient->sendRequest(json_encode([ $requestAnswear = $this->JsonRequestClient->sendRequest(json_encode([
'session_id' => $session->read('session_id'), 'session_id' => $session->read('session_id'),
'email' => $receiverEmail, 'email' => $receiverEmail,
'ask' => ['user.pubkeyhex'] 'ask' => ['user.pubkeyhex', 'user.disabled']
]), '/getUserInfos'); ]), '/getUserInfos');
if ('success' == $response['state'] && 'success' == $response['data']['state']) { if('success' == $requestAnswear['state'] && 'success' == $requestAnswear['data']['state']) {
// will be allways 64 byte long, even if it is empty // will be allways 64 byte long, even if it is empty
$receiverPubKeyHex = $response['data']['userData']['pubkeyhex']; $receiverPubKeyHex = $requestAnswear['data']['userData']['pubkeyhex'];
} elseif ('success' == $response['state'] && 'not found' == $response['data']['state']) {
return $this->redirect($this->loginServerUrl . 'account', 303);
} else { } else {
$this->addAdminError('TransactionSendCoins', 'create', $response, $user['id']); $this->addAdminError('TransactionSendCoins', 'create', $requestAnswear, $user['id']);
$this->Flash->error(__('Der Empfänger wurde nicht auf dem Login-Server gefunden, hat er sein Konto schon angelegt?')); $this->Flash->error(__('Der Empfänger wurde nicht auf dem Login-Server gefunden, hat er sein Konto schon angelegt?'));
$this->set('timeUsed', microtime(true) - $startTime); $this->set('timeUsed', microtime(true) - $startTime);
return; return;
} }
if($requestAnswear['data']['userData']['disabled']) {
$this->Flash->error(__('Der Empfänger ist deaktiviert, daher können ihm zurzeit keine Gradidos gesendet werden.'));
$this->set('timeUsed', microtime(true) - $startTime);
return;
}
if(0 == ord($receiverPubKeyHex)) { if(0 == ord($receiverPubKeyHex)) {
$stateUserTable = TableRegistry::getTableLocator()->get('StateUsers'); $stateUserTable = TableRegistry::getTableLocator()->get('StateUsers');
@ -213,6 +216,7 @@ class TransactionSendCoinsController extends AppController
$this->set('timeUsed', microtime(true) - $startTime); $this->set('timeUsed', microtime(true) - $startTime);
return; return;
} }
} }
//var_dump($sessionStateUser); //var_dump($sessionStateUser);
@ -223,6 +227,7 @@ class TransactionSendCoinsController extends AppController
$senderPubKeyHex $senderPubKeyHex
); );
if($builderResult['state'] === 'success') { if($builderResult['state'] === 'success') {
$http = new Client(); $http = new Client();
try { try {
$loginServer = Configure::read('LoginServer'); $loginServer = Configure::read('LoginServer');
@ -265,10 +270,12 @@ class TransactionSendCoinsController extends AppController
$this->Flash->success(__('Transaction submitted for review.')); $this->Flash->success(__('Transaction submitted for review.'));
} }
} }
} catch(\Exception $e) { } catch(\Exception $e) {
$msg = $e->getMessage(); $msg = $e->getMessage();
$this->Flash->error(__('error http request: ') . $msg); $this->Flash->error(__('error http request: ') . $msg);
} }
} else { } else {
$this->Flash->error(__('No Valid Receiver Public given: ' . $receiverPubKeyHex)); $this->Flash->error(__('No Valid Receiver Public given: ' . $receiverPubKeyHex));
} }
@ -318,10 +325,12 @@ class TransactionSendCoinsController extends AppController
} else { } else {
$this->Flash->error(__('Error building transaction')); $this->Flash->error(__('Error building transaction'));
} }
} }
//var_dump($requestData); //var_dump($requestData);
// //
//var_dump($data); //var_dump($data);
} }
$this->set('timeUsed', microtime(true) - $startTime); $this->set('timeUsed', microtime(true) - $startTime);