Adjusted one test slightly: there was a missing argument. Also,
corrected test count.
While implementing, I realized a failure mode that forces a rollback:
duplication on the input list of configurations. Tests are now needed
for that.
Redesign of database, mainly for three reasons:
(a) we need to send renewal notices to Supporters, and need to keep a
record of when we've sent them,
(b) We need to keep better track of t-shirt requests,
(c) We need to allow for different email addresses for contact other
than the PayPal payer one.
Before doing this, I briefly looked again at CiviCRM. While I can
complete this conversion and all my scripts in just a matter of a few
hours, setup of CiviCRM would take a minimum of a few hours just to
investigate its viability for us and whether I'd be able to maintain it.
So, we're doing custom, ad-hoc stuff still.
This commit has not been tested, it's a first pass that I'll adjust.
Ultimately, I decided I had little choice but to create a database of
supporters. There is really no easy way to track all this properly with
ledger, since ledger is transaction based and this is data that spans
many transactions.
Indeed, even in the NPO Accounting project, we knew there would be
separate data stores for contacts, etc. This is an ad-hoc start to
that, I guess.