From 5df43b7ceabd2b52e50239443ddbdfb7fa4f7e33 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 26 Jun 2013 11:09:04 +0200 Subject: [PATCH] for subscribe users always extract identifier from the user model --- portail_citoyen_announces/forms.py | 2 +- portail_citoyen_announces/models.py | 2 +- portail_citoyen_announces/transports.py | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/portail_citoyen_announces/forms.py b/portail_citoyen_announces/forms.py index 934d723..38af4b1 100644 --- a/portail_citoyen_announces/forms.py +++ b/portail_citoyen_announces/forms.py @@ -45,6 +45,6 @@ class SubscriptionForm(forms.Form): for category, transport in wanted_subscriptions: models.Subscription.objects.get_or_create( user=self.user, - identifier=self.user.mobile, + identifier='', category=category, transport=transport) diff --git a/portail_citoyen_announces/models.py b/portail_citoyen_announces/models.py index 271bcda..320ed12 100644 --- a/portail_citoyen_announces/models.py +++ b/portail_citoyen_announces/models.py @@ -80,7 +80,7 @@ class Subscription(TimeStampedModel): user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('user'), blank=True, null=True) category = models.ForeignKey('Category', verbose_name=_('category')) - identifier = models.CharField(_('identifier'), max_length=128, blank=False, + identifier = models.CharField(_('identifier'), max_length=128, blank=True, help_text=_('ex.: email, mobile phone number, jabber id')) transport = models.CharField(_('transport'), max_length=32, choices=transports.get_transport_choices(), diff --git a/portail_citoyen_announces/transports.py b/portail_citoyen_announces/transports.py index e27cbfc..6d90f8f 100644 --- a/portail_citoyen_announces/transports.py +++ b/portail_citoyen_announces/transports.py @@ -181,7 +181,13 @@ class EmailTransport(object): def get_emails(self, category): qs = self.get_subscriptions(category) - return qs.values_list('identifier', flat=True).distinct() + for subscription in qs: + email = '' + if subscription.identifier: + email = subscription.identifier + elif subscription.user: + email = subscription.user.email + yield email def send(self, announce): category = announce.category