Compare commits
34 Commits
8a175ee357
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 174f702e3e | |||
| f6f4bfa2ab | |||
| f625537b6f | |||
| 794d5e810d | |||
| a5c0985093 | |||
| 70b481480f | |||
| a37e009109 | |||
| 191ceaca36 | |||
| 53ec69d27c | |||
| 26f29e4353 | |||
| e1f239d6ee | |||
| 9cf25e37ed | |||
| 355abb1add | |||
| 0c8db13341 | |||
| a3795dd267 | |||
| 90ffcd090c | |||
| e5575398a3 | |||
| acb52aef73 | |||
| fa04e5275f | |||
| b31f99aa94 | |||
| 0288c05e2b | |||
| c5baa2d9ab | |||
| 9c96d8c253 | |||
| 3aecf2eb08 | |||
| 423394a9d9 | |||
| 4c28c17088 | |||
| 3b0e1f6524 | |||
| f376656937 | |||
| c57eec05c9 | |||
| 197f910b82 | |||
| a5cca5f23e | |||
| a940f2ff0d | |||
| e454fd2343 | |||
| 66a1170221 |
@@ -74,7 +74,7 @@ def test_code(request):
|
||||
|
||||
from RoutesApp.search_matches import search_matches
|
||||
from RoutesApp.models import Route
|
||||
search_matches(Route.objects.filter(id=16))
|
||||
search_matches(Route.objects.filter(id=17158))
|
||||
|
||||
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point
|
||||
# from RoutesApp.models import Route
|
||||
|
||||
@@ -30,6 +30,6 @@ class Admin_Route(Admin_Trans_BaseModel):
|
||||
search_fields = [
|
||||
'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email'
|
||||
]
|
||||
raw_id_fields = ['from_city', 'to_city']
|
||||
raw_id_fields = ['from_city', 'to_city', 'owner']
|
||||
|
||||
admin.site.register(Route,Admin_Route)
|
||||
admin.site.register(Route, Admin_Route)
|
||||
|
||||
@@ -47,7 +47,7 @@ def send_push_message_for_found_matches_routes(route, data_Dict):
|
||||
|
||||
|
||||
|
||||
def send_mail_found_matches_routes(route, data_Dict):
|
||||
def send_mail_found_matches_routes(route, matched_route, data_Dict):
|
||||
print(f'send_mail_found_matches_routes to route id = {route.id}')
|
||||
|
||||
Dict = {
|
||||
@@ -67,7 +67,9 @@ def send_mail_found_matches_routes(route, data_Dict):
|
||||
from_email=mail_sets['sender_email'], to=to,
|
||||
html_content=html
|
||||
)
|
||||
to = ['web@syncsystems.net']
|
||||
|
||||
subject = f'route matches {route.id} <> {matched_route.id} send to {route.owner.email}'
|
||||
to = ['web@syncsystems.net', 'sa@a3-global.com']
|
||||
res = admin_send_mail_by_SMTPlib(
|
||||
mail_sets,
|
||||
subject=subject,
|
||||
@@ -78,6 +80,56 @@ def send_mail_found_matches_routes(route, data_Dict):
|
||||
return res
|
||||
|
||||
|
||||
def user_notify_by_result_search_matches(route_for_send, founded_route, params):
|
||||
log = ''
|
||||
|
||||
data_Dict = None
|
||||
try:
|
||||
data_Dict = get_Dict_for_send_msgs(params, founded_route.owner_type)
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
|
||||
if data_Dict and check_option_in_cur_user_subscribe(
|
||||
route_for_send.owner, 'push уведомления'
|
||||
):
|
||||
try:
|
||||
msg = send_push_message_for_found_matches_routes(route_for_send, data_Dict)
|
||||
if msg:
|
||||
log += msg
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
|
||||
if data_Dict and check_option_in_cur_user_subscribe(
|
||||
route_for_send.owner,
|
||||
'уведомление на e-mail о появлении перевозчика по заданным критериям'
|
||||
):
|
||||
try:
|
||||
msg = send_mail_found_matches_routes(route_for_send, founded_route, data_Dict)
|
||||
if msg:
|
||||
log += msg
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
|
||||
return log
|
||||
|
||||
|
||||
|
||||
def users_notify_by_result_search_matches(source_route, found_routes, params):
|
||||
log = ''
|
||||
log += user_notify_by_result_search_matches(source_route, found_routes[0], params)
|
||||
|
||||
for route in found_routes:
|
||||
log += user_notify_by_result_search_matches(route, source_route, params)
|
||||
|
||||
return log
|
||||
|
||||
|
||||
def search_matches(for_routes=None):
|
||||
print('search_matches')
|
||||
|
||||
@@ -147,39 +199,9 @@ def search_matches(for_routes=None):
|
||||
|
||||
if found_routes:
|
||||
msg = f'found routes for send messages = {found_routes.count()}'
|
||||
print(msg)
|
||||
|
||||
data_Dict = None
|
||||
try:
|
||||
data_Dict = get_Dict_for_send_msgs(params, found_routes[0].owner_type)
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
|
||||
if data_Dict and check_option_in_cur_user_subscribe(
|
||||
route.owner, 'push уведомления'
|
||||
):
|
||||
try:
|
||||
msg = send_push_message_for_found_matches_routes(route, data_Dict)
|
||||
if msg:
|
||||
log += msg
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
|
||||
if data_Dict and check_option_in_cur_user_subscribe(
|
||||
route.owner,
|
||||
'уведомление на e-mail о появлении перевозчика по заданным критериям'
|
||||
):
|
||||
try:
|
||||
msg = send_mail_found_matches_routes(route, data_Dict)
|
||||
if msg:
|
||||
log += msg
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
|
||||
print(msg)
|
||||
log += msg
|
||||
log += users_notify_by_result_search_matches(route, found_routes, params)
|
||||
|
||||
except Exception as e:
|
||||
msg = f'<br>\n! search_matches Error = {str(e)}'
|
||||
|
||||
14
SubscribesApp/migrations/0008_merge_20250217_1748.py
Normal file
14
SubscribesApp/migrations/0008_merge_20250217_1748.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# Generated by Django 4.2.2 on 2025-02-17 17:48
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('SubscribesApp', '0004_alter_subscribe_bg_color_alter_subscribe_text_color'),
|
||||
('SubscribesApp', '0007_subscribeoption_route_highlight_hours'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
]
|
||||
@@ -27,11 +27,12 @@ function SendLoginForm(el){
|
||||
|
||||
|
||||
|
||||
if(url === '/user_account/login/'){
|
||||
if(url === '/user_account/login/') {
|
||||
localStorage.setItem('needed_fbq', true)
|
||||
location.href = data.redirect_url//`/profile/page/dashboard/`
|
||||
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
||||
window.sessionStorage.removeItem('email')
|
||||
} else if(url === '/user_account/password_recovery/'){
|
||||
} else if (url === '/user_account/password_recovery/'){
|
||||
document.getElementById('password_recovery').innerHTML = data.message
|
||||
|
||||
}
|
||||
|
||||
@@ -36,26 +36,26 @@ function SendRegistrationForm(el, user_id){
|
||||
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
||||
window.sessionStorage.removeItem('email')
|
||||
|
||||
// fbq('track', 'Contact');
|
||||
fbq('track', 'Contact');
|
||||
|
||||
|
||||
ttq.identify({
|
||||
"email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||
"phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||
"external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side.
|
||||
});
|
||||
// ttq.identify({
|
||||
// "email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||
// "phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||
// "external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side.
|
||||
// });
|
||||
|
||||
ttq.track('CompleteRegistration', {
|
||||
"contents": [
|
||||
{
|
||||
"content_id": "<content_identifier>", // string. ID of the product. Example: "1077218".
|
||||
"content_type": "<content_type>", // string. Either product or product_group.
|
||||
"content_name": "<content_name>" // string. The name of the page or product. Example: "shirt".
|
||||
}
|
||||
],
|
||||
"value": "<content_value>", // number. Value of the order or items sold. Example: 100.
|
||||
"currency": "<content_currency>" // string. The 4217 currency code. Example: "USD".
|
||||
});
|
||||
// ttq.track('CompleteRegistration', {
|
||||
// "contents": [
|
||||
// {
|
||||
// "content_id": "<content_identifier>", // string. ID of the product. Example: "1077218".
|
||||
// "content_type": "<content_type>", // string. Either product or product_group.
|
||||
// "content_name": "<content_name>" // string. The name of the page or product. Example: "shirt".
|
||||
// }
|
||||
// ],
|
||||
// "value": "<content_value>", // number. Value of the order or items sold. Example: 100.
|
||||
// "currency": "<content_currency>" // string. The 4217 currency code. Example: "USD".
|
||||
// });
|
||||
|
||||
|
||||
|
||||
@@ -87,5 +87,3 @@ function SendRegistrationForm(el, user_id){
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -94,5 +94,15 @@
|
||||
<option value="last" {% if route_form.initial.sort == item.0 %} selected{% endif %}>{% translate "По последним" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div><!-- Yandex.RTB R-A-14631137-1 -->
|
||||
<div id="yandex_rtb_R-A-14631137-1"></div>
|
||||
<script>
|
||||
window.yaContextCb.push(() => {
|
||||
Ya.Context.AdvManager.render({
|
||||
"blockId": "R-A-14631137-1",
|
||||
"renderTo": "yandex_rtb_R-A-14631137-1"
|
||||
})
|
||||
})
|
||||
</script></div>
|
||||
|
||||
{#</div>#}
|
||||
@@ -7,9 +7,6 @@
|
||||
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
||||
<script src="{% static "js/slick.min.js" %}"></script>
|
||||
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Meta Pixel Code -->
|
||||
<script>
|
||||
@@ -29,6 +26,25 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<!-- TikTok Pixel Code Start -->
|
||||
<script>
|
||||
!function (w, d, t) {
|
||||
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
|
||||
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
|
||||
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
|
||||
|
||||
|
||||
ttq.load('CVE2FBRC77U60E3J820G');
|
||||
ttq.page();
|
||||
}(window, document, 'ttq');
|
||||
</script>
|
||||
<!-- TikTok Pixel Code End -->
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- 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)};
|
||||
|
||||
@@ -7,14 +7,8 @@
|
||||
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
||||
<script src="{% static "js/slick.min.js" %}"></script>
|
||||
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||
|
||||
|
||||
<!-- Meta Pixel Code -->
|
||||
<!-- Meta Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
@@ -32,8 +26,24 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<!-- TikTok Pixel Code Start -->
|
||||
<script>
|
||||
!function (w, d, t) {
|
||||
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
|
||||
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
|
||||
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
|
||||
|
||||
|
||||
ttq.load('CVE2H93C77U83BE8I4U0');
|
||||
ttq.page();
|
||||
}(window, document, 'ttq');
|
||||
</script>
|
||||
<!-- TikTok Pixel Code End -->
|
||||
|
||||
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript" >
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
{% block meta %}
|
||||
<script src='{% static "js/authorization.js" %}'></script>
|
||||
<script src='{% static "js/registration.js" %}'></script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
{% block meta %}
|
||||
<script src='{% static "js/registration.js" %}'></script>
|
||||
<script>fbq('track', 'Contact');</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
@@ -25,9 +26,6 @@ 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 %}
|
||||
@@ -33,6 +33,27 @@
|
||||
|
||||
|
||||
<script defer src='{% static "js/check_new_messages.js" %}'></script>
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '1123814969330706');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<script>
|
||||
if (localStorage.getItem("needed_fbq")){
|
||||
fbq('track', 'Contact');
|
||||
localStorage.removeItem("needed_fbq")
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
{% webpush_header %}
|
||||
<meta name="google-site-verification" content="4V4upJSK2_4MBrr5ZXjcCLw3bBwXc4_gsnKudJAaWqI" />
|
||||
<meta name="yandex-verification" content="b8a976575e41fbbc" />
|
||||
<meta name="google-adsense-account" content="ca-pub-3479005276839542">
|
||||
|
||||
<!-- Yandex.RTB -->
|
||||
<script>window.yaContextCb=window.yaContextCb||[]</script>
|
||||
<script src="https://yandex.ru/ads/system/context.js" async></script>
|
||||
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3479005276839542"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
{% include "inter/meta_OpenGraph_Schema.html" %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user