tangentlabs/django-oscar — pull request #269 by elbaschid (2012-08-03 07:49:21+00:00)
Title: Updated version of Notifications for release 0.3

I have closed pull request #197 and moved the changes across manually as the list of conflicts with the current releases/0.3 branch where impossible to handle.

I also updated the i18n for all related and modified files and updated the ``po`` files accordingly. I hope this makes it easier to merge this branch into 0.3. Please let me know if there are any changes required to make this branch mergeable.

The feature as described in pull request #197 are:

* product notifications are visible *only* if a product is not in stock or does not have a stock record (a new product).

* an anonymous user can sign up for a notification of a product. They receive a confirmation link that they have to open to activate their sign up. An anonymous user does not have any means of managing their notifications in a list. The confirmation email contains a second link, however, with a *unsubscribe* link that allows for disabling of the notification.

* a registered user can sign up for notifications without having to confirm it. When a registered user signs up for a notification, the "Notify Me" button disappears from the product information and is replaced by a note stating that the user has already signed up.

* registered users can manage (activate/deactivate) their notifications in their account settings.

* an anonymous user that has signed up for notifications and creates an account will pull in their notifications and have them assigned to their account and are then no longer marked as anonymous

* the notifications app registers a receiver for the ``post_save`` signal of ``StockRecord``. Whenever a stock record is updated, the notifications are checked for this particular product and emails are sent out. These notifications are then disabled (not deleted) and marked with the date the email was sent. This hides the message from the registered users account. Notifications are still accessible, however, for staff members in the dashboard

* In the dashboard, the ``Customers`` navigation node is extended with a ``Notifications`` child that allows for editing, deleting and viewing all notifications. It also provides filtering capabilities for them based on status, customer name, customer email and/or product keyword.

This should describe the functionality at this stage. Please let me know how to improve the features, templates and code. Any feedback is appreciated.