Commit graph

230 commits

Author SHA1 Message Date
Bradley M. Kuhn
97e772b89c Parallel hashes made no sense here.
Since the main index is size, no reason not to have a single hash that
is so-keyed, and have subhash with two keys for checklist and labels.
2016-01-07 12:42:51 -08:00
Bradley M. Kuhn
dd8d8cba37 Reverse shortened postal address printed.
Packers find that reversing the postal address makes people easier to
find when matching up labels.
2016-01-07 12:38:53 -08:00
Bradley M. Kuhn
a4fdb4ea99 Correct sorting to print by size.
Packers indicate that packing by size rather than any other method is
better.
2016-01-07 12:33:52 -08:00
Bradley M. Kuhn
ed6b1decb0 This should really be input to the script.
But changing it here for the moment.
2016-01-06 22:22:44 -08:00
Bradley M. Kuhn
dbea255aee Properly handle counting.
Fix an off-by-one error on the size counts and otherwise handle counting
well.
2016-01-06 21:46:58 -08:00
Bradley M. Kuhn
e35ee8b953 Script to calculate our renewal rate. 2016-01-03 14:14:04 -08:00
Bradley M. Kuhn
da75edccf2 Handle other donor info. 2016-01-03 13:17:00 -08:00
Bradley M. Kuhn
6d7bae7e02 Correct printout of email addresses for renewal. 2016-01-03 12:26:49 -08:00
Bradley M. Kuhn
d151b992c4 First past script to print t-shirt labels. 2016-01-02 11:21:17 -08:00
Bradley M. Kuhn
f985b1c1ef Modifications to the email notification. 2016-01-02 10:47:29 -08:00
Bradley M. Kuhn
a57ed11bd5 Additional verbosity that says what we did. 2016-01-02 10:47:22 -08:00
Bradley M. Kuhn
b85575c625 Don't warn, just print to STDERR with verbosity. 2016-01-02 10:47:09 -08:00
Bradley M. Kuhn
964755c3e3 This takes a hash as argument. 2016-01-02 10:36:35 -08:00
Bradley M. Kuhn
215ac05484 Fixed spelling on hash key. 2016-01-02 10:35:05 -08:00
Bradley M. Kuhn
2d52ce2cd1 Need to use Supporters! 2016-01-02 10:33:57 -08:00
Bradley M. Kuhn
09f25e9fc9 send-t-shirt.plx: First hack at it. 2016-01-02 10:33:35 -08:00
Bradley M. Kuhn
dcbc823f0b need $emailTo variable. 2015-12-31 02:24:32 -08:00
Bradley M. Kuhn
5e226a3483 Rename variable. 2015-12-31 02:24:26 -08:00
Bradley M. Kuhn
db43a3ed71 First draft of renewal-notices script. 2015-12-31 02:16:30 -08:00
Bradley M. Kuhn
f3b7ebc6e3 getEmailAddresses: tests and implementation. 2015-12-31 01:59:50 -08:00
Bradley M. Kuhn
4bd5ab4fd1 Wrote add-email-address.plx script. 2015-12-31 00:38:59 -08:00
Bradley M. Kuhn
8b233299c8 Properly use these strings. 2015-12-31 00:00:11 -08:00
Bradley M. Kuhn
8cc77b8dec mode change on file 2015-12-30 22:48:19 -08:00
Bradley M. Kuhn
a4eb7ac8ac First draft at add script. 2015-12-30 22:47:55 -08:00
Bradley M. Kuhn
b174fec8c3 Add FIXME for API call I want. 2015-12-30 21:47:29 -08:00
Bradley M. Kuhn
39faafcab6 supporterExpirationDate: fix reverse sort bug.
These two new tests:
  ok 222 - supporterExpirationDate(): same donation amount in year...
  ok 223 - supporterExpirationDate(): ...returns the latter date.

did not pass without this change.  The list for annuals in
supporterExpirationDate() was sorted in the wrong order, producing
erroneous results.
2015-12-30 21:26:48 -08:00
Bradley M. Kuhn
dbeb98d0f2 findDonor: empty criteria finds everyone.
Rather than die() when the criteria list is empty, instead return the
entire list.
2015-12-30 20:53:28 -08:00
Bradley M. Kuhn
97f08a7bd8 supporterExpirationDate: tests & implementation 2015-12-30 20:11:57 -08:00
Bradley M. Kuhn
7e424200c7 donorFirstGave: tests and initial implementation. 2015-12-30 19:32:31 -08:00
Bradley M. Kuhn
7d4ca1f746 Correct id in this test. 2015-12-30 19:01:19 -08:00
Bradley M. Kuhn
a57415ff6d donorLastGave: initial implementation. 2015-12-30 19:01:03 -08:00
Bradley M. Kuhn
f3a4ba8ef5 Add actual test command. 2015-12-30 18:59:41 -08:00
Bradley M. Kuhn
89a30119c7 Correct method name. 2015-12-30 18:59:34 -08:00
Bradley M. Kuhn
de51b50759 Correct data to quote $'s. 2015-12-30 18:59:23 -08:00
Bradley M. Kuhn
f57ac7d3f0 Remove dead code. 2015-12-30 18:13:30 -08:00
Bradley M. Kuhn
1c6441e135 setPublicAck: Implementation
ok 48 - setPublicAck: fails supporterId invalid
ok 49 - setPublicAck: fails supporterId is string
ok 50 - setPublicAck: fails supporterId is undef
ok 51 - setPublicAck: 1 failed calls changed nothing.
ok 52 - setPublicAck: 1 failed calls changed nothing.
ok 53 - setPublicAck: 1 failed calls changed nothing.
ok 54 - setPublicAck: lives when valid id is given for undefining...
ok 55 - setPublicAck: ...and suceeds in changing value.
ok 56 - setPublicAck: lives when valid id is given for off...
ok 57 - setPublicAck: ...and suceeds in changing value.
ok 58 - setPublicAck: lives when valid id is given for on...
ok 59 - setPublicAck: ...and suceeds in changing value.
2015-12-30 17:54:37 -08:00
Bradley M. Kuhn
2676dfba22 setPublicAck: initial tests and docs. 2015-12-30 17:53:54 -08:00
Bradley M. Kuhn
dcdfa51d23 setPublicAck: initial tests and docs. 2015-12-30 17:47:56 -08:00
Bradley M. Kuhn
21fa4a1379 getPublicAck: Additional die tests. 2015-12-30 17:42:56 -08:00
Bradley M. Kuhn
59d824e6b8 isSupporter: tests, implementation & docs. 2015-12-30 17:19:10 -08:00
Bradley M. Kuhn
21080cc4d5 getDisplayName: tests, implementation, and docs. 2015-12-30 17:12:58 -08:00
Bradley M. Kuhn
c9c85bb540 Correct auto-0 public_ack.
Actually, public_ack can be NULL and that's ok.  It indicates that the
donor has not answered the question yet.
2015-12-30 17:04:00 -08:00
Bradley M. Kuhn
990fa89f1d _getDonorField: generalize code for donor fields
This method can be used for a one-liner for any field in the donor
table.

Used it to implement getLedgerEntityId and getPublicAck.
2015-12-30 17:03:07 -08:00
Bradley M. Kuhn
a07235f74d Declare variable in the right place. 2015-12-30 17:02:50 -08:00
Bradley M. Kuhn
ec7e50e8e0 getPublicAck: initial tests spec out API. 2015-12-30 16:51:04 -08:00
Bradley M. Kuhn
aba9894180 Add module to list. 2015-12-30 16:33:23 -08:00
Bradley M. Kuhn
a8dbc5ad76 lastGave(): initial tests to define API 2015-12-30 16:33:03 -08:00
Bradley M. Kuhn
195732b6b0 confess is better here than die.
Maybe I should use it throughout?
2015-12-30 16:09:59 -08:00
Bradley M. Kuhn
724cb77605 new: additional arguments related to ledger.
I'll need a full command line here, as it turns out, and also regular
expressions to use for searching for monthly vs. annual donations.
2015-12-30 12:08:33 -08:00
Bradley M. Kuhn
2e14c340ec getLedgerEntityId: Initial implementation.
All tests now pass:

ok 15 - getLedgerEntityId: fails when rows are not returned but _verifyId() somehow passed
ok 16 - getLedgerEntityId: fails when rows are not returned but _verifyId() somehow passed
ok 17 - getLedgerEntityId: lives when valid id is given...
ok 18 - getLedgerEntityId: ...and return value is correct.
2015-12-30 11:31:36 -08:00