diff --git a/BaseModels/base_models.py b/BaseModels/base_models.py index a92eb26..21b5a4a 100644 --- a/BaseModels/base_models.py +++ b/BaseModels/base_models.py @@ -112,6 +112,20 @@ class BaseModelViewPage(BaseModel): class Meta: abstract = True + def get_title(self): + if self.seo_title: + return self.seo_title + elif self.title: + return self.title + else: + return self.name + + def get_description(self): + if self.seo_description: + return self.seo_description + else: + return self.description + def get_FAQ_items(self): return self.FAQ_items.filter(enable=True).order_by('order') diff --git a/GeneralApp/views.py b/GeneralApp/views.py index 779efda..16bf7a6 100644 --- a/GeneralApp/views.py +++ b/GeneralApp/views.py @@ -6,33 +6,64 @@ from django.contrib.auth.decorators import login_required from .models import * from django.conf import settings from .funcs import get_inter_http_respose +from django.http.response import JsonResponse, HttpResponse +from django.views.decorators.http import require_GET, require_POST +from django.shortcuts import get_object_or_404 +from django.contrib.auth.models import User +from django.views.decorators.csrf import csrf_exempt +from webpush import send_user_notification +import json def test_code(request): from RoutesApp.funcs import get_city_by_type_transport_and_address_point from RoutesApp.models import Route from ReferenceDataApp.models import Airport, City - routes = Route.objects.all() + try: + # body = request.body + # data = json.loads(body) + # if 'head' not in data or 'body' not in data or 'id' not in data: + # return JsonResponse(status=400, data={"message": "Invalid data format"}) + # user_id = data['id'] + user = request.user + payload = {'head': '123', 'body': 'qwerty'} + send_user_notification(user=user, payload=payload, ttl=1000) + return JsonResponse(status=200, data={"message": "Web push successful"}) + except TypeError: + return JsonResponse(status=500, data={"message": "An error occurred"}) - for route in routes: - print(route.id) - required_save = False - if not route.from_city: - route.from_city = get_city_by_type_transport_and_address_point(route.type_transport, route.from_address_point) - required_save = True + # routes = Route.objects.all() + # + # for route in routes: + # print(route.id) + # required_save = False + # if not route.from_city: + # route.from_city = get_city_by_type_transport_and_address_point(route.type_transport, route.from_address_point) + # required_save = True + # + # if not route.to_city: + # route.to_city = get_city_by_type_transport_and_address_point(route.type_transport, + # route.to_address_point) + # required_save = True + # + # if required_save: + # route.save() - if not route.to_city: - route.to_city = get_city_by_type_transport_and_address_point(route.type_transport, - route.to_address_point) - required_save = True - - if required_save: - route.save() - - return HttpResponse('finished') + # return HttpResponse('finished') +def Page404(request, exeption=None): + + Dict = {} + + t = loader.get_template('404.html') + try: + res = get_inter_http_respose(t, Dict, request) + return HttpResponse(res, status=404) + except Exception as e: + return HttpResponse(str(e)) + diff --git a/TWB/urls.py b/TWB/urls.py index 9d27d8e..6611292 100644 --- a/TWB/urls.py +++ b/TWB/urls.py @@ -3,12 +3,17 @@ from django.contrib import admin from django.urls import path, include from django.conf.urls.static import static from django.conf import settings +from GeneralApp.views import Page404 + +handler404 = Page404 urlpatterns = [ # path('admin/', admin.site.urls), path('ckeditor/', include('ckeditor_uploader.urls')), path('i18n/', include('django.conf.urls.i18n')), + # path('webpush/', include('webpush.urls')), + path('messages/', include('ChatServiceApp.urls')), path('user_account/', include('AuthApp.js_urls')), @@ -22,6 +27,8 @@ urlpatterns = [ path('reference_data/', include('ReferenceDataApp.js_urls')), path('', include('ArticlesApp.js_urls')), + + path('test_404', Page404, name='page_404'), ] from django.conf.urls.i18n import i18n_patterns diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 0000000..5802032 --- /dev/null +++ b/templates/404.html @@ -0,0 +1,8 @@ +{% extends "tb_base.html" %} + +{% block content %} + + 404 + + +{% endblock %} \ No newline at end of file diff --git a/templates/blocks/profile/b_support_chat.html b/templates/blocks/profile/b_support_chat.html index c4558ef..894f425 100644 --- a/templates/blocks/profile/b_support_chat.html +++ b/templates/blocks/profile/b_support_chat.html @@ -13,7 +13,17 @@ {#

Техническая поддержка

#} {# #} {% if user.is_staff or staff %} -