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