from django.http import QueryDict from django.template.loader import render_to_string from SubscribesApp.funcs import check_option_in_cur_user_subscribe def get_user_timezone_Dict(user, request=None): tz = None if request: tz = request.COOKIES.get("user_tz") if not tz and user.is_authenticated: tz = user.user_profile.get_timezone() if not tz: from django.conf import settings tz = settings.TIME_ZONE return {'user_tz': tz} def get_dashboard_page_content_html(request): from ChatServiceApp.funcs import get_unanswered_msgs_count_for_user Dict = { 'unanswered_msgs_count': get_unanswered_msgs_count_for_user(request.user) } html = render_to_string('blocks/profile/b_profile_first_page.html', Dict, request=request) return html def get_profile_page_content_html(request, page_name, data): if page_name == 'chat': from ChatServiceApp.funcs import get_chat_page_content_html return get_chat_page_content_html(request, data) elif (page_name == 'create_route_for_customer' and check_option_in_cur_user_subscribe(request.user, 'размещение заявок')): from RoutesApp.funcs import get_profile_new_route_page_html return get_profile_new_route_page_html(request, {'owner_type': 'customer'}) elif (page_name == 'create_route_for_mover' and check_option_in_cur_user_subscribe(request.user, 'размещение заявок')): from RoutesApp.funcs import get_profile_new_route_page_html return get_profile_new_route_page_html(request, {'owner_type': 'mover'}) elif page_name == 'my_routes': from RoutesApp.funcs import get_profile_my_routes_page_content_html return get_profile_my_routes_page_content_html(request) elif page_name == 'support': return get_profile_support_page_content_html(request, data) elif page_name == 'my_subscribe': from SubscribesApp.funcs import get_profile_subscribe_page_content_Dict res = get_profile_subscribe_page_content_Dict(request, check_orders_required=True) return res['html'] elif page_name == 'change_profile': return get_profile_change_page_content_html(request) elif page_name == 'dashboard': return get_dashboard_page_content_html(request) else: return None def get_profile_change_page_content_html(request, data=None): init_Dict = { 'firstname': request.user.first_name, 'lastname': request.user.last_name, 'email': request.user.email, 'tel': request.user.user_profile.phone, 'country': request.user.user_profile.country, 'city': request.user.user_profile.city, } if data: if type(data) == QueryDict: data = data.dict() init_Dict.update(data) # if 'firstname' in data: # init_Dict.update({'first_name': data['firstname']}) # if 'lastname' in data: # init_Dict.update({'last_name': data['lastname']}) # if 'email' in data: # init_Dict.update({'email': data['email']}) # init_Dict.update({'username': data['email']}) # if 'country' in data: # init_Dict.update({'country': data['country']}) # if 'city' in data: # init_Dict.update({'city': data['city']}) # if 'tel' in data: # init_Dict.update({'tel': data['tel']}) from .forms import RegistrationForm form = RegistrationForm(initial=init_Dict) from SubscribesApp.funcs import get_cur_user_subscribe Dict = { 'profileForm': form, 'user_subscribe': get_cur_user_subscribe(request.user) } html = render_to_string('blocks/profile/b_profile.html', Dict, request=request) return html def get_profile_support_page_content_html(request, data=None): if request.user.is_staff: from ChatServiceApp.funcs import get_ticketsDict_for_staff Dict = get_ticketsDict_for_staff(request.user) tpl_name = 'blocks/profile/b_support_chat.html' else: from ChatServiceApp.models import MsgGroup tickets = MsgGroup.objects.filter(enable=True, owner=request.user).order_by('-modifiedDT') Dict = { 'tickets': tickets, } tpl_name = 'blocks/profile/b_support_tickets.html' Dict.update(get_user_timezone_Dict(request.user, request=request)) html = render_to_string(tpl_name, Dict, request=request) return html