Page MenuHomePhabricator

Refactor & rename FormChooser::getOneValidForm
Closed, ResolvedPublic

Description

Should just return one gateway code.

Get rid of wgDonationInterfaceAllowedHtmlForms and selection weight.

Logic should be about like this:

  • Get list of all enabled gateways
  • Read configurations for all of them
  • Compare country, currency, payment_method from query string against config to narrow down list of gateways
  • Use tiebreaker function created in T302935 to just return one gateway

Replace contents of DonationInterfaceFormSettings.php with config for tiebreaker function that makes the selected gateways consistent with original logic (enforced by unit tests created in T302891)

Event Timeline

@AndyRussG here's a patch with a simplified URL-building function that will accept the gateway codename rather than the ffname: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DonationInterface/+/790779/

It's based on top of the tiebreaker function so should have all you need to be able to do this refactor on top of them.

Change 792702 had a related patch set uploaded (by AndyRussG; author: AndyRussG):

[mediawiki/extensions/DonationInterface@master] Rename GatewayFormChooser -> GatewayChooser

https://gerrit.wikimedia.org/r/792702

Change 792716 had a related patch set uploaded (by AndyRussG; author: AndyRussG):

[wikimedia/fundraising/dev@master] Update for GatewayFormChooser -> GatewayChooser change

https://gerrit.wikimedia.org/r/792716

Change 792702 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Rename GatewayFormChooser -> GatewayChooser

https://gerrit.wikimedia.org/r/792702

Change 792716 merged by Ejegg:

[wikimedia/fundraising/dev@master] Update for GatewayFormChooser -> GatewayChooser change

https://gerrit.wikimedia.org/r/792716

Change 793834 had a related patch set uploaded (by AndyRussG; author: AndyRussG):

[mediawiki/extensions/DonationInterface@master] [WIP, do not merge] Refactor gateway chooser

https://gerrit.wikimedia.org/r/793834

Change 799009 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] Update country list for Ingenico

https://gerrit.wikimedia.org/r/799009

Change 801828 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] More currencies for Ingenico

https://gerrit.wikimedia.org/r/801828

Change 799009 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Update country list for Ingenico

https://gerrit.wikimedia.org/r/799009

Change 801828 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] More currencies for Ingenico

https://gerrit.wikimedia.org/r/801828

Change 793834 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Refactor gateway chooser logic

https://gerrit.wikimedia.org/r/793834

Change 802225 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] Make config param mandatory

https://gerrit.wikimedia.org/r/802225

Change 802225 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Make config param mandatory

https://gerrit.wikimedia.org/r/802225

Change 804462 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] Add gateway chooser test cases for bt and cash

https://gerrit.wikimedia.org/r/804462

Change 804462 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Add gateway chooser test cases for bt and cash

https://gerrit.wikimedia.org/r/804462

XenoRyet set Final Story Points to 4.