def save_model(self, request, newsletter, form, change): newsletter.save() workgroups = [] if not newsletter.pk and not request.user.is_superuser \ and USE_WORKGROUPS: workgroups = request_workgroups(request) # if newsletter.content.startswith('http://'): # if CAN_USE_PREMAILER: # try: # premailer = Premailer(newsletter.content.strip()) # newsletter.content = premailer.transform() # except PremailerError: # self.message_user(request, _('Unable to download HTML, due to errors within.')) # else: # self.message_user(request, _('Please install lxml for parsing an URL.')) clusters = Cluster.objects.filter(publish=True).exclude(id='services') quote = Quote.objects.order_by('?')[0] smlinks = Socialmedialink.objects.all() context = {'newsletter': newsletter, 'domain': Site.objects.get_current().domain, 'CLUSTERS':clusters, 'QUOTE':quote, 'SOCIALMEDIALINKS':smlinks, 'location':Location.objects.get(town='amsterdam'), 'YEAR': datetime.now().year, 'MEDIA_URL': settings.MEDIA_URL,} newsletter.content = get_content(newsletter, context) newsletter.save() if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) for workgroup in workgroups: workgroup.newsletters.add(newsletter)
def importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.POST: source = request.FILES.get('source') or \ StringIO.StringIO(request.POST.get('source', '')) if not request.user.is_superuser and USE_WORKGROUPS: workgroups = request_workgroups(request) else: workgroups = [] inserted = import_dispatcher(source, request.POST['type'], workgroups) if inserted: contacts_imported.send(sender=self, source=source, type=request.POST['type']) self.message_user(request, _('%s contacts succesfully imported.') % inserted) context = {'title': _('Contact importation'), 'opts': opts, 'root_path': self.admin_site.root_path, 'app_label': opts.app_label} return render_to_response('newsletter/contact_import.html', context, RequestContext(request))
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 save_model(self, request, contact, form, change): workgroups = [] if not contact.pk and not request.user.is_superuser: workgroups = request_workgroups(request) contact.save() for workgroup in workgroups: workgroup.contacts.add(contact)
def save_model(self, request, mailinglist, form, change): workgroups = [] if not mailinglist.pk and not request.user.is_superuser: workgroups = request_workgroups(request) mailinglist.save() for workgroup in workgroups: workgroup.mailinglists.add(mailinglist)
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 save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser \ and USE_WORKGROUPS: workgroups = request_workgroups(request) if newsletter.content.startswith('http://'): if CAN_USE_PREMAILER: try: print 123 premailer = Premailer(newsletter.content.strip()) print 1234 newsletter.content = premailer.transform() except PremailerError: self.message_user( request, _('Unable to download HTML, due to errors within.')) else: self.message_user(request, _('Please install lxml for parsing an URL.')) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) newsletter.save() for workgroup in workgroups: workgroup.newsletters.add(newsletter)
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() 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 importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.FILES: source = request.FILES.get('source') if not request.user.is_superuser and USE_WORKGROUPS: workgroups = request_workgroups(request) else: workgroups = [] inserted = import_dispatcher(source, request.POST['type'], workgroups) if inserted: contacts_imported.send(sender=self, source=source, type=request.POST['type']) self.message_user( request, _('%s contacts succesfully imported.') % inserted) context = { 'title': _('Contact importation'), 'opts': opts, 'root_path': self.admin_site.root_path, 'app_label': opts.app_label } return render_to_response('newsletter/contact_import.html', context, RequestContext(request))
def save_model(self, request, contact, form, change): workgroups = [] if not contact.pk and not request.user.is_superuser: workgroups = request_workgroups(request) contact.save() for workgroup in workgroups: workgroup.contacts.add(contact) contact.mailinglist_subscriber.clear() for l in form.cleaned_data["lists"]: contact.mailinglist_subscriber.add(l)
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 save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser: workgroups = request_workgroups(request) if newsletter.content.startswith('http://'): newsletter.content = get_webpage_content(newsletter.content) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) newsletter.save() for workgroup in workgroups: workgroup.newsletters.add(newsletter)
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 importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.FILES: source = request.FILES.get('source') inserted = vcard_contacts_import(source, request_workgroups(request)) self.message_user(request, _('%s contacts succesfully imported.') % inserted) context = {'title': _('VCard import'), 'opts': opts, 'root_path': self.admin_site.root_path, 'app_label': opts.app_label} return render_to_response('newsletter/contact_import.html', context, RequestContext(request))
def importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.FILES: source = request.FILES.get("source") inserted = vcard_contacts_import(source, request_workgroups(request)) self.message_user(request, _("%s contacts succesfully imported.") % inserted) context = { "title": _("VCard import"), "opts": opts, "root_path": self.admin_site.root_path, "app_label": opts.app_label, } return render_to_response("newsletter/contact_import.html", context, RequestContext(request))
def save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser: workgroups = request_workgroups(request) if newsletter.content.startswith('http://'): try: newsletter.content = get_webpage_content(newsletter.content) except HTMLParseError: self.message_user(request, _('Unable to download HTML, due to errors within.')) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) newsletter.save() for workgroup in workgroups: workgroup.newsletters.add(newsletter)
def importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.POST: source = request.FILES.get("source") or StringIO.StringIO(request.POST.get("source", "")) if not request.user.is_superuser and USE_WORKGROUPS: workgroups = request_workgroups(request) else: workgroups = [] inserted = import_dispatcher(source, request.POST["type"], workgroups) if inserted: contacts_imported.send(sender=self, source=source, type=request.POST["type"]) self.message_user(request, _("%s contacts succesfully imported.") % inserted) context = {"title": _("Contact importation"), "opts": opts, "app_label": opts.app_label} return render_to_response("newsletter/contact_import.html", context, RequestContext(request))
def save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser \ and USE_WORKGROUPS: workgroups = request_workgroups(request) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) try: newsletter.save() except: self.message_user( request, _('Unable to download HTML, due to errors within.') ) for workgroup in workgroups: workgroup.newsletters.add(newsletter)
def importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.FILES: source = request.FILES.get('source') inserted = import_dispatcher(source, request.POST['type'], request_workgroups(request)) if inserted: contacts_imported.send(sender=self, source=source, type=request.POST['type']) self.message_user(request, _('%s contacts succesfully imported.') % inserted) context = {'title': _('Contact importation'), 'opts': opts, 'app_label': opts.app_label} return render_to_response('newsletter/contact_import.html', context, RequestContext(request))
def save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser: workgroups = request_workgroups(request) if newsletter.content.startswith('http://'): try: newsletter.content = get_webpage_content(newsletter.content) except HTMLParseError: self.message_user( request, _('Unable to download HTML, due to errors within.')) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) newsletter.save() for workgroup in workgroups: workgroup.newsletters.add(newsletter)
def importation(self, request): """Import contacts from a VCard""" opts = self.model._meta if request.FILES: source = request.FILES.get('source') inserted = vcard_contacts_import(source, request_workgroups(request)) self.message_user( request, _('%s contacts succesfully imported.') % inserted) context = { 'title': _('VCard import'), 'opts': opts, 'root_path': self.admin_site.root_path, 'app_label': opts.app_label } return render_to_response(request, 'newsletter/contact_import.html', context)
def save_model(self, request, newsletter, form, change): workgroups = [] if not newsletter.pk and not request.user.is_superuser \ and USE_WORKGROUPS: workgroups = request_workgroups(request) if newsletter.content.startswith('http://'): if CAN_USE_PREMAILER: try: premailer = Premailer(newsletter.content.strip()) newsletter.content = premailer.transform() except PremailerError: self.message_user(request, _('Unable to download HTML, due to errors within.')) else: self.message_user(request, _('Please install lxml for parsing an URL.')) if not request.user.has_perm('newsletter.can_change_status'): newsletter.status = form.initial.get('status', Newsletter.DRAFT) newsletter.save() for workgroup in workgroups: workgroup.newsletters.add(newsletter)