Reusable backend to accept & track donations to your site
Project description
Django Donations
Quick Start
Easiest way to install is via pip:
pip install django-donations
Then add the app to your settings.py:
INSTALLED_APPS = (
...
'donations',
...
)
from donations import setup
setup()
And to your urls patterns:
urlpatterns = patterns(
...
url(r'^donate/', include('donations.urls')),
...
)
Just Giving Configuration
The app needs to be configured with your JustGiving API settings:
# Ability to point to Production or Sandbox URLs
JUST_GIVING_WEB_URL = 'http://v3-sandbox.justgiving.com'
JUST_GIVING_API_URL = 'http://api-sandbox.justgiving.com'
# Replace below with your personal details
JUST_GIVING_CHARITY_ID = '123456'
JUST_GIVING_APP_ID = 'changeme'
# Add a list of all the currencies you need to support
CURRENCIES = ['GBP']
With django autoconfig
Some of the setup is in database, you need to create a Provider and donation frequencies. To make it easier to set them up, we recommend to use django autoconfig, which will load the required objects when starting up. The only thing that needs to be added to your settings.py is:
from django_autoconfig.autoconfig import configure_settings
configure_settings(globals())
Manually
TODO
TODO
Update the documentation and readme
integrate with readthedocs or pythonhosted or both!
tests - unit/integration
task to periodically verify pending donations
(* dashboard - track/view donations from the business side - kpis etc * views/urls? - provide an api hook into the system (/donations - dashboard))
v2 and beyond
(other providers (paypal etc))
tasks.py - recurring donation handling - this is not possible right now as SDI is not an API to be automated
Usage
Example app is under ./example/app. Basically subclass DonateView or POST to DonateAPI with the correct data…. (example needed) When using DonateView, there is the DonationForm which can be subclassed to customize or just used by itself.
Settings
Supported Providers
Just Giving SDI
Basic Commands - Update to be correct
Test coverage
To run the tests, check your test coverage, and generate an HTML coverage report:
$ coverage run manage.py test $ coverage html $ open htmlcov/index.html
Running end to end integration tests
N.B. The integration tests will not run on Windows.
To install the test runner:
$ pip install hitch
To run the tests, enter the django-donations/tests directory and run the following commands:
$ hitch init
Then run the stub test:
$ hitch test stub.test
This will download and compile python, postgres and redis and install all python requirements so the first time it runs it may take a while.
Subsequent test runs will be much quicker.
The testing framework runs Django, Celery (if enabled), Postgres, HitchSMTP (a mock SMTP server), Firefox/Selenium and Redis.*/
Create a New Release
This project is configured to use bumpversion, only prerequisite is to have it installed. When the tests have passed and you’re happy with the code base, just need to run:
$ bumpversion [major|minor|patch]
Depending on which digit of the version needs to be updated, and then push with tags:
$ git push --tags
Travis will take care of creating a new packaged, and upload it to PyPi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-donations-0.3.0.tar.gz
.
File metadata
- Download URL: django-donations-0.3.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2108a65a7d4cfcd4dd5e96e67d69856e67ce480b975f373ae244412b41ea3936 |
|
MD5 | 1559b3cfe83daefa3face5f3e5706b1d |
|
BLAKE2b-256 | e4e05cf2f9d8394f4d4b231b4642350f5266a79c7d86089aa590a250f3c9bdba |
File details
Details for the file django_donations-0.3.0-py2-none-any.whl
.
File metadata
- Download URL: django_donations-0.3.0-py2-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2594c71b9492c9bfb33bb15b0c694512c02ab0d6a7897223468fa8d32ef4069 |
|
MD5 | 35aeb7613f5b27540867b910f69d900f |
|
BLAKE2b-256 | dcc949501a80ab770e44e04848653006f31712c0c7e6b49a35a7d080dc216449 |