[MediaWiki-commits] [Gerrit] mediawiki...DonationInterface[master]: Fix error serialization in payments.api

2017-06-02 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/356875 )

Change subject: Fix error serialization in payments.api
..


Fix error serialization in payments.api

Change-Id: I3266a4dfcc33d0bd95cd5ec7cf472425357f4288
---
M gateway_common/donation.api.php
1 file changed, 8 insertions(+), 7 deletions(-)

Approvals:
  XenoRyet: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/gateway_common/donation.api.php b/gateway_common/donation.api.php
index b8959f0..c90896b 100644
--- a/gateway_common/donation.api.php
+++ b/gateway_common/donation.api.php
@@ -30,7 +30,7 @@
$validated_ok = $gatewayObj->validatedOK();
if ( !$validated_ok ) {
$errors = $gatewayObj->getErrorState()->getErrors();
-   $outputResult['errors'] = $this->serializeErrors( 
$errors );
+   $outputResult['errors'] = $this->serializeErrors( 
$errors, $gatewayObj );
// FIXME: What is this junk?  Smaller API, like 
getResult()->addErrors
$this->getResult()->setIndexedTagName( 
$outputResult['errors'], 'error' );
$this->getResult()->addValue( null, 'result', 
$outputResult );
@@ -81,7 +81,7 @@
}
$errors = $result->getErrors();
if ( !empty( $errors ) ) {
-   $outputResult['errors'] = $this->serializeErrors( 
$errors );
+   $outputResult['errors'] = $this->serializeErrors( 
$errors, $gatewayObj );
$this->getResult()->setIndexedTagName( 
$outputResult['errors'], 'error' );
}
 
@@ -91,7 +91,7 @@
$this->getResult()->addValue( null, 'result', $outputResult );
}
 
-   protected function serializeErrors( $errors ) {
+   protected function serializeErrors( $errors, GatewayAdapter $adapter ) {
$serializedErrors = array();
foreach( $errors as $error ) {
if ( $error instanceof ValidationError ) {
@@ -100,11 +100,12 @@
$error->getMessageParams()
);
$serializedErrors[$error->getField()] = 
$message;
-   } else {
-   $message = WmfFramework::formatMessage(
-   $error->getMessageKey()
-   );
+   } elseif ( $error instanceof PaymentError ) {
+   $message = 
$adapter->getErrorMapByCodeAndTranslate( $error->getErrorCode() );
$serializedErrors['general'][] = $message;
+   } else {
+   $logger = DonationLoggerFactory::getLogger( 
$adapter );
+   $logger->error( 'API trying to serialize 
unknown error type: ' . get_class( $error ) );
}
}
return $serializedErrors;

-- 
To view, visit https://gerrit.wikimedia.org/r/356875
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I3266a4dfcc33d0bd95cd5ec7cf472425357f4288
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Ejegg 
Gerrit-Reviewer: AndyRussG 
Gerrit-Reviewer: Awight 
Gerrit-Reviewer: Cdentinger 
Gerrit-Reviewer: XenoRyet 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...DonationInterface[master]: Fix error serialization in payments.api

2017-06-02 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/356875 )

Change subject: Fix error serialization in payments.api
..

Fix error serialization in payments.api

Change-Id: I3266a4dfcc33d0bd95cd5ec7cf472425357f4288
---
M gateway_common/donation.api.php
1 file changed, 5 insertions(+), 7 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface 
refs/changes/75/356875/1

diff --git a/gateway_common/donation.api.php b/gateway_common/donation.api.php
index b8959f0..bf298ba 100644
--- a/gateway_common/donation.api.php
+++ b/gateway_common/donation.api.php
@@ -30,7 +30,7 @@
$validated_ok = $gatewayObj->validatedOK();
if ( !$validated_ok ) {
$errors = $gatewayObj->getErrorState()->getErrors();
-   $outputResult['errors'] = $this->serializeErrors( 
$errors );
+   $outputResult['errors'] = $this->serializeErrors( 
$errors, $gatewayObj );
// FIXME: What is this junk?  Smaller API, like 
getResult()->addErrors
$this->getResult()->setIndexedTagName( 
$outputResult['errors'], 'error' );
$this->getResult()->addValue( null, 'result', 
$outputResult );
@@ -81,7 +81,7 @@
}
$errors = $result->getErrors();
if ( !empty( $errors ) ) {
-   $outputResult['errors'] = $this->serializeErrors( 
$errors );
+   $outputResult['errors'] = $this->serializeErrors( 
$errors, $gatewayObj );
$this->getResult()->setIndexedTagName( 
$outputResult['errors'], 'error' );
}
 
@@ -91,7 +91,7 @@
$this->getResult()->addValue( null, 'result', $outputResult );
}
 
-   protected function serializeErrors( $errors ) {
+   protected function serializeErrors( $errors, GatewayAdapter $adapter ) {
$serializedErrors = array();
foreach( $errors as $error ) {
if ( $error instanceof ValidationError ) {
@@ -100,10 +100,8 @@
$error->getMessageParams()
);
$serializedErrors[$error->getField()] = 
$message;
-   } else {
-   $message = WmfFramework::formatMessage(
-   $error->getMessageKey()
-   );
+   } elseif ( $error instanceof PaymentError ) {
+   $message = 
$adapter->getErrorMapByCodeAndTranslate( $error->getErrorCode() );
$serializedErrors['general'][] = $message;
}
}

-- 
To view, visit https://gerrit.wikimedia.org/r/356875
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3266a4dfcc33d0bd95cd5ec7cf472425357f4288
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Ejegg 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits