Exemple #1
0
def newsletter_add(request):
    if request.method == "POST":
        adr = request.POST["email"]
        e = None
        if len(adr) > 6:
            form = NewsletterForm(data=request.POST)
            if form.is_valid():
                try:
                    e = NewsletterEmails.objects.get(email=adr)
                    message = _(u"Email already added.")
                    type = "error"
                except NewsletterEmails.DoesNotExist:
                    try:
                        e = NewsletterEmails(email=adr)
                    except DoesNotExist:
                        pass
                    message = _(u"Email added.")
                    type = "success"
                    e.save()
            else:
                message = _(u"Bad address.")
                type = "error"
        else:
            message = _(u"Too short address.")
            type = "error"

    if request.is_ajax():
        result = simplejson.dumps({"message": message, "type": type}, cls=LazyEncoder)
        return HttpResponse(result, mimetype="application/javascript")
Exemple #2
0
def newsletter_add(request):
    if request.method == "POST":
        adr = request.POST['email']
        e = None
        if len(adr) > 6:
            form = NewsletterForm(data=request.POST)
            if form.is_valid():
                try:
                    e = NewsletterEmails.objects.get(email=adr)
                    message = _(u"Email already added.")
                    type = "error"
                except NewsletterEmails.DoesNotExist:
                    try:
                        e = NewsletterEmails(email=adr)
                    except DoesNotExist:
                        pass
                    message = _(u"Email added.")
                    type = "success"
                    e.save()
            else:
                message = _(u"Bad address.")
                type = "error"
        else:
            message = _(u"Too short address.")
            type = "error"

    if request.is_ajax():
        result = simplejson.dumps({
            "message": message,
            "type": type,
        },
                                  cls=LazyEncoder)
        return HttpResponse(result, mimetype='application/javascript')
Exemple #3
0
def subscribe_request(request):
    """ Adds a new subscription to mailchimp list. """
    if request.POST:
        mail_chimp = mailchimp.Mailchimp(
            settings.SECRETS['mailchimp_api_key']
        )
        form = NewsletterForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            subscription = Subscription(email=email)
            subscription.save()
            try:
                mail_chimp.lists.subscribe(
                    settings.SECRETS['mailchimp_list_id'],
                    {'email': email},
                    double_optin=False,
                    send_welcome=True
                )
            except mailchimp.ListAlreadySubscribedError:
                return {
                    'success': False, 'error': 'Email is already subscribed'
                }
            return {'success': True}
        else:
            return {
                'success': False,
                'error': form.errors.get('email')
            }
    return {'success': False, 'error': 'Request not valid'}
Exemple #4
0
 def post(self, request, *args, **kwargs):
     """ Create the newsletter entry.
     Note that if there a duplicate entry, form.is_valid will return False
     so there's no need to catch an IntegrityError here.
     """
     form = NewsletterForm(request.POST)
     if form.is_valid():
         form.save()
     return super(NewsletterView, self).get(request, *args, **kwargs)
Exemple #5
0
 def post(self, request, *args, **kwargs):
     """ Create the newsletter entry.
     Note that if there a duplicate entry, form.is_valid will return False
     so there's no need to catch an IntegrityError here.
     """
     form = NewsletterForm(request.POST)
     if form.is_valid():
         form.save()
     return super(NewsletterView, self).get(request, *args, **kwargs)
Exemple #6
0
def newsletter(request):
    latest_news = NewsItem.objects.all()[0]
    if request.method == 'POST':
        #Attempting to register
        form = NewsletterForm(request.POST)
        if form.is_valid():
            signup = Newsletter(name = form.cleaned_data['name'],
                                email = form.cleaned_data['email'])
            signup.save()
            return redirect('/newsletter/signup-successful/')
    else:
        form = NewsletterForm()
    
    return render_to_response('newsletter.html',
                              {'form': form,
                               'latest_news': latest_news},
                              context_instance=RequestContext(request))