Brett Smith
271f7a8c5b
models: Update DateField to use Django 1.10 method.
2018-01-22 10:15:30 -05:00
Bradley M. Kuhn
a82ebfb0a9
_lookupDeliveryError: begun
...
Verify beginnings of implementation
2017-12-26 12:32:15 -08:00
Bradley M. Kuhn
9ffd4d4e88
Tests: addEmailError: initial functionality tests
...
These tests lay out the basic functionality for adding an email error.
BTW, I decided we need an entirely different but mirrored setup for
postal errors, since the database tables for email and postal addresses
are hard-coded.
2017-11-26 15:04:21 -08:00
Bradley M. Kuhn
bce2679573
Tests: addSupporter(): fix two spelling typos.
2017-11-26 15:00:51 -08:00
Bradley M. Kuhn
99650b23ee
releaseRequestHold(): Implement & update tests.
...
Some of these tests were written a while ago, and the function never
implemented. It is now implemented and test are updated.
2017-11-26 14:32:17 -08:00
Bradley M. Kuhn
a3ea7a58df
Tests: clearly should be ok(), not is().
...
This was a Boolean test, so it clearly should be ok(), not an is().
2017-11-26 14:30:44 -08:00
Bradley M. Kuhn
faf1a239a4
holdRequest(): requestId is not a parameter.
2017-11-22 13:32:44 -08:00
Bradley M. Kuhn
ebcabc5231
holdRequest(): Document function API.
2017-11-22 13:32:30 -08:00
Bradley M. Kuhn
693a844212
type list variable should be used for loop.
2017-08-01 12:13:10 -07:00
Bradley M. Kuhn
96c04d988e
t-shirts: control by type when we send.
...
Allow for controlled sending of t-shirts by type.
2017-08-01 10:17:19 -07:00
Bradley M. Kuhn
434f2de875
send-mass-email: improve email presentation
2017-08-01 09:21:34 -07:00
Bradley M. Kuhn
77ac4ba16f
Merge branch 'master' from k.sfconservancy.org
2017-08-01 09:20:19 -07:00
Bradley M. Kuhn
98f72ee232
Update email text.
2017-08-01 09:19:57 -07:00
Bradley M. Kuhn
07593c7b15
send-t-shirts: Improve email line processing.
2017-08-01 09:19:45 -07:00
Brett Smith
2b1bdb073d
python models: Implement Supporter.supperter_type() with filters.
2017-02-17 15:24:40 -05:00
Brett Smith
8481bbf3b9
python models: Supporter.supporter_type() handles untagged payments.
2017-02-17 15:11:32 -05:00
Brett Smith
e2eab732ac
python models: Add Date.strptime constructor.
2017-02-17 11:41:39 -05:00
Bradley M. Kuhn
1508660842
$type argument must be repeated in arguments.
...
I use it twice in the format.
I think this was a local change I inadvertently failed to commit which
got overwritten by a pull.
2017-02-09 19:04:08 -08:00
Bradley M. Kuhn
be2409792f
Improve monthly lapse detection.
...
Previously, we were over-requesting renewals from monthly donors. This
code corrects the problem.
2017-02-09 18:57:49 -08:00
Brett Smith
8f102e54c4
send-renewal-notices: Fix lapse rate math.
...
The lapse rate by Supporter type was being miscalculated.
2017-01-26 13:59:29 -05:00
Brett Smith
3751fe870f
python: Initial documentation.
2017-01-25 15:35:10 -05:00
Brett Smith
8eb1854b8b
python: Add status_report script.
2017-01-25 11:08:21 -05:00
Brett Smith
bc21b83951
python: Add Supporter pseudo-model.
2017-01-25 08:58:54 -05:00
Brett Smith
b32e72b1e8
python: Start Django project.
...
This is enough code to load Ledger data into Django models.
2017-01-24 13:31:30 -05:00
Bradley M. Kuhn
02e80b8d08
Correct typo in variable name.
2017-01-18 14:34:15 +11:00
Bradley M. Kuhn
722105b1ff
contact-setting is not plural!
...
This was working incorrectly because contact-setting is not plural.
It's one setting.
2017-01-18 14:33:40 +11:00
Bradley M. Kuhn
ffd609b0cf
Typo fix.
2017-01-16 06:05:51 +11:00
Bradley M. Kuhn
92717294f9
Correct tests based on recent changes.
...
These tests are not passing I believe from recent changes.
2017-01-16 05:50:34 +11:00
Bradley M. Kuhn
258d9fad0f
Never fulfill requests that are on hold.
...
Requests on hold can never be fulfilled.
If you want to fulfill a request that is currently on hold, the right
semantic is that you should remove the hold, then fulfill the request.
Note that this test now passes and it didn't before:
fulfillRequest: .... but undef is returned when attempting to fulfill a held request.
2017-01-14 20:37:56 -08:00
Bradley M. Kuhn
836a70c0ab
holdRequest():testing hold on already held request
...
It's clear from the Supporters.pm code that when an hold is attempted on
an already held request, it simply returns the id of the existing hold.
I don't actually remember what behavior I really wanted here. There are
certainly possibility for semantic confusion in the API with the current
functionality, since the API caller must actually check to verify if the
hold they got is a new one or just an existing one.
Perhaps this should be rethought. I left a comment in the test code for
that reason.
2017-01-14 19:45:19 -08:00
Bradley M. Kuhn
68133e8cee
holdRequest(): holdReleaseDate is required.
...
holdReleaseDate is now a required argument for holdRequest().
2017-01-14 14:43:01 -08:00
Bradley M. Kuhn
2877cd0a2a
Tests for holdRequest() now match actual operation
...
The tests for holdRequest() are out of date. This corrects a few of
them.
2017-01-14 14:33:00 -08:00
Bradley M. Kuhn
dce63bd5a8
s/why/heldBecause
...
heldBecause became the standard on holdRequest rather than why.
I don't remember "why". :)
2017-01-14 14:22:40 -08:00
Bradley M. Kuhn
1900575269
Add renewal percentage per group.
2017-01-12 10:33:50 -08:00
Bradley M. Kuhn
1a6fdd8f09
Merge changes from upstream 'master' branch.
2017-01-12 10:32:32 -08:00
Bradley M. Kuhn
35b47468b4
send-mass-email script: wrote this a while ago.
...
This script has never been committed before. I wrote it a while ago
though.
2017-01-12 10:31:50 -08:00
Brett Smith
9655c13220
Read and write UTF-8 in address scripts.
2017-01-11 12:27:25 -05:00
Bradley M. Kuhn
22e02fb40e
Final corrections to handle multiple shirt request
...
With this adjustments, the script seems to now handle multiple
shirt-requests properly.
2017-01-10 11:36:50 -08:00
Bradley M. Kuhn
33e2a42179
Should be possible to release and act in same day.
2017-01-10 11:22:24 -08:00
Martin Michlmayr
18ccb9d152
Set UTF8 mode
...
Set UTF8 mode so the information is printed correctly.
2017-01-03 12:11:47 -05:00
Brett Smith
14fbb42dd6
find-supporter: Remove excessive whitespace.
...
Inspired by a patch from Martin, but unfortunately it doesn't apply cleanly
anymore.
2017-01-03 12:11:30 -05:00
Bradley M. Kuhn
3283cff2e1
Correct variable name typo.
2017-01-02 14:53:08 -08:00
Bradley M. Kuhn
211bd09c65
First hack of script to add people to announce
2017-01-02 11:59:23 -08:00
Bradley M. Kuhn
0e57d54747
Add missing newline.
2017-01-02 11:58:34 -08:00
Bradley M. Kuhn
595f96d869
Better support for multiple t-shirts to same donor
...
This change better handles the situation where t-shirt-0 and t-shirt-1
are requested and owed to the same donor. We've added even more t-shirt
request types at this point meaning many shirts can go to one donor, and
this change should better handle that situation.
2017-01-02 11:57:42 -08:00
Bradley M. Kuhn
1a6cb14254
Support email settings for donors.
...
This change, which is not properly documented nor tests present, adds
support for making sure those who don't want emails from us do not
receive them.
I believe I've caught most of the places we want this change supported.
2017-01-02 11:54:25 -08:00
Bradley M. Kuhn
7d39d40e61
Find lapsed large donors separately and report.
...
This generates a report for particular large donors who are lapsed.
2016-12-31 17:51:21 -08:00
Bradley M. Kuhn
fda04200df
Support paper mailing for renewal notices.
...
This allows adding a .tex file and sending a paper renewal notice.
This worked for me to send the paper renewal notices to Conservancy
Supporters in late 2016.
2016-12-31 11:31:51 -08:00
Bradley M. Kuhn
5cf6dfb805
Send postal shipment via an email address? Really?
...
This would have only worked if we had solved generalized energy-matter
conversion.... and I haven't invented a Heisenberg compensator.
2016-12-17 11:35:56 -08:00
Bradley M. Kuhn
07dc1bf515
add-postal address script.
2016-12-09 13:48:24 -08:00