django-shop-simplenotifications

A simple reusable app for django-shop that sends emailnotifications on certain events


Keywords
django, django-shop, email, notifications
License
BSD-3-Clause
Install
pip install django-shop-simplenotifications==0.2

Documentation

Important

This app has been discontinued and is no longer maintained.

django-shop-simplenotifications

Only use this, if you are brave!

This is a dead simple approach on email notifications for django-shop. The goal of this app is to hook into django-shop's various signals in order to send emails to the shop owner and to the buyer on certain events.

Installation

Install this package into your virtualenv:

pip install django-shop-simplenotifications

Add the app to your INSTALLED_APPS setting:

INSTALLED_APPS = (
    ...
    'shop_simplenotifications',
)

Configuration

SN_FROM_EMAIL

Default: DEFAULT_FROM_EMAIL

The from address for your automated emails. Example:

SN_EMAIL_FROM = 'noreply@myshop.com'

SN_OWNERS

Default: ADMINS

A tuple that lists people who get notifications about new incoming orders and payments. Each member of the tuple should be a tuple of (Full name, email address). Example:

(('John', 'john@example.com'), ('Mary', 'mary@example.com'))

Templates

In order to easily provide notifications with the wording and formatting of your choice, there are templates for all email subjects and bodies. In order to override the defaults, add the folowing templates to your templates/shop_simplenotifications/ folder:

  • confirmed_subject.txt
  • confirmed_body.txt
  • payment_instructions_subject.txt
  • payment_instructions_body.txt

You have the option of providing html versions of confirmed_body.txt and payment_instructions_body.txt (in addition to the .txt files), which will be sent as an alternative content type for email clients that render html.

All templates have a request and an order variable in their context.

Please note that the sender in the PaymentBackend should pass the request as well. Example:

confirmed.send(sender=self, order=order, request=request)

Features

  • When a buyer completes his order, the shop owners get a notification mail

  • When a buyer requests prepayment, the shop owners get a notification mail and the buyer gets the payment instructions. The email address will be taken from

    1. the logged in User, if available and/or
    2. the billing address,

    if available and the address model has an email attribute. If both address are equal, only one email will be sent. This works for guests and logged in Users.

  • All notification emails can be easily templated.

Testing

If you want to contribute to this project and quickly need to run the test-suite, you need to do the following steps:

  • create a virtual environment
  • fork this repository
  • install this package into your virtual environment
  • manually install the django-shop dependency (this step will be gone soon)
  • execute runtests.py

Example:

mkvirtualenv -p python2.7 yourenvname
workon yourenvname
git clone git://github.com/bitmazk/django-shop-simplenotifications.git
cd django-shop-simplenotifications
python setup.py install
pip install -r test_requirements.txt
cd shop_simplenotifications/tests
./runtests.py