Compare commits
61 Commits
v2_test
...
8a175ee357
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a175ee357 | |||
| 5f403710d1 | |||
| 6626840fa9 | |||
| 529fb3fc5d | |||
| d1c3e68d6d | |||
| d816733b0d | |||
| 168ae345d6 | |||
| d071458032 | |||
| cae627f0b0 | |||
| 7102af7d2d | |||
| 5ff75a4a80 | |||
| 495cc43246 | |||
| 80deab3c42 | |||
| 360493e564 | |||
| 6030998018 | |||
| faac300903 | |||
| abaff023cd | |||
| a6d7a8c8e0 | |||
| 4dbe424f84 | |||
| 2f94bf20be | |||
| 7488a9f8c8 | |||
| ee1107c976 | |||
| b759ce2d5a | |||
| b4c8ffe95d | |||
| 84c88ba406 | |||
| 86e6a2acc1 | |||
| b2f7612452 | |||
| 432409b3d8 | |||
| 09769542f9 | |||
| fca75a30aa | |||
| a90d7c06a9 | |||
| 6e342ca021 | |||
| 4ce12a5428 | |||
| d89619fe61 | |||
| b0387362b5 | |||
| c284c1a784 | |||
| a7dd676a76 | |||
| dd4134f2d7 | |||
| c1398284c7 | |||
| a9b4fd95c3 | |||
| 0fe7aa189c | |||
| 9133bfd8fa | |||
| aa1657bd10 | |||
| 10411dd714 | |||
| 4be3686d2b | |||
| 70e1fa2a10 | |||
| 3a14430cd5 | |||
| 73621de710 | |||
| 5cbae093e9 | |||
| fdaa18c0e6 | |||
| ff6ee93497 | |||
| d62261066f | |||
| 2a852cbb51 | |||
| f561c32526 | |||
| cd36747b5c | |||
| d020bdf9d0 | |||
| cd323ab66c | |||
| 0ac236d2ff | |||
| 769a42ec8b | |||
| 60ff29b23f | |||
| 15ff3d37fc |
@@ -203,6 +203,8 @@ def mailing_subscribe_ajax(request):
|
||||
|
||||
|
||||
def send_message_ajax(request):
|
||||
print('send_message_ajax')
|
||||
|
||||
if request.method != 'POST':
|
||||
raise Http404
|
||||
|
||||
@@ -311,10 +313,18 @@ def send_message_ajax(request):
|
||||
f'</p>'
|
||||
}
|
||||
|
||||
print('render html for mail')
|
||||
|
||||
html = render_to_string('mail/m_request_offer.html', Dict, request)
|
||||
from BaseModels.mailSender import admin_send_mail_by_SMTPlib
|
||||
mail_sets = get_mail_send_options()
|
||||
to = [mail_sets['sender_email']]
|
||||
opts = get_options_by_opt_types('support_email', only_vals=True)
|
||||
print(f'options: {str(opts)}')
|
||||
if opts and 'support_email' in opts:
|
||||
to = [opts['support_email']]
|
||||
else:
|
||||
to = [mail_sets['sender_email']]
|
||||
print(f'to: {str(to)}')
|
||||
res = admin_send_mail_by_SMTPlib(
|
||||
mail_sets,
|
||||
subject=subject,
|
||||
|
||||
@@ -105,6 +105,7 @@ def admin_send_mail_by_SMTPlib(sets, subject, from_email, to, html_content, atta
|
||||
|
||||
def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_server, smtp_port, smtp_login, smtp_password,
|
||||
attachments=None):
|
||||
print('send_mail_by_SMTPlib')
|
||||
to = to_init
|
||||
# if not settings.prod_server:
|
||||
# to = 'web@syncsystems.net'
|
||||
@@ -123,7 +124,11 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
||||
try:
|
||||
# context = ssl.create_default_context()
|
||||
|
||||
mail_lib = smtplib.SMTP(smtp_server, smtp_port)
|
||||
print(f'connect to mail server smtp_server={str(smtp_server)} smtp_port={str(smtp_port)}')
|
||||
|
||||
mail_lib = smtplib.SMTP(smtp_server, smtp_port, timeout=60)
|
||||
|
||||
print('connection established')
|
||||
|
||||
res = mail_lib.ehlo()
|
||||
|
||||
@@ -139,14 +144,18 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
||||
res = mail_lib.esmtp_features['auth'] = 'LOGIN PLAIN'
|
||||
# print('mail_lib.esmtp_features = {0}'.format(str(res)))
|
||||
|
||||
print('try to login')
|
||||
|
||||
res = mail_lib.login(smtp_login, smtp_password)
|
||||
# print('mail_lib.login = {0}'.format(str(res)))
|
||||
|
||||
print('login')
|
||||
|
||||
res = None
|
||||
|
||||
if type(to) in (list, tuple):
|
||||
if sets['sender_email'] in to:
|
||||
to.remove(sets['sender_email'])
|
||||
# if sets['sender_email'] in to:
|
||||
# to.remove(sets['sender_email'])
|
||||
|
||||
if len(to) > 1:
|
||||
to_str = u', '.join(to)
|
||||
@@ -159,6 +168,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
||||
to = []
|
||||
to.append(to_str)
|
||||
|
||||
print(f'send mail to {str(to)}')
|
||||
|
||||
if type(subject) != str:
|
||||
try:
|
||||
subject = subject.decode('utf-8')
|
||||
@@ -168,6 +179,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
||||
except:
|
||||
pass
|
||||
|
||||
print(f'add context')
|
||||
|
||||
msg = MIMEMultipart()
|
||||
from email.headerregistry import Address
|
||||
msg['From'] = from_email
|
||||
@@ -192,13 +205,17 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
||||
res = msg.attach(attachments)
|
||||
# print('else attach file complete = {0}'.format(str(res)))
|
||||
|
||||
print(f'send mail')
|
||||
|
||||
res = mail_lib.sendmail(from_email, to, msg.as_string())
|
||||
|
||||
msg = mail_lib.quit()
|
||||
# print('mail_lib.quit = {0}'.format(str(msg)))
|
||||
|
||||
except Exception as e:
|
||||
msg = 'send_mail_by_SMTPlib error = {0}'.format(str(e))
|
||||
import traceback
|
||||
msg = (f'send_mail_by_SMTPlib error = {str(e)}\n<br>'
|
||||
f'{str(traceback.format_exc())}')
|
||||
print(msg)
|
||||
try:
|
||||
mail_lib.quit()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import json
|
||||
|
||||
from django.http import HttpResponse, Http404, FileResponse
|
||||
from django.http import HttpResponse, Http404, FileResponse, HttpResponseRedirect
|
||||
from django.template import loader, RequestContext
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
@@ -15,6 +15,7 @@ from django.views.decorators.csrf import csrf_exempt
|
||||
from webpush import send_user_notification
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from django.urls import reverse
|
||||
|
||||
def generate_routes(request, routes_count):
|
||||
if (not request.user
|
||||
@@ -248,6 +249,12 @@ def StaticPageView(request, url):
|
||||
'route_form': RouteForm(),
|
||||
'owner_type': 'mover'
|
||||
})
|
||||
elif url in ['landing_customer', 'landing_mover']:
|
||||
raise Http404
|
||||
# return HttpResponseRedirect(reverse('customer_landing_page'))
|
||||
# elif url == 'landing_mover':
|
||||
# return HttpResponseRedirect(reverse('mover_landing_page'))
|
||||
|
||||
# elif url == 'works':
|
||||
# return WorksPage(request)
|
||||
elif url in ['main']:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
Allow: /
|
||||
Disallow: */admin/*
|
||||
|
||||
Host: dev.tripwb.com
|
||||
Host: tripwb.com
|
||||
@@ -22,7 +22,7 @@
|
||||
<a href="https://vk.com/club226251027" target="_blank"><img class="svg" src="/static/img/svg/vk.svg"></a>
|
||||
<a href="https://www.tiktok.com/@tripwithbonus?_t=8qHingfQWNq" target="_blank"><img class="svg" src="/static/img/svg/tiktok.svg"></a>
|
||||
<a href="https://youtube.com/@tripwb?si=oiNZrtiOqx6OePJv" target="_blank"><img class="svg" src="/static/img/svg/Youtube.svg"></a>
|
||||
<a href="https://t.me/+XA6A8Ls7fYw2Yzli" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a>
|
||||
<a href="https://t.me/tripWB" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="second-column">
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<span id="sub_title_static">{% trans "Быстро, без посредников, без ограничений" %}</span>
|
||||
{% endif %}
|
||||
{% if page.url == 'for_movers' %}
|
||||
<span id="sub_title_static">{% trans "Общайся, перевози послылки и получай бонусы" %}</span>
|
||||
<span id="sub_title_static">{% trans "Общайся, перевози посылки и получай бонусы" %}</span>
|
||||
{% endif %}
|
||||
<div class="button_container">
|
||||
|
||||
|
||||
@@ -649,7 +649,7 @@
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
||||
<meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам">
|
||||
<meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
|
||||
<meta property="og:url" content="https://tripwb.com/ru/page/partners/">
|
||||
<meta property="og:image" content="https://tripwb.com/static/img/png/finlogo.png">
|
||||
<meta property="og:site_name" content="TWB">
|
||||
@@ -657,7 +657,7 @@
|
||||
<meta property="fb:app_id" content="tripwithbonus">
|
||||
|
||||
<meta name="twitter:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
||||
<meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам">
|
||||
<meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
|
||||
<meta name="twitter:card" content="summary">
|
||||
|
||||
<script type="application/ld+json">
|
||||
|
||||
@@ -29,6 +29,25 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript" >
|
||||
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||
m[i].l=1*new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
||||
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
||||
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
||||
|
||||
ym(97070898, "init", {
|
||||
clickmap:true,
|
||||
trackLinks:true,
|
||||
accurateTrackBounce:true,
|
||||
webvisor:true,
|
||||
ecommerce:"dataLayer"
|
||||
});
|
||||
</script>
|
||||
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
|
||||
<section class="presentation">
|
||||
<div class="presentation__top">
|
||||
<h1 class="presentation__title">
|
||||
@@ -184,7 +203,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
<div class="subtitle">
|
||||
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
</section>
|
||||
|
||||
@@ -202,9 +221,9 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
<div class="h3">
|
||||
{% translate "Хотите перевезти посылку и окупить стоимость дороги, топлива?" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a>
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a>
|
||||
<br/>
|
||||
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||
</section>
|
||||
|
||||
<section class="benefits" id="benefits">
|
||||
@@ -399,7 +418,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
<div class="subtitle">
|
||||
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи отклики от людей с посылками" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
@@ -482,7 +501,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
<div class="title">
|
||||
{% translate "Размести свое объявление какую посылку ты можешь перевезти прямо сейчас " %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
</section>
|
||||
|
||||
@@ -503,7 +522,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
<div class="h3">
|
||||
{% translate "Зарегистрируйся бесплатно прямо сейчас и начни размещать объявления о перевозки посылки" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться" %}</a>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||
<div class="top_block_static_wrapper_main">
|
||||
<div class="top_block_static">
|
||||
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||
|
||||
|
||||
<!-- Meta Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
@@ -30,6 +33,28 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript" >
|
||||
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||
m[i].l=1*new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
||||
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
||||
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
||||
|
||||
ym(97070898, "init", {
|
||||
clickmap:true,
|
||||
trackLinks:true,
|
||||
accurateTrackBounce:true,
|
||||
webvisor:true,
|
||||
ecommerce:"dataLayer"
|
||||
});
|
||||
</script>
|
||||
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
|
||||
|
||||
<section class="presentation">
|
||||
<div class="presentation__top">
|
||||
<h1 class="presentation__title">
|
||||
@@ -186,7 +211,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<div class="subtitle">
|
||||
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
</section>
|
||||
<section class="use">
|
||||
@@ -204,9 +229,9 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<div class="h3">
|
||||
{% translate "Нужно отправить посылку партнеру, родителям или знакомым?" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a>
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a>
|
||||
<br/>
|
||||
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||
</section>
|
||||
<section class="diff">
|
||||
<div class="title">{% translate "Чем мы отличаемся от классических почтовых сервисов" %}</div>
|
||||
@@ -412,7 +437,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<div class="subtitle">
|
||||
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи запросы на перевозку твоей посылки" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
@@ -489,11 +514,11 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
</div>
|
||||
<div class="benefits__third">
|
||||
<div class="benefits__item">
|
||||
<h2>{% translate "Уведомления" %}</h2>
|
||||
<h2>{% translate "Удобный поиск" %}</h2>
|
||||
<p>{% translate "Можешь самостоятельно найти перевозчиков или разместить объявление на сайте." %}</p>
|
||||
</div>
|
||||
<div class="benefits__item">
|
||||
<h2>{% translate "Удобный поиск" %}</h2>
|
||||
<h2>{% translate "Уведомления" %}</h2>
|
||||
<p>{% translate "Как только по твоему объявлению найдется перевозчик мы сообщим на E-mail." %}</p>
|
||||
</div>
|
||||
<div class="benefits__item">
|
||||
@@ -552,7 +577,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<div class="subtitle">
|
||||
{% translate "Достаточно просто зайти на сайт, разместить объявление в пару кликов и дождаться откликов от попутчиков." %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||
</section>
|
||||
<section class="sore">
|
||||
@@ -572,7 +597,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
<div class="h3">
|
||||
{% translate "Зарегистрируйте бесплатно прямо сейчас и размести свое первое объявление об отправке посылки" %}
|
||||
</div>
|
||||
<a href="{% url "registration_page" %}"
|
||||
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться и разместить" %}</a>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
@@ -25,5 +25,9 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<script>
|
||||
fbq('track', 'Contact');
|
||||
</script>
|
||||
|
||||
{% include 'forms/f_registration.html' %}
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user