|
bkuhn
|
83c97a002998
|
9 years ago
|
|
Perform math on number variable without comma
The math performed for the number of donors should be done on the number without the comma, so that NaN doesn't show on the site.
|
|
bkuhn
|
9d0627610fa6
|
9 years ago
|
|
Make rise level consistent for both items.
With this change, both numbers should go up at the same rate.
|
|
bkuhn
|
7ea7e8ef602b
|
9 years ago
|
|
|
|
bkuhn
|
1eddf3fd0927
|
9 years ago
|
|
|
|
bkuhn
|
76f5e1b7ea98
|
9 years ago
|
|
Increase donation count by 1% each time.
Increasing by one makes it last too long. Doing 1% will make it go just as fast as the fundraiser.
|
|
bkuhn
|
a7a15cec8b57
|
9 years ago
|
|
Better handle no value situations.
The issue where these values were empty was not properly handled.
|
|
bkuhn
|
8b469cff1830
|
9 years ago
|
|
Support display of donation count in fundraiser.
Allow display of a donation count in the fundraiser pages, with an optional threshold that must be met before it's displayed.
|
|
bkuhn
|
efe90bd2d04e
|
9 years ago
|
|
Better animation effects when donate link clicked.
The banner always faded in/out, but now other texts can be designated with the class 'donate-box-highlight' and those will fade out and fade back in with bold and slightly larger font.
|
|
bkuhn
|
6e3b2a22bedd
|
9 years ago
|
|
Animate the progress bar at page load.
This is perhaps too flashy, but it does successfully animate the progress bar up to the target amount, and also changes the amount until it reaches the total raised so far.
|
|
bkuhn
|
2678369b5a38
|
9 years ago
|
|
|
|
bkuhn
|
3be224c69a81
|
9 years ago
|
|
Diff CSS for fundraiser-percentage w/ progressbar.
If Javascript is present to generate the pogressbar, then the CSS really should be radically different.
Graceful degradation.
|
|
bkuhn
|
f3b930579f1b
|
9 years ago
|
|
Automatically generate fundraiser percentage text.
Using this span, we can update the number in the fundraising percentage text automatically. The downside is that non-javascript browsers will not receive a fundraising percentage, but the upside is that fewer things need to be calculated by hand, and now only the amount raised so far needs updated.
|
|
bkuhn
|
86e780340a2b
|
10 years ago
|
|
First pass at Supporter Night form.
This is my first pass of the supporter night form with necessary Javascript and CSS.
|
|
bkuhn
|
9a4c92352d9a
|
10 years ago
|
|
|
|
bkuhn
|
60d0a06e2558
|
10 years ago
|
|
progressbar Javascript need not change for content
The content of the amounts for the fundraiser can be kept in the HTML rather than the progress bar Javscript code.
I suspect at some point I should keep this data in the Django database and extract it from there as dynamic content.
|
|
bkuhn
|
8e22371f1931
|
10 years ago
|
|
Progress bar & $5k triple-match program.
An anonymous donor is matching up to $5k at 2-to-1 for supporter donations. Therefore, update the page to include a progress bar for this, and add notes about it in various places.
|
|
bkuhn
|
674261e0f0c2
|
10 years ago
|
|
Start errors in shown state for non-Javascript.
Since the error messages have important information, and since the Javascript code is the only "enforcer" of the minimum donation, the errors really should be displayed by default if the browser is not Javascript-capable. This change does that, but also toggles the state back so that errors are not shown until needed in Javascript-capable browsers.
I believe this still fits graceful degradation, since browsers without Javascript and CSS were already showing the errors anyway, so now the only real change is that everyone sees the errors by default.
It *might* make sense to not show the errors in red in non-Javascript browsers (i.e., make the default CSS color black for the form-error-show class, and then change it to red in the Javascript). I didn't make that so, because it's not clear to me that's right, and we *do* want to draw attention to the errors lest people become a supporter below the minimum (which has happened once already -- that precipitated this change).
I'm still annoyed that PayPal doesn't provide a "minimum but no maximum" variable donation box of its own, which would solve this problem outright.
|
|
bkuhn
|
1574b2dc3764
|
10 years ago
|
|
Match right form for these changes.
The general selectors previously used here matched either form. With this change, they will only match the form for which the selection was actually made.
|
|
bkuhn
|
2d96daee903c
|
10 years ago
|
|
Rework Javascript final form validation.
The problem before was that an error in the annual form would prevent submission of the monthly form and vice-versa. That is herein corrected with this change, which assures that the input with id of "amount" if the specific form (id'd with "annual" or "monthly") is the only one checked.
|
|
bkuhn
|
8c3ecd347abd
|
10 years ago
|
|
Return amount to id; add id for error span.
I actually think I want amount to be id rather than a class, now that I figured out the proper selector to find them all.
Also, the $("span", input.parent()) was buggy if there were any other span's other than error-related ones in the supporter-form-inputs div.
Finally, ditch that <small> stuff and simply place a font-size reduction into the CSS for the form-error-show.
|
|
bkuhn
|
6b9bdb335e83
|
10 years ago
|
|
Modify PayPal "no_shipping" var via t-shirt choice According to https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/ no_shipping has the following values: 0: prompt for an address, but do not require one 1: do not prompt for an address 2: prompt for an address, and require one The default is 0. Ideally, any time they change wantGift, even in a pure HTML form, we'd change it between 0 and 2 as appropriate (i.e., we need the address if they want the t-shirt). However, I couldn't find an easy way to make this modification in pure CSS or HTML, so it only happens in Javascript-enabled browsers. This is still graceful degradation, since the only impact is in cases where a non-Javascript user fails to give us an address, and we have to email later to get the shipping address.
|
|
bkuhn
|
e0f0ee820fe3
|
10 years ago
|
|
Monthly supporter can enter variable amount. This required some doing. I'm not completely sure it works, but I roughly followed the tutorial available at: https://www.paypal.com/webapps/mpp/get-started/create-recurring-donation-buttonwith back-reference to this: https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/My main concern with this setup currently is that 'p3' must be set to '1', which would seem from the documentation to be saying the payment will recur only once. There is a subtle hint via the tutorial that setting 'src' to 1 will override 'p3' with whatever is found in 'srt', but that's not said anywhere explicitly that I can find. So, I'm going with this and I'll just test it myself with a monthly subscription to see if it's indefinite (which is the behavior we herein desire). Finally, note that "amount" is now a class rather than id, since I'm now using the associated jQuery .on('input') code for both the annual and monthly amount boxes.
|
|
bkuhn
|
342590123ff5
|
10 years ago
|
|
|
|
bkuhn
|
eea08767d361
|
10 years ago
|
|
Change default to "no t-shirt".
I suspect some supporters are just accepting the default, so by default, the t-shirt option will be "No", and supporters will have to affirmatively chose "Yes".
Thanks to previously committed Javascript hack, users with Javascript capable browsers should avoid seeing the t-shirt sizing options until they chose "Yes".
|
|
bkuhn
|
7fec31ce8aef
|
10 years ago
|
|
Hide t-shirt size selector when t-shirt's unwanted
Use Javascript to hide the t-shirt size selector when the the user selects "No" for "Do you want a t-shirt?". Reshow it (and make sure it's shown by default) for "Yes".
|
|
bkuhn
|
44301d386ba0
|
10 years ago
|
|
Correct Markdown-style footnote w/ HTML style one.
This footnote is now correctly formatted in HTML, with links back and forth, as well as a jQuery UI tooltip popup for the footnote.
|
|
bkuhn
|
c41a897be2ce
|
10 years ago
|
|
Simply clear error for monthly donation.
Since the error messages relate only to the amount entered, the error message should be cleared when switching to the monthly giving option.
|
|
bkuhn
|
c54683398484
|
10 years ago
|
|
Amount starts class "valid", when default accepted
The default amount of $120 appears in the amount field, but the class "valid" was usually only added when the user changes the amount.
The valid class must be added at the start to ensure someone simply clicking with the default still can donate.
|
|
bkuhn
|
090fb9f268a0
|
10 years ago
|
|
Larger error message when submitting bad amount.
This addition to the Javascript and text ensures a clear message to the user of a Javascript-enabled browser that there is an issue with the amount. Also, it prevents submission of the form until the amount is correct.
A user with Javascript disabled can circumvent these validation steps; however, the worst-case scenario is that they make a donation for less than $120 that is categorized in Conservancy's internal system as a Supporter donation, and we'll be adding internal checks to find that.
|
|
bkuhn
|
b2c18cc59e52
|
10 years ago
|
|
Correct regular expression and comma thing fully.
parseInt() likely wants no commas, so we use a value without it, and the regular expression now seems to properly match was PayPal will take as valid.
|
|
bkuhn
|
3438812e0049
|
10 years ago
|
|
|
|
bkuhn
|
8b16abf981e5
|
10 years ago
|
|
|
|
bkuhn
|
b90413809f26
|
10 years ago
|
|
Subscriptions for monthly supporters.
There are now two options at the bottom of the page, annual and monthly supporters.
In addition, there is Javascript code to cause the annual and monthly items disappear and reappear upon selection either in the donate box or the selector above the items.
I tested this in links and it seems to degrade reasonably well.
|
|
bkuhn
|
9bfb5e10dec2
|
10 years ago
|
|
Rework form with error messages & basic validation
Since PayPal cannot seem to be cajoled into verifying a minimum amount, we have to do it here with Javascript. This isn't perfect validation: the form can currently still be submitted with an amount less than $120, but at least this way Javascript-enabled browsers might prevent some folks from doing that.
|
|
bkuhn
|
01eb8c80c8c1
|
10 years ago
|
|
|