From 0e184f0b871379e32d2813ea7660bac7c6d32046 Mon Sep 17 00:00:00 2001 From: SDE Date: Sat, 29 Jun 2024 14:44:19 +0300 Subject: [PATCH] 1.3.6 add unanswered_msgs_count to all responses --- ArticlesApp/js_views.py | 3 +++ ArticlesApp/views.py | 8 +++--- AuthApp/js_views.py | 52 ++++++++++++++++++++++++++++-------- AuthApp/views.py | 10 +++---- ChatServiceApp/funcs.py | 3 +++ ChatServiceApp/js_views.py | 35 ++++++++++++++++++------ GeneralApp/funcs.py | 18 ++++++++++++- GeneralApp/views.py | 8 +++--- ReferenceDataApp/js_views.py | 4 ++- RoutesApp/js_views.py | 24 ++++++++++++++--- RoutesApp/views.py | 4 +-- SubscribesApp/js_views.py | 23 ++++++++++++---- 12 files changed, 147 insertions(+), 45 deletions(-) diff --git a/ArticlesApp/js_views.py b/ArticlesApp/js_views.py index 3e1b373..d7f633d 100644 --- a/ArticlesApp/js_views.py +++ b/ArticlesApp/js_views.py @@ -45,6 +45,9 @@ def get_articles_block_ajax(request): # 'form': RouteForm(initial=data) } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: diff --git a/ArticlesApp/views.py b/ArticlesApp/views.py index a9b1396..de7e8c4 100644 --- a/ArticlesApp/views.py +++ b/ArticlesApp/views.py @@ -6,7 +6,7 @@ from datetime import datetime, date from django.http import Http404, HttpResponse from django.template import loader from .funcs import * -from GeneralApp.funcs import get_inter_http_respose +from GeneralApp.funcs import get_inter_http_response from django.utils.translation import gettext_lazy as _ # from django.contrib.auth.decorators import login_required @@ -92,7 +92,7 @@ def ArticlesPageView(request, year=None): }) t = loader.get_template('pages/p_articles.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) @@ -125,7 +125,7 @@ def UserPageView(request, page_url): t = loader.get_template('pages/p_user_page.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) @@ -155,5 +155,5 @@ def ArticlesOnePageView(request, art_url): t = loader.get_template('pages/p_article.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) diff --git a/AuthApp/js_views.py b/AuthApp/js_views.py index 2b40fe8..bd4556e 100644 --- a/AuthApp/js_views.py +++ b/AuthApp/js_views.py @@ -47,11 +47,13 @@ def mailing_subscribe_ajax(request): user.user_profile.mailing_on = True user.user_profile.save(update_fields=['mailing_on']) - return JsonResponse({ + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = { 'status': 'sended', 'del_form': True, 'html': _('Подписка на рассылку для адреса ') + user.email + _(' одобрена') - }) + } + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) if not user: try: @@ -64,11 +66,14 @@ def mailing_subscribe_ajax(request): else: redirect_url = f"{reverse('registration_page')}?mailingSubscribeRequired=true" - return JsonResponse({ + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = { 'status': 'sended', 'redirect_url': redirect_url, 'email': email - }) + } + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: @@ -200,10 +205,15 @@ def send_message_ajax(request): html = render_to_string('widgets/w_msg_send_success.html', Dict, request) - return JsonResponse({ + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = { 'status': 'sended', 'html': html - }) + } + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) + + except Exception as e: return JsonResponse({ 'status': 'error', @@ -241,7 +251,11 @@ def chats_ajax(request): Dict.update(get_user_timezone_Dict(request.user, request=request)) html = render_to_string('blocks/profile/b_chats.html', Dict, request=request) - return JsonResponse({'html': html}, status=200) + + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = {'html': html} + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') def support_tickets_ajax(request): @@ -252,7 +266,10 @@ def support_tickets_ajax(request): html = get_profile_support_page_content_html(request) - return JsonResponse({'html': html}, status=200) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = {'html': html} + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') @@ -283,7 +300,10 @@ def change_avatar_confirm_ajax(request): print(msg) return JsonResponse({'error': msg}, status=400) - return JsonResponse({'url': request.user.user_profile.avatar.url}) + res_Dict = {'url': request.user.user_profile.avatar.url} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') @@ -358,7 +378,10 @@ def change_profile_confirm_ajax(request): user_profiles.update(**data_for_save) html = get_profile_change_page_content_html(request) - return JsonResponse({'html': html}, status=200) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict = {'html': html} + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') @@ -403,7 +426,10 @@ def my_routes_ajax(request): } html = render_to_string('blocks/profile/b_my_routes.html', Dict, request=request) - return JsonResponse({'html': html}, status=200) + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @@ -451,6 +477,8 @@ def login_ajax(request): 'redirect_url': redirect_url } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: @@ -556,6 +584,8 @@ def registration_ajax(request): # 'redirect_url': reverse('profile_page', args=['dashboard']) } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: diff --git a/AuthApp/views.py b/AuthApp/views.py index 695251e..8182a29 100644 --- a/AuthApp/views.py +++ b/AuthApp/views.py @@ -14,7 +14,7 @@ from django.utils.translation import gettext as _ from datetime import datetime from django.contrib.auth.decorators import login_required from .funcs import * -from GeneralApp.funcs import get_inter_http_respose +from GeneralApp.funcs import get_inter_http_response from GeneralApp.funcs import get_and_set_lang @@ -79,7 +79,7 @@ def registration_View(request): # if request.p t = loader.get_template('pages/profile/p_registration.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) @@ -131,7 +131,7 @@ def profile_page_View(request, page_name, id=None): # }) t = loader.get_template('pages/profile/p_user_profile.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) @@ -173,7 +173,7 @@ def user_profile_View(request): # request.COOKIES['user_id'] = request.user.id t = loader.get_template('pages/profile/p_user_profile.html') - response = get_inter_http_respose(t, Dict, request) + response = get_inter_http_response(t, Dict, request) # response = HttpResponse(t.render(Dict, request)) response.set_cookie('user_id', request.user.id) return response @@ -198,7 +198,7 @@ def login_View(request): request.session['mailingSubscribeRequired'] = 'true' t = loader.get_template('pages/profile/p_login.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) diff --git a/ChatServiceApp/funcs.py b/ChatServiceApp/funcs.py index 4df1ded..d9e531c 100644 --- a/ChatServiceApp/funcs.py +++ b/ChatServiceApp/funcs.py @@ -17,6 +17,9 @@ from AuthApp.funcs import get_user_timezone_Dict def get_unanswered_msgs_count_for_user(user): + if not user or not user.is_authenticated: + return 0 + msgs = Message.objects.filter(receiver=user, status='sended', group=None) return msgs.count() diff --git a/ChatServiceApp/js_views.py b/ChatServiceApp/js_views.py index e6de52f..29ba7c8 100644 --- a/ChatServiceApp/js_views.py +++ b/ChatServiceApp/js_views.py @@ -38,7 +38,9 @@ def get_file_from_msg_ajax(request): res_Dict = file break - return JsonResponse(res_Dict, status=200) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'get_file_from_msg_ajax Error = {str(e)}' @@ -63,10 +65,12 @@ def show_chat_w_user_ajax(request): tpl_name = 'blocks/profile/b_chats.html' - - html = render_to_string(tpl_name, Dict, request=request) - return JsonResponse({'html': html}, status=200) + + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'show_chat_w_user_ajax Error = {str(e)}' @@ -157,7 +161,9 @@ def update_chat_ajax2(request): res_Dict.update({ 'required_beep': required_beep, }) - return JsonResponse(res_Dict, status=200) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'update_chat_ajax2 Error = {str(e)}' @@ -268,7 +274,10 @@ def update_chat_ajax(request): res_Dict.update({ 'required_beep': required_beep, }) - return JsonResponse(res_Dict, status=200) + + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'update_chat_ajax Error = {str(e)}' @@ -435,7 +444,11 @@ def support_show_chat_by_ticket_ajax(request): tpl_name = 'blocks/profile/b_support_chat.html' Dict.update(get_user_timezone_Dict(request.user, request=request)) html = render_to_string(tpl_name, Dict, request=request) - return JsonResponse({'html': html}, status=200) + + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'support_show_chat_by_ticket_ajax Error = {str(e)}' @@ -461,7 +474,11 @@ def support_create_ticket_form_ajax(request): tpl_name = 'blocks/profile/b_create_ticket.html' html = render_to_string(tpl_name, Dict, request=request) - return JsonResponse({'html': html}, status=200) + + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') @@ -532,6 +549,8 @@ def create_ticket_ajax(request): 'html': html } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: diff --git a/GeneralApp/funcs.py b/GeneralApp/funcs.py index d4370b4..857c14c 100644 --- a/GeneralApp/funcs.py +++ b/GeneralApp/funcs.py @@ -30,6 +30,17 @@ def get_and_set_lang(request): return lang +def get_add_to_ajax_response_Dict(user): + context_Dict = {} + + from ChatServiceApp.funcs import get_unanswered_msgs_count_for_user + context_Dict.update({ + 'unanswered_msgs_count': get_unanswered_msgs_count_for_user(user) + }) + + return context_Dict + + def get_inter_Dict(user): @@ -51,7 +62,7 @@ def get_inter_Dict(user): return Dict -def get_inter_http_respose(template_obj, context_Dict, request): +def get_inter_http_response(template_obj, context_Dict, request): context_Dict.update(get_inter_Dict(request.user)) @@ -72,4 +83,9 @@ def get_inter_http_respose(template_obj, context_Dict, request): # if text and title and not request.user.is_anonymous: # send_push(user=request.user, title=title, text=text) + from ChatServiceApp.funcs import get_unanswered_msgs_count_for_user + context_Dict.update({ + 'unanswered_msgs_count': get_unanswered_msgs_count_for_user(request.user) + }) + return HttpResponse(template_obj.render(context_Dict, request)) \ No newline at end of file diff --git a/GeneralApp/views.py b/GeneralApp/views.py index 84900b6..54bc80f 100644 --- a/GeneralApp/views.py +++ b/GeneralApp/views.py @@ -5,7 +5,7 @@ from django.template import loader, RequestContext from django.contrib.auth.decorators import login_required from .models import * from django.conf import settings -from .funcs import get_inter_http_respose +from .funcs import get_inter_http_response 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 @@ -41,7 +41,7 @@ def Page404(request, exeption=None): t = loader.get_template('404.html') try: - res = get_inter_http_respose(t, Dict, request) + res = get_inter_http_response(t, Dict, request) return HttpResponse(res, status=404) except Exception as e: return HttpResponse(str(e)) @@ -78,7 +78,7 @@ def MainPage(request): Dict.update({'breadcrumbs': breadcrumbs_Dict}) t = loader.get_template('pages/p_main.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) @@ -126,7 +126,7 @@ def StaticPageView(request, url): # send_push(user=request.user, title='title', text='text') t = loader.get_template('pages/p_static_page.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) diff --git a/ReferenceDataApp/js_views.py b/ReferenceDataApp/js_views.py index 174e3e4..21880f4 100644 --- a/ReferenceDataApp/js_views.py +++ b/ReferenceDataApp/js_views.py @@ -13,7 +13,7 @@ from django.template.loader import render_to_string from django.urls import reverse from django.db.models import Q import json -from GeneralApp.funcs import get_inter_http_respose +from GeneralApp.funcs import get_inter_http_response from GeneralApp.funcs import get_and_set_lang def get_address_point_ajax(request): @@ -68,6 +68,8 @@ def get_address_point_ajax(request): 'res_search_list': html } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: diff --git a/RoutesApp/js_views.py b/RoutesApp/js_views.py index e9c43fa..e3d3fbc 100644 --- a/RoutesApp/js_views.py +++ b/RoutesApp/js_views.py @@ -60,6 +60,8 @@ def highlight_route_ajax(request): } res_Dict.update(user_subscribe.remains_route_adding_options()) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) @@ -96,6 +98,8 @@ def raise_route_ajax(request): res_Dict = {'status': 'ok'} res_Dict.update(user_subscribe.remains_route_adding_options()) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) @@ -127,6 +131,8 @@ def del_route_ajax(request): 'html': html } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: @@ -180,11 +186,13 @@ def edit_route_ajax(request): return JsonResponse({'errors': msg}) html = render_to_string('blocks/profile/b_new_route.html', Dict, request=request) - resDict = { + res_Dict = { 'html': html, 'btn_title': _('Сохранить изменения') } - return JsonResponse(resDict, status=200) + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @@ -223,7 +231,10 @@ def new_route_view_ajax(request): # html = render_to_string('blocks/profile/b_new_route.html', Dict, request=request) - return JsonResponse({'html': html}, status=200) + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) def find_routes_ajax(request): @@ -259,6 +270,8 @@ def find_routes_ajax(request): # 'form': RouteForm(initial=data) } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: @@ -296,7 +309,8 @@ def get_my_routes_ajax(request): 'html': html } - + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: @@ -381,6 +395,8 @@ def create_or_change_route_ajax(request, route_id=None): 'route_id': route_id } + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) return JsonResponse(res_Dict) except Exception as e: diff --git a/RoutesApp/views.py b/RoutesApp/views.py index 9372b9b..141cbeb 100644 --- a/RoutesApp/views.py +++ b/RoutesApp/views.py @@ -11,7 +11,7 @@ from django.utils.translation import gettext as _ from datetime import datetime from .funcs import * from .forms import * -from GeneralApp.funcs import get_inter_http_respose +from GeneralApp.funcs import get_inter_http_response @@ -58,7 +58,7 @@ def route_search_results_View(request): }) t = loader.get_template('pages/p_results_find_route.html') - return get_inter_http_respose(t, Dict, request) + return get_inter_http_response(t, Dict, request) # return HttpResponse(t.render(Dict, request)) except Exception as e: raise Http404 diff --git a/SubscribesApp/js_views.py b/SubscribesApp/js_views.py index 31714ba..4906222 100644 --- a/SubscribesApp/js_views.py +++ b/SubscribesApp/js_views.py @@ -38,7 +38,10 @@ def receive_finish_subscribe_msg_ajax(request): msg = f'msg_send_after_subscribe_end_ajax Exception = {str(e)}' return JsonResponse({'error': msg}, status=400) - return JsonResponse({'status': user_subscribe.receive_finish_subscribe_msg}, status=200) + res_Dict = {'status': user_subscribe.receive_finish_subscribe_msg} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) @login_required()#login_url='/profile/login/') @@ -68,7 +71,10 @@ def subscribe_now_ajax(request): from BillingApp.funcs import create_subscribe_order order = create_subscribe_order(kwargs_for_order) if order: - return JsonResponse({'redirect_url': order.pay_page}) + res_Dict = {'redirect_url': order.pay_page} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) else: subscribe_for_user = subscribe_user_to_null_price_subscribe(request.user) @@ -102,7 +108,11 @@ def subscribe_now_ajax(request): } html = render_to_string(tpl_name, Dict, request=request) - return JsonResponse({'html': html}, status=200) + + res_Dict = {'html': html} + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) except Exception as e: msg = f'show_cur_subscribe_ajax Error = {str(e)}' @@ -117,8 +127,11 @@ def show_cur_subscribe_ajax(request): lang = get_and_set_lang(request) - Dict = get_profile_subscribe_page_content_Dict(request) - return JsonResponse(Dict, status=200) + res_Dict = get_profile_subscribe_page_content_Dict(request) + + from GeneralApp.funcs import get_add_to_ajax_response_Dict + res_Dict.update(get_add_to_ajax_response_Dict(request.user)) + return JsonResponse(res_Dict) # try: #