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 <ej...@ejegg.com> Gerrit-Reviewer: AndyRussG <andrew.green...@gmail.com> Gerrit-Reviewer: Awight <awi...@wikimedia.org> Gerrit-Reviewer: Cdentinger <cdentin...@wikimedia.org> Gerrit-Reviewer: XenoRyet <dkozlow...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits