예제 #1
0
def home(request):
    featured_projects = Project.objects.order_by('position').filter(is_published=True, featured=True)[:6]
    categories = Category.objects.all()
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            try:
                form.send()
                if request.is_ajax():
                    messages = {}
                    messages['contact_form_valid'] = 'true'
                    messages['message'] = 'Your message was sent.'
                    return HttpResponse(json.dumps(messages), content_type='application/json')
            except BadHeaderError:
                return HttpResponse('Invalid header found')
            return HttpResponseRedirect('/')
        else:
            errors_dict = {}
            errors_json = {}
            errors_json['contact_form_valid'] = 'failed'
            if form.errors:
                for error in form.errors.iteritems():
                    errors_dict.update({error[0]: error[1]})
                    errors_json.update({"errors": errors_dict})

            return HttpResponse(json.dumps(errors_json), content_type='application/json')
    else:
        form = ContactForm()

    return render(request, "homepage.html", {
        "featured_projects": featured_projects,
        "categories": categories,
        "form": form
    })
예제 #2
0
def contact(request):
    if request.method == 'GET':
        form = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            subject = "Message from contact form shaneleblanc.net"
            message = """New message received from %s:
            %s
            """ % (form.cleaned_data['email'], form.cleaned_data['message'])
            try:
                email = EmailMessage(subject,
                                     message,
                                     "*****@*****.**",
                                     to=["*****@*****.**"])
                email.send()
            except BadHeaderError:
                return render(request, "contact.html", {
                    "submitted": True,
                    "send_error": True,
                    "links": nav_links
                })
            return render(request, "contact.html", {
                "submitted": True,
                "send_error": False,
                "links": nav_links
            })
    context = {"form": form, "page": "contact", "links": nav_links}
    return render(request, "contact.html", context)
def home(request):

    if request.method == 'POST':
        form = ContactForm(request.POST)

        if form.is_valid():

            contact_name = request.POST.get('name', '')
            contact_email = request.POST.get('email', '')
            form_content = request.POST.get('description', '')
            # Email the profile with the
            # contact information
            template = get_template('contact_template.txt')
            context = Context({
                'contact_name': contact_name,
                'contact_email': contact_email,
                'form_content': form_content,
            })

            content = template.render(context)

            email = EmailMessage(
                "New contact form submission",
                content,
                "Your website" +'',
                ['*****@*****.**'],
                headers = {'Reply-To': contact_email }
            )
            email.send()
            return redirect('home')
    else:
        form = ContactForm()

    context = RequestContext(request, {'form': form, })
    return render_to_response('home.html', context_instance=context)
예제 #4
0
def index():
    form = ContactForm()
    if form.validate_on_submit():
        if request.method == 'POST':
            send_contact_email(form)
            flash(f'Your message has been sent!', 'success')
            return redirect(url_for('index'))
    return render_template('home.html', form=form)
예제 #5
0
 def post(self, request):
     form = ContactForm(request.POST)
     if form.is_valid():
         Contact.objects.create(email=form.cleaned_data.get('email'),
                                message=form.cleaned_data.get('message'))
         data = {'msg': 'Message Sent Successfully.'}
         return JsonResponse(data)
     else:
         print(form.errors)
예제 #6
0
파일: views.py 프로젝트: elvabien/portfolio
def contact(request):
    if len(request.POST) > 0:
        form = ContactForm(request.POST)
        if form.is_valid():
            return redirect('/contact')
        else:
            return render(request, 'contact.html', {'form': form})
    else:
        form = ContactForm()
        return render(request, 'contact.html', {'form': form})
예제 #7
0
def home(request):

    if request.method == 'POST':
        form = ContactForm(request.POST)

        if form.is_valid():
            ''' Begin reCAPTCHA validation '''
            recaptcha_response = request.POST.get('g-recaptcha-response')
            url = 'https://www.google.com/recaptcha/api/siteverify'
            values = {
                'secret': settings.GOOGLE_RECAPTCHA_SECRET_KEY,
                'response': recaptcha_response
            }
            data = urllib.parse.urlencode(values)
            binary_data = data.encode('utf-8')
            req = urllib.request.Request(url, binary_data)
            response = urllib.request.urlopen(req)
            result = json.load(response)
            ''' End reCAPTCHA validation '''

            if result['success']:

                contact_name = request.POST.get('name', '')
                contact_email = request.POST.get('email', '')
                form_content = request.POST.get('description', '')
                # Email the profile with the
                # contact information
                template = get_template('contact_template.txt')
                context = Context({
                    'contact_name': contact_name,
                    'contact_email': contact_email,
                    'form_content': form_content,
                })

                content = template.render(context)

                email = EmailMessage("New contact form submission",
                                     content,
                                     "Your website" + '',
                                     ['*****@*****.**'],
                                     headers={'Reply-To': contact_email})
                email.send()
                return redirect('home')
            else:
                messages.error(request, 'Invalid reCAPTCHA. Please try again.')

    else:
        form = ContactForm()

    context = RequestContext(request, {
        'form': form,
    })
    return render_to_response('home.html', context_instance=context)
예제 #8
0
def contact(request):

    cxt = {}
    if request.POST:
        form = ContactForm(data=request.POST)
        if form.is_valid():
            return HttpResponseRedirect(reverse('contact_thanks'))
    else:
        form = ContactForm()

    cxt['form'] = form
    return render(request, 'contact_page.html', cxt)
예제 #9
0
def message(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            now = datetime.datetime.now()
            data = details.objects.create(subject=cd['subject'], email=cd['email'], message=cd['message'], name=cd['name'], date=now)  
            return HttpResponseRedirect('/message/thanks/')
    else:
        form = ContactForm()
    messages = details.objects.order_by("-date")
    return render(request, 'message.html', { 'messages': messages, 'form': form })
예제 #10
0
파일: views.py 프로젝트: xefiji/djangiji
def contact(request):
    if request.method=="POST":
        contact_form=ContactForm(request.POST)
        if contact_form.is_valid():
            sujet = contact_form.cleaned_data['sujet']
            message = contact_form.cleaned_data['message']
            email = contact_form.cleaned_data['email']
            renvoi = contact_form.cleaned_data['renvoi']

    else:
        contact_form=ContactForm()

    return render(request,'portfolio/contact.html',locals())
예제 #11
0
파일: views.py 프로젝트: manuo1/portfolio
def homepage(request):
    if request.method == 'POST':
        contact_form = ContactForm(request.POST)
        if contact_form.is_valid():
            """Get form data"""
            name = contact_form.cleaned_data['name']
            email = contact_form.cleaned_data['email']
            subject = contact_form.cleaned_data['subject']
            message = contact_form.cleaned_data['message']
            """ formated date and time """
            raw_now = datetime.now()
            now = f'{raw_now:%d/%m/%Y %H:%M}'
            """ builds the principal message """
            msg_for_me_content = MSG_FOR_ME_CONTENT.format(
                now, name, email, subject, message)
            """ sends principal message """
            try:
                send_mail(MSG_FOR_ME_SUBJECT, msg_for_me_content,
                          DEFAULT_FROM_EMAIL, [MY_MAIL])
                messages.success(request,
                                 "Votre message a été envoyé à Emmanuel")
            except SMTPException as smtp_error:
                messages.error(
                    request,
                    "Un problème est survenu\n({})".format(smtp_error))
            except BadHeaderError:
                messages.error(request, "En-tête non valide")
            """ builds sender's summary message """
            summary_message = SENDER_SUMMARY_MESSAGE.format(
                CV_LINK, PHONE_NUMBER, now, subject, message)
            """ sends summary message """
            try:
                send_mail(SENDER_SUMMARY_SUBJECT, summary_message,
                          DEFAULT_FROM_EMAIL, [email])
                messages.success(
                    request,
                    "Un message de confirmation a été envoyé a {}".format(
                        email))
            except SMTPException as smtp_error:
                messages.error(
                    request,
                    "Un problème est survenu\n({})".format(smtp_error))
            except BadHeaderError:
                messages.error(request, "En-tête non valide")

    context = {
        'contact_form': ContactForm(),
    }

    return render(request, 'homepage.html', context)
예제 #12
0
def send_message(request):
    ''' Wysyla wiadomosc do wlasciciela portfolio. '''
    if request.method == 'POST':
        portfolio_id = request.POST.get('portfolio')
        try:
            portfolio = Portfolio.objects.select_related('user').get(pk=portfolio_id)
        except Portfolio.DoesNotExist:
            messages.error(request, u'Portfolio nie istnieje.')
        else:
            form = ContactForm(request.POST)
            if form.is_valid():
                subject = form.cleaned_data['subject']
                body = form.cleaned_data['body']
                msg = EmailMultiAlternatives(subject, body, settings.DEFAULT_FROM_EMAIL, [portfolio.user.email])
                msg.send(fail_silently=True)
                messages.info(request, u'Wysłano wiadomość.')
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('portfolio_index')))
예제 #13
0
def index(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            validation = request.POST['validation'].strip().lower()
            if validation == 'nesset' or validation == 'heidi nesset' or validation == 'heidi' or validation == 'heidinesset':
                message = u'Ämne: ' + request.POST['subject'] + "\n" \
                    u'Avsändare: ' + request.POST['sender'] + "\n\n" \
                    'Meddelande:' + "\n" + request.POST['message']

                send_mail(u'Kontaktförfrågan från heidinesset.com', message, '*****@*****.**',
                    ['*****@*****.**'], fail_silently=False)


    try:
        contact_block = Block.objects.get(block_id='contact')
    except:
        contact_block = None

    try:
        about_block = Block.objects.get(block_id='about')
    except:
        about_block = None

    try:
        footer_block = Block.objects.get(block_id='footer')
    except:
        footer_block = None

    artworks = Artwork.objects.all().order_by('-sort_order')
    contact_form = ContactForm()
    tags = Tag.objects.all()
    context = {
        'contact_block': contact_block,
        'contact_form': contact_form,
        'footer_block': footer_block,
        'about_block': about_block,
        'artwork_list': artworks,
        'tag_list': tags
    }
    return render(request, 'index.html', context)
예제 #14
0
def contact():
    name = "Taras"
    category = "General"
    email = "*****@*****.**"
    message = "Hello form!"
    form = ContactForm()

    if form.validate_on_submit():
        app.logger.info(
            f"Contact Form - Category ({type(form.category.value)}: {form.category.value}"
        )
        name, category, email, message = form.name.data, form.category.data, form.email.data, form.message.data
        form.name.data, form.category.data, form.email.data, form.message.data = "", "", "", ""
        # return flask.url_for(".index")

    return flask.render_template("contact.html",
                                 form=form,
                                 name=name,
                                 category=category,
                                 email=email,
                                 message=message)
예제 #15
0
def view_index(request):

    try:
        aboutme = Article.objects.get(pk=1)
    except:
        aboutme = None

    tags = Tag.objects.all()

    sent_mail = False

    #Contact form
    if request.method == 'GET':
        form = ContactForm()
    else:
        form = ContactForm(request.POST)
        if form.is_valid():
            from_email = form.cleaned_data['email']
            name = form.cleaned_data['name']
            subject = form.cleaned_data['subject']
            message = form.cleaned_data['message']

            try:
                send_mail(subject, message + " from " + name, from_email,
                          ['*****@*****.**'])
            except BadHeaderError:
                pass
            else:
                sent_mail = True
            #	return HttpResponse('Invalid header found.')
            #return redirect('thanks')

    context = {
        'aboutme': aboutme,
        'tags': tags,
        'form': form,
        'sent_mail': sent_mail,
    }

    return render(request, 'portfolio/view_index.html', context)
예제 #16
0
def contact(request):
    form = ContactForm(request.POST or None)
    success = None
    if request.method == "POST":
        if form.is_valid():
            text_content = u"Email: " + form.cleaned_data[
                'email'] + u". Wiadomość: " + form.cleaned_data['message']
            html_content = u"<b>Email:</b> " + form.cleaned_data[
                'email'] + u"<br /> <b>Wiadomość:</b> " + form.cleaned_data[
                    'message']
            msg = EmailMultiAlternatives(
                u'Kontakt przez portfolio od: ' +
                unicode(form.cleaned_data['name']), text_content,
                form.cleaned_data['email'], ['*****@*****.**'])
            msg.attach_alternative(html_content, "text/html")
            msg.send()
            form = ContactForm()
            success = "Wiadomość została wysłana."
    return TemplateResponse(request, 'portfolio/contact.html', {
        'form': form,
        'success': success
    })
예제 #17
0
def index(request):
    name=''
    email=''
    comment=''


    form= ContactForm(request.POST or None)
    if form.is_valid():
        name= form.cleaned_data.get("name")
        email= form.cleaned_data.get("email")
        message=form.cleaned_data.get("message")

        subject= "A Visitor's Message"


        comment= name + " with the email, " + email + ", sent the following message:\n\n" + message;
        send_mail(subject, comment, '*****@*****.**', [email])

        return thanks(request)

    else:
        return render(request, "portfolio/index.html",{"form":form})
예제 #18
0
    def post(self, request, *args, **kwargs):
        form = ContactForm(request.POST)
        if form.is_valid():

            receiver_email = MAIL['EMAIL']
            sender_email = form.cleaned_data['email']
            sender_name = form.cleaned_data['name']
            subject = form.cleaned_data['subject']
            content = form.cleaned_data['content']
            timestamp = datetime.datetime.strftime(datetime.datetime.now(),
                                                   format='%Y-%m-%d %H:%M:%S')

            body = f'Neue Mail via Kontaktformular.' \
                   f'\nAbsender: {sender_name}.' \
                   f'\nE-Mail: {sender_email}' \
                   f'\nTimestamp: {timestamp}' \
                   f'\n\n--------------------\n\n' \
                   f'{content}'

            Mail.send(receiver_email=receiver_email,
                      subject=subject,
                      body=body)

            return HttpResponseRedirect('#')
예제 #19
0
def home(request):

    posts = Post.objects.filter(status=1).order_by('-created_on')[:3]
    works = Work.objects.filter(status=1).order_by('-created_on')[:3]

    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = ContactForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            form.save()
            # redirect to a new URL:
            return HttpResponseRedirect(reverse('thanks', ))

    # if a GET (or any other method) we'll create a blank form
    else:
        form = ContactForm()

    return render(request, 'index.html', {
        'form': form,
        'posts': posts,
        'works': works
    })
예제 #20
0
 def get(self, request, *args, **kwargs):
     form = ContactForm()
     return render(request, self.template_name, {'form': form})
예제 #21
0
파일: portfolio_tags.py 프로젝트: seler/cvm
def portfolio_contact_form(portfolio):
    return {'form': ContactForm(initial={'portfolio': portfolio.id})}