This package provides the base pieces required to accept donations on an Armstrong site.
armstrong.apps.donations provides everything you need to accept donations except templates. It defaults to Authorize.net for its payment processing, but all payment processing can be configured.
armstrong.apps.donations ships with a default set of URL routes that may work for you without any tweaking. Simply add the URL configuration you would like and include armstrong.apps.donations.urls. For example, you could configure it to respond to /donate/ like this inside your main urls module.
# This assumes you already have a urlpatterns variable urlpatterns += patterns('', url(r'^/donate/', include('armstrong.apps.donations.urls')), )
This adds a DonationFormView view for you at /donate/ and a thanks page via ThanksView at /donate/thanks/. You need to add templates for each. The default templates are:
You need to use the donation_form context value to display the DonationForm inside the DonationFormView.
Installation & Configuration
You can install the latest release of armstrong.apps.donations using pip:
pip install armstrong.apps.donations
Make sure to add armstrong.apps.donations and armstrong.apps.content to your INSTALLED_APPS. You can add this however you like. This works as a copy-and-paste solution:
INSTALLED_APPS += ["armstrong.apps.donations", ]
Once installed, you have to run either syncdb, or migrate if you are using South.
You can configure the payment backend using the ARMSTRONG_DONATIONS_BACKEND setting. It defaults to:
ARMSTRONG_DONATIONS_BACKEND = "armstrong.apps.donations.backends.AuthorizeNetBackend"
This utilizes armstrong.utils.backends for its backend processing.
State of Project
Armstrong is an open-source news platform that is freely available to any organization. It is the result of a collaboration between the Texas Tribune and Bay Citizen, and a grant from the John S. and James L. Knight Foundation.
To follow development, be sure to join the Google Group.
armstrong.apps.donations is part of the Armstrong project. You're probably looking for that.