Page MenuHomePhabricator

Use updated Fundraising Store (with Sofortüberweisung) in Donation views of Fundraising Operations Center
Closed, ResolvedPublic5 Estimated Story Points

Description

As a member of the fundraising team,
I want to find specific donations and their metadata in the Fundraising Operations Center,
so that I can support the donors during the campaign

Acceptance Criteria:

  • Donation list shows SUB donations as well as all other payment types as before (adapt to changes done to store in T167886)
  • Donation detail lightbox shows transaction confirmation date (see T167882)
  • Donation list is filterable by SUB payment type

Background:
Part of this story is to develop tests for this part of the application and to refactor this part to make it more testable. The end result doesn't need to be a Silex-based controller with a fully-fledged end-to-end test and unit test suite, but more of "Enough tests to prove that the new functionality doesn't break anything".

Event Timeline

gabriel-wmde renamed this task from Sofortüberweisung Use updated Fundraising Store to Use updated Fundraising Store (with Sofortüberweisung) in Donation views of Fundraising Operations Center.Jul 12 2017, 2:18 PM
gabriel-wmde updated the task description. (Show Details)
gabriel-wmde set the point value for this task to 5.
gabriel-wmde moved this task from Backlog to Sprint ready on the WMDE-Fundraising-Tech board.

Such researched: Tracing the flow of control (Fundraiser -> Backend_DonationController -> View) I found that the page content is constructed in donation_list.phtml. It does not contain the data though, which is fetched via AJAX at backend_Ajax/list/loadEntries, which is handled by Backend_Ajax_ListController::loadEntriesAction. That method uses DonationRepository::getDonations which should presumably be modified to include the data from the new table. It currently uses DBAL but not Doctrine ORM. That seems to be the end of the rabbit hole for the list part of this task :)

Would be good to have https://github.com/wmde/fundraising-backend/pull/271 finished soon to avoid merge conflict in Backend_Ajax_ListController.

WIP https://github.com/wmde/fundraising-backend/pull/273

Further plan:

  • Refference constants correctly
  • Stash and write e2e test first :)
  • Integrate
  • Unstash and extract properly
  • Add basic tests for extracted class
  • Integrate
  • Include sofort stuff
  • Integrate
  • ???
  • Bitcoins!

Edit: Looked into writing an e2e test for this and realized that this is not a small task. Going to just break out the code and test that, relying on a manual test to verify the first step went fluff.

Ending my FUN day now, so feel free to pick this up where I left it. (I will happily pick it up again from where you left it, so any fear of being forced to complete this is unfounded ;p)

All relevant code is already merged. Might also want to merge this before starting work on this just in case it might otherwise cause a merge conflict: https://github.com/wmde/fundraising-backend/pull/289

New PR to add sofort data: https://github.com/wmde/fundraising-backend/pull/299

The confirmation date is not displayed in detail view. For this, detailAction should be refactored to use the Doctrine DonationRepository to fetch the data with all its children.