def create_mailinglist(self, request, queryset): """Create a mailing list from selected contact""" when = str(datetime.now()).split('.')[0] new_mailing = MailingList( name=_('New mailinglist at %s') % when, description=_('New mailing list created in admin at %s') % when) new_mailing.save() if 'lite' in settings.DATABASES['default']['ENGINE']: self.message_user( request, _('SQLite3 or a SpatialLite database type detected, ' \ 'please note you will be limited to 999 contacts ' \ 'per mailing list.') ) try: new_mailing.subscribers = queryset.all() except DatabaseError: new_mailing.subscribers = queryset.none() if not request.user.is_superuser and USE_WORKGROUPS: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user(request, _('%s succesfully created.') % new_mailing) return HttpResponseRedirect(reverse( 'admin:newsletter_mailinglist_change', args=[new_mailing.pk] ))
def create_mailinglist(self, request, queryset): """Create a mailing list from selected contact""" when = str(datetime.now()).split('.')[0] new_mailing = MailingList( name=_('New mailinglist at %s') % when, description=_('New mailing list created in admin at %s') % when) new_mailing.save() db_engine = settings.DATABASES['default']['ENGINE'] if settings.DATABASES['default']['ENGINE'].find('sqlite3') > -1 \ or settings.DATABASES['default']['ENGINE'].index('django.contrib.gis.db.backends.spatialite') > -1: messages.warning( request, 'SQLite3 or a SpatialLite database type detected, please note you will be limited to 999 contacts per mailing list.' ) try: new_mailing.subscribers = queryset.all() except DatabaseError: new_mailing.subscribers = queryset.none() if not request.user.is_superuser and USE_WORKGROUPS: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user(request, _('%s succesfully created.') % new_mailing) return HttpResponseRedirect( reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk]))
def merge_mailinglist(self, request, queryset): """Merge multiple mailing list""" if queryset.count() == 1: self.message_user(request, _('Please select a least 2 mailing list.')) return None subscribers = {} unsubscribers = {} for ml in queryset: for contact in ml.subscribers.all(): subscribers[contact] = '' for contact in ml.unsubscribers.all(): unsubscribers[contact] = '' when = str(datetime.now()).split('.')[0] new_mailing = MailingList(name=_('Merging list at %s') % when, description=_('Mailing list created by merging at %s') % when) new_mailing.save() new_mailing.subscribers = subscribers.keys() new_mailing.unsubscribers = unsubscribers.keys() if not request.user.is_superuser and USE_WORKGROUPS: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user(request, _('%s succesfully created by merging.') % new_mailing) return HttpResponseRedirect(reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk]))
def merge_mailinglist(self, request, queryset): """Merge multiple mailing list""" if queryset.count() == 1: self.message_user(request, _('Please select a least 2 mailing list.')) return None subscribers = {} unsubscribers = {} for ml in queryset: for contact in ml.subscribers.all(): subscribers[contact] = '' for contact in ml.unsubscribers.all(): unsubscribers[contact] = '' when = str(datetime.now()).split('.')[0] new_mailing = MailingList( name=_('Merging list at %s') % when, description=_('Mailing list created by merging at %s') % when) new_mailing.save() new_mailing.subscribers = subscribers.keys() new_mailing.unsubscribers = unsubscribers.keys() if not request.user.is_superuser and USE_WORKGROUPS: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user( request, _('%s succesfully created by merging.') % new_mailing) return HttpResponseRedirect( reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk]))
def create_mailinglist(self, request, queryset): """Create a mailing list from selected contact""" when = str(datetime.now()).split('.')[0] new_mailing = MailingList(name=_('New mailinglist at %s') % when, description=_('New mailing list created in admin at %s') % when) new_mailing.save() new_mailing.subscribers = queryset.all() if not request.user.is_superuser and USE_WORKGROUPS: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user(request, _('%s succesfully created.') % new_mailing) return HttpResponseRedirect(reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk]))
def create_mailinglist(self, request, queryset): """Create a mailing list from selected contact""" when = str(datetime.now()).split('.')[0] new_mailing = MailingList(name=_('New mailinglist at %s') % when, description=_('New mailing list created in admin at %s') % when) new_mailing.save() new_mailing.subscribers = queryset.all() if not request.user.is_superuser: for workgroup in request_workgroups(request): workgroup.mailinglists.add(new_mailing) self.message_user(request, _('%s succesfully created.') % new_mailing) return HttpResponseRedirect(reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk]))
def merge_mailinglist(self, request, queryset): """Merge multiple mailing list""" if queryset.count() == 1: self.message_user(request, _('Please select a least 2 mailing list.')) return None contacts = {} for ml in queryset: for contact in ml.subscribers.all(): contacts[contact] = '' when = str(datetime.now()).split('.')[0] new_mailing = MailingList(name=_('Merging list at %s') % when, description=_('Mailing list created by merging at %s') % when) new_mailing.save() new_mailing.subscribers = contacts.keys() self.message_user(request, _('%s succesfully created by merging.') % new_mailing) return HttpResponseRedirect(reverse('admin:newsletter_mailinglist_change', args=[new_mailing.pk,]))