Beispiel #1
0
def contact(request):
    if request.method == 'POST':
        form = forms.ContactForm(request.POST)
        if form.is_valid():
            form.send_mail()
            return HttpResponseRedirect('/')
    else:
        form = forms.ContactForm()
    return render(request, 'contact.html', {'form': form})
Beispiel #2
0
    def test_invalid_contact_us_form(self):
        form = forms.ContactForm({
            'message':
            "Leia is a helluva cutie, ain't she?",
        })

        self.assertFalse(form.is_valid())
    def test_valid_contact_form_sends_email(self):
        form = forms.ContactForm({
            'name': "Innocent Zenda",
            'email': '*****@*****.**',
            'message': 'Hi there',
        })

        self.assertTrue(form.is_valid())
Beispiel #4
0
 def test_valid_contact_us_form_sends_email(self):
     form = forms.ContactForm({'name': "Luke Skywalker", 'message': "Hi there"})
     self.assertTrue(form.is_valid())
     with self.assertLogs('main.forms', level='INFO') as cm:
         form.send_mail()
     self.assertEqual(len(mail.outbox), 1)
     self.assertEqual(mail.outbox[0].subject, 'Site message')
     self.assertGreaterEqual(len(cm.output), 1)
Beispiel #5
0
    def test_invalid_contact_us_form(self):
        form = forms.ContactForm(
            {
                'message': "Hi there"
            }
        )

        self.assertFalse(form.is_valid())
Beispiel #6
0
    def test_valid_contact_us_form_send_emails(self):

        form = forms.ContactForm({'name': "pd", 'message': "I love you pakhi"})
        self.assertTrue(form.is_valid())
        with self.assertLogs('main.forms', level="INFO") as cm:
            form.send_mail()
            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(mail.outbox[0].subject, "Site message")
            self.assertGreaterEqual(len(cm.output), 1)
Beispiel #7
0
    def test_valid_contact_customer_service(self):
        form = forms.ContactForm({'name': 'Me Myself', 'message': 'how a ya'})
        self.assertTrue(form.is_valid())

        with self.assertLogs('main.forms', level='INFO') as sm:
            form.contact_customer_service()
            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(mail.outbox[0].subject, 'Customer service')
            self.assertGreaterEqual(len(sm.output), 1)
Beispiel #8
0
 def test_valid_contact_us_form_sends_email(self):
     """форма контактов"""
     form = forms.ContactForm({'name': "Дмитрий П", 'message': "Привет"})
     self.assertTrue(form.is_valid())
     with self.assertLogs('main.forms', level='INFO') as cm:
         form.send_mail()
     self.assertEqual(len(mail.outbox), 1)
     self.assertEqual(mail.outbox[0].subject, 'Сообщение с сайта')
     self.assertGreaterEqual(len(cm.output), 1)
Beispiel #9
0
    def test_valid_contact_us_form_sends_email(self):
        form = forms.ContactForm({
            'name': 'Frank Chuka',
            'message': 'Hello team'
        })
        self.assertTrue(form.is_valid())
        with self.assertLogs('main.forms', level='INFO') as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, 'Site Message')
 def test_valid_contact_us_form_sends_email(self):
     form = forms.ContactForm({
         'name': "Test Testname",
         "message": "Hi Test Data"
     })
     self.assertTrue(form.is_valid())
     with self.assertLogs('main.forms', level='INFO') as cm:
         form.send_mail()
     self.assertEqual(len(mail.outbox), 1)
     self.assertEqual(mail.outbox[0].subject, "Site message")
     self.assertGreaterEqual(len(cm.output), 1)
 def test_valid_contact_us_form_sends_email(self):
     form = forms.ContactForm({
         "name": "Sumit Singh",
         "message": "Hi there"
     })
     self.assertTrue(form.is_valid())
     with self.assertLogs("main.forms", level="INFO") as cm:
         form.send_mail()
     self.assertEqual(len(mail.outbox), 1)
     self.assertEqual(mail.outbox[0].subject, "Site message")
     self.assertGreaterEqual(len(cm.output), 1)
Beispiel #12
0
    def test_valid_contact_form_sends_email(self):
        form = forms.ContactForm({
            'name': 'Uttam Deep',
            'message': 'Hello There!'
        })
        self.assertTrue(form.is_valid())

        with self.assertLogs('main.forms', level='INFO') as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, 'Site message')
        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #13
0
    def test_valid_contact_us_send_email(self):
        form = forms.ContactForm({
            'name': ' Kevin Herney',
            'message': 'Hi there'
        })

        self.assertTrue(form.is_valid())

        with self.assertLogs('main.forms', level='INFO') as cm:
            form.send_mail()
        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, 'Mensaje desde Web')
        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #14
0
    def test_valid_contact_us_form_sends_email(self):
        form = forms.ContactForm({
            'name': 'Like Skywalker',
            'message': 'Hi there'
        })
        self.assertTrue(form.is_valid())
        with self.assertLogs('main.forms', level="INFO") as cm:
            form.sentmail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, "Site message")

        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #15
0
    def test_valid_contact_us_form_sends_email(self):
        form = forms.ContactForm({
            'nombre': "Luke Skywalker",
            'mensaje': "Hi there",
            'email': '*****@*****.**'
        })

        self.assertTrue(form.is_valid())
        with self.assertLogs('main.forms', level='INFO') as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, 'Mensaje del Sitio')
        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #16
0
    def test_valid_contact_us_form_sends_email(self):
        name = "Muhammad Teguh"
        form = forms.ContactForm({
            "name": name,
            "email": "*****@*****.**",
            "message": "Hi, there"
        })
        self.assertTrue(form.is_valid())

        with self.assertLogs("main.forms", level="INFO") as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, f"ctc - message from {name}")
        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #17
0
    def test_valid_contact_us_from_sends_email(self):
        form = forms.ContactForm(data={
            "name": "Daniel",
            "message": self.TEST_MESSAGE
        })

        self.assertTrue(form.is_valid())

        with self.assertLogs("main.forms", level="INFO") as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, self.TEST_SUBJECT)

        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #18
0
    def test_valid_contact_us_form_sends_email(self):
        form = forms.ContactForm({
            'name': "Luke Skywalker",
            'message': "May the FORCE be with you."
        })

        self.assertTrue(form.is_valid())

        with self.assertLogs(logging.getLogger('main.forms'),
                             level="INFO") as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEquals(mail.outbox[0].subject, 'Site message')

        self.assertGreaterEqual(len(cm.output), 1)
Beispiel #19
0
    def test_contact_us_send_email_form(self):
        form = forms.ContactForm({
            'name': 'Diego',
            'message': 'Hola',
            'subject': 'asunto',
            'email': '*****@*****.**',
            'gender': 'M'
        })
        self.assertTrue(form.is_valid())

        with self.assertLogs('main.forms', level='INFO') as cm:
            form.send_mail()

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(mail.outbox[0].subject, 'Site Message')
        self.assertGreaterEqual(len(cm.output), 1)

        def test_invalid_contact_us_form(self):
            form = forms.ContactForm({'message': "Hi there"})
            self.assertFalse(form.is_valid())
Beispiel #20
0
    def test_invalid_contact_form(self):
        form = forms.ContactForm({"message": self.TEST_MESSAGE})

        self.assertFalse(form.is_valid())
Beispiel #21
0
 def test_invalid_contact_customer_service(self):
     form = forms.ContactForm({'name': 'Me Myself and Irene'})
     self.assertFalse(form.is_valid())
Beispiel #22
0
    def test_invalid_contact_form(self):
        form = forms.ContactForm({
            'name': 'TEst User',
        })

        self.assertFalse(form.is_valid())
Beispiel #23
0
class ContactUsView(FormView):
    template_engine = "contact_form.html"
    form_class = forms.ContactForm()
    success_url = '/'
Beispiel #24
0
def ChargeBooking(request):

	#Define Cabin Search Form. Used when redirecting
	cabin_search_form = forms.CabinSearch(request.POST)
	if 'cabin_search_form_data' in request.session and not cabin_search_form.is_valid():
		cabin_search_form = forms.CabinSearch(request.session['cabin_search_form_data'])

	#Check if cabin_search_form is valid
	if not cabin_search_form.is_valid():
		request.session = add_alert(request, 'En feil har oppstått. Betalingen er ikke gjennomført. Vennligst prøv igjen.', type='danger', starter='OBS!')
		return redirect('booking')

	#Update cabin_search_form_data session
	request.session['cabin_search_form_data'] = cabin_search_form.cleaned_data

	#Check that request method is POST
	if not request.method == 'POST':
		request.session = add_alert(request, 'En feil har oppstått. Betalingen er ikke gjennomført. Vennligst prøv igjen.', type='danger', starter='OBS!')
		return redirect('show_cabins')

	#Retrieve charge form
	charge_form = forms.ChargeForm(request.POST)
	if not charge_form.is_valid():
		request.session = add_alert(request, 'Klarer ikke fullføre betaling. Vennligst prøv igjen.', type='danger', starter='OBS!')
		return redirect('booking_overview')

	#Retrieve charge data from charge form
	charge_data = charge_form.cleaned_data

	price = charge_data['total_price']
	phone = charge_data['phone']
	t_booking_id = charge_data['t_booking_id']

	#Find t_booking
	t_booking = TentativeBooking.objects.filter(id=t_booking_id).first()	#TODO: We might not find this booking!
	
	if t_booking == None:
		request.session = add_alert(request, "Klarer ikke finne bestilling. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('show_cabins')

	if not t_booking.is_active():
		#Try to re activate t_booking and redirect to booking overview
		t_booking_id = t_booking.create_active_copy()
		if t_booking_id == False:
			#Redirect with alert (Booking no longer valid)
			request.session = add_alert(request, "Sesjon ikke oppdatert. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
			return redirect('show_cabins')

		t_booking = TentativeBooking.objects.filter(id=t_booking_id).first()

	if not t_booking.is_valid():
		request.session = add_alert(request, "Bestilling ikke lengre gyldig. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('show_cabins')

	#Update session variable
	request.session['t_booking_id'] = t_booking_id

	#Serialized booking from charge_form field
	charge_t_booking_serialized = ast.literal_eval(charge_data['t_booking_JSON'])
	
	#Serialized booking from db
	t_booking_serialized = serializers.TentativeBookingSerializer(t_booking).data

	#Check that t_booking matches charge-t_booking
	if not charge_t_booking_serialized == t_booking_serialized:
		#Fields do not match, redirect to booking overview with updated booking
		request.session = add_alert(request, "Sesjon ikke oppdatert. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('booking_overview')

	#Check that booking dates are valid
	if not t_booking.dates_are_valid():
		request.session = add_alert(request, "Bestilling ikke lengre gyldig. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('booking')

	#Check that price displayed matches t_booking price
	if not charge_data['total_price'] == t_booking.get_price():
		request.session = add_alert(request, "Pris stemmer ikke med sesjon. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('booking_overview')

	#Load token data
	token = charge_data['token']
	token_data = json.loads(token)

	#Retrieve contact data
	contact_data = {
		'name': token_data['card']['name'],
		'email': token_data['email'],
		'phone': phone,
		'country': token_data['card']['address_country'],
		'late_arrival': charge_data['late_arrival']
	}

	#Declare contact data 
	contact_form = forms.ContactForm(contact_data)

	#Check that contact data is valid
	if not contact_form.is_valid():
		request.session = add_alert(request, "Kontaktinformasjon ugyldig. Betaling ikke fullført. Vennligst prøv igjen.", type='danger', starter='OBS!')
		return redirect('booking_overview')

	#Create contact object
	contact = Contact.objects.create(
		name=contact_form.cleaned_data['name'],
		email=contact_form.cleaned_data['email'],
		phone=contact_form.cleaned_data['phone'],
		country=contact_form.cleaned_data['country'],
	)

	#Retrieve key used for making payment
	stripe.api_key = settings.STRIPE_TEST_SECRET_KEY

	#if unable to create charge, HTTP error will be raised by stripe.
	charge = stripe.Charge.create(
		amount = t_booking.get_price(),
		currency = 'nok',
		description = 'Hytte booking',
		source = token_data['id'],
		#metadata = {'booking_id': booking_id},
	)

	#Create booking
	booking_result = Booking.create_booking_from_tentative(t_booking, contact, charge.id)
	if booking_result == False:
		#Fatal error, booking payed for, but not reserved!
		#TODO: Try giving refund here?
		return HttpResponse("Fatal error. Booking payed for but not reserved")

	booking = Booking.objects.get(id=booking_result)

	#Add payed on booking
	booking.payed = True
	
	#Add late_arrival on booking
	booking.late_arrival = contact_form.cleaned_data['late_arrival']
	booking.save()

	#Send confirmation mail 
	cabins = booking.cabins.all()
	titles = []
	for cabin in cabins:
		titles.append(cabin.title)

	data = {
		'from_date': booking.from_date.strftime('%d.%m.%Y'),
		'to_date': booking.to_date.strftime('%d.%m.%Y'),
		'cabin_titles': titles,
		'host': request.get_host() ,
	}

	checkmark_url = request.build_absolute_uri() 

	msg_plain = render_to_string('email/confirmation.txt', data)
	msg_html = render_to_string('email/confirmation.html', data)

	send_mail(
		'Strandbu Camping - Bekreftelse',
		msg_plain,
		'*****@*****.**',
		['*****@*****.**'],
		html_message=msg_html,
	)

	return redirect('booking_confirmation')
Beispiel #25
0
    def test_invalid_contact_us_form(self):
        form = forms.ContactForm({"message": "Hi Boi~"})

        self.assertFalse(form.is_valid())
Beispiel #26
0
    def test_invalid_contact_us_form(self):
        form = forms.ContactForm({'name': 'John'})

        self.assertFalse(form.is_valid())