Use updated Fundraising Store (with Sofortüberweisung) in Donation views of Fundraising Operations Center
Closed, ResolvedPublic5 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".

Pablo-WMDE removed a project: Epic.
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.
gabriel-wmde updated the task description. (Show Details)Jul 12 2017, 3:46 PM
Pablo-WMDE assigned this task to JeroenDeDauw.
Pablo-WMDE moved this task from Todo to Doing on the WMDE-Fundraising-Sprint-7 board.
JeroenDeDauw removed JeroenDeDauw as the assignee of this task.Jul 19 2017, 11:44 PM
JeroenDeDauw added a subscriber: JeroenDeDauw.
JeroenDeDauw added a comment.EditedJul 20 2017, 12:14 AM

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.

JeroenDeDauw added a comment.EditedJul 20 2017, 12:42 AM

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.

JeroenDeDauw moved this task from Review to Doing on the WMDE-Fundraising-Sprint-7 board.
This comment was removed by JeroenDeDauw.
JeroenDeDauw removed JeroenDeDauw as the assignee of this task.Jul 27 2017, 10:56 AM

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.

JeroenDeDauw added a comment.EditedAug 1 2017, 6:45 PM

For me the thing is also not shown in the list yet...

Edit: did not show cause of https://github.com/wmde/fundraising-backend/pull/301/commits/7b10ea931d3b875b07fe99ecba946ca7d008b18d

JeroenDeDauw added a comment.EditedAug 1 2017, 7:02 PM

https://github.com/wmde/fundraising-backend/pull/300
https://github.com/wmde/fundraising-backend/pull/301
https://github.com/wmde/fundraising-backend/pull/302
https://github.com/wmde/fundraising-backend/pull/303
https://github.com/wmde/fundraising-backend/pull/304

Calling it a day now; did not get to refactoring detailAction though have a clear idea how to proceed now. Still, by all means continue with this... not much time left in the sprint :(

Continuing with this now

Again continuing with this

Pablo-WMDE closed this task as Resolved.Mon, Sep 25, 11:30 AM