These are various changes to support the changes to the postal
address table to include split-out fields for parts of the address
instead of just the formatted_address field. The changes herein are
not comprehensive to solve all the problems and issues associated
with this update, but they are enough changes to get most daily
operations with the database more-or-less working.
The primary change here is to add output such that we can get CSV
output that can be later used in post-processing to upload the data
to third-party shipping services.
Various other changes are present as well, including changes to the
logic related to which t-shirt to give when no specific type is
requested.
Note my comment that the error messages don't work properly on NULL
values. I once in my life spent years wondering about how to handle
three-valued logic problems in SQL. I thought that part of my life
was apparently over, but I guess not. 🤷
The `UserOperation_fix_tshirt_size_request` view is designed to allow
end-users edit t-shirt sizes in the request using a program like
`sqlitebrowser`.
This is the first implementation attempt of a user operation that
allows changing the T-Shirt size.
These were an omnibus set of changes that I made during the FY 2020
fundraising season. Changes include:
* support BeanCount for query of amounts given.
* better UTF-8 support
* use variable for the total groups
* use postal address to see if someone is USA based
* commented out code for annual renewal notice, we may want that later
* Include supporter id and rt ticket in output
Note that for each mailing, the groups code is still modified by hand
here.
The output format for donations changed slightly when we switched to
Beancount at Conservancy from Ledger CLI. This change now assumes a
specific format of the output for the donations, and takes a
filehandle in the constructor to receive the data.
As such, this effectively makes it slightly less dependent on any
specific donation database, since as long as you can get it into the
format the regex herein expects onto a filehandle, it doesn't matter
what system you use underneath.