def add(request): if Newsletter.objects.filter(email=request.POST['email']) != None: newsletter = Newsletter(email=request.POST['email']) newsletter.save() request.session["message"] = u"Zostałeś zapisany do newsletter'a" request.session["message_context"] = "success" else: request.session["message"] = u"Podany adres już istnieje w bazie" request.session["message_context"] = "danger" return HttpResponseRedirect('/')
def get_services_newsletter(self): try: newsletter = Newsletter.objects.get(title=u'Новая акция') except Newsletter.DoesNotExist: newsletter = Newsletter() newsletter.title = u'Новая акция' newsletter.email = settings.DEFAULT_NEWSLETTER_EMAIL newsletter.sender = settings.DEFAULT_NEWSLETTER_SENDER newsletter.send_html = True newsletter.visible = True newsletter.slug=u'novaya-akciya' newsletter.save() newsletter.site.add(*Site.objects.all()) return newsletter
class MailingTestCase(MailTestCase): def get_newsletter_kwargs(self): """ Returns the keyword arguments for instanciating the newsletter. """ return { 'title': 'Test newsletter', 'slug': 'test-newsletter', 'sender': 'Test Sender', 'email': '*****@*****.**' } def setUp(self): self.n = Newsletter(**self.get_newsletter_kwargs()) self.n.save() try: self.n.site.set(get_default_sites()) except AttributeError: # Django < 1.10 self.n.site = get_default_sites() self.m = Message(title='Test message', newsletter=self.n, slug='test-message') self.m.save() self.s = Subscription.objects.create( name='Test Name', email='*****@*****.**', newsletter=self.n, subscribed=True ) self.s2 = Subscription.objects.create( name='René Luçon', email='*****@*****.**', newsletter=self.n, subscribed=True ) def send_email(self, action): assert action in ACTIONS + ('message', ), 'Unknown action: %s' % action if action == 'message': # Create submission sub = Submission.from_message(self.m) sub.prepared = True sub.publish_date = now() - timedelta(seconds=1) sub.save() # Send message email Submission.submit_queue() else: for subscriber in self.n.get_subscriptions(): subscriber.send_activation_email(action)
def getNewsletter(self): newsl = None try: newsl = Newsletter.objects.get(slug=self.fingerprint.fingerprint_hash) except Newsletter.DoesNotExist: newsl = Newsletter( title=self.fingerprint.findName()+' Updates', slug=self.fingerprint.fingerprint_hash, email=settings.DEFAULT_FROM_EMAIL, message_template=EmailTemplate.objects.get(subject='aggregate'), sender="Emif Catalogue") newsl.save() return newsl
def getNewsletter(self): newsl = None try: newsl = Newsletter.objects.get( slug=self.fingerprint.fingerprint_hash) except Newsletter.DoesNotExist: newsl = Newsletter(title=self.fingerprint.findName() + ' Updates', slug=self.fingerprint.fingerprint_hash, email=settings.DEFAULT_FROM_EMAIL, message_template=EmailTemplate.objects.get( subject='aggregate'), sender="Emif Catalogue") newsl.save() return newsl
def create_event(request): ''' A view where staff and superuser can create new events ''' if not (request.user.is_staff or request.user.is_superuser): return redirect('/') form = EventForm(request.POST or None, request.FILES or None) if form.is_valid(): event = form.save(commit=False) event.organizer = request.user event.save() messages.success(request, f"New event created: {form.cleaned_data.get('name')}") event_name = form.cleaned_data.get('name') event = get_object_or_404(Event, name=event_name) new_slug = event_name.lower() new_slug = re.sub(r'[\s]', '-', new_slug) # Replace all spaces with dash. new_slug = re.sub(r'[^\w|-]', '', new_slug) # Remove all non alphabetic characters except dash. newsletter = Newsletter(title=event_name, slug=new_slug, email="*****@*****.**", sender="Eventify") newsletter.save() return redirect(event) form = EventForm() context = { 'form': form } return render(request, "main/create_event.html", context)
class SubscribeTestCase(WebTestCase, MailTestCase): def setUp(self): self.n = Newsletter(title='Test newsletter', slug='test-newsletter', sender='Test Sender', email='*****@*****.**') self.n.save() try: self.n.site.set(get_default_sites()) except AttributeError: # Django < 1.10 self.n.site = get_default_sites() self.subscribe_url = \ reverse('newsletter_subscribe_request', kwargs={'newsletter_slug': self.n.slug}) self.subscribe_confirm_url = \ reverse('newsletter_subscribe_confirm', kwargs={'newsletter_slug': self.n.slug}) self.subscribe_email_sent_url = \ reverse('newsletter_activation_email_sent', kwargs={'newsletter_slug': self.n.slug, 'action': 'subscribe'}) self.subscribe_activated_url = \ reverse('newsletter_action_activated', kwargs={'newsletter_slug': self.n.slug, 'action': 'subscribe'}) self.update_url = \ reverse('newsletter_update_request', kwargs={'newsletter_slug': self.n.slug}) self.update_email_sent_url = \ reverse('newsletter_activation_email_sent', kwargs={'newsletter_slug': self.n.slug, 'action': 'update'}) self.update_activated_url = \ reverse('newsletter_action_activated', kwargs={'newsletter_slug': self.n.slug, 'action': 'update'}) self.unsubscribe_url = \ reverse('newsletter_unsubscribe_request', kwargs={'newsletter_slug': self.n.slug}) self.unsubscribe_confirm_url = \ reverse('newsletter_unsubscribe_confirm', kwargs={'newsletter_slug': self.n.slug}) self.unsubscribe_email_sent_url = \ reverse('newsletter_activation_email_sent', kwargs={'newsletter_slug': self.n.slug, 'action': 'unsubscribe'}) self.unsubscribe_activated_url = \ reverse('newsletter_action_activated', kwargs={'newsletter_slug': self.n.slug, 'action': 'unsubscribe'}) super(SubscribeTestCase, self).setUp() def test_urls(self): # TODO: is performing this test in each subclass # of WebSubscribeTestCase really needed? self.assertTrue(self.subscribe_url) self.assertTrue(self.update_url) self.assertTrue(self.unsubscribe_url) self.assertTrue(self.subscribe_confirm_url) self.assertTrue(self.unsubscribe_confirm_url) self.assertTrue(self.subscribe_email_sent_url) self.assertTrue(self.update_email_sent_url) self.assertTrue(self.unsubscribe_email_sent_url) self.assertTrue(self.subscribe_activated_url) self.assertTrue(self.update_activated_url) self.assertTrue(self.unsubscribe_activated_url)
def test_slug_based_on_name(self): newsletter = Newsletter(name="MaxFax 2015-1") newsletter.save() self.assertEqual(newsletter.slug, slugify("MaxFax 2015-1"))