Merge remote-tracking branch 'origin/feature/logging/func' into feature/logging/func
This commit is contained in:
commit
644f4de1e9
@ -3,6 +3,7 @@ import os
|
|||||||
from datetime import timedelta, datetime, date
|
from datetime import timedelta, datetime, date
|
||||||
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
from django.utils import timezone
|
||||||
from zenpy import Zenpy
|
from zenpy import Zenpy
|
||||||
from zenpy.lib.exception import APIException
|
from zenpy.lib.exception import APIException
|
||||||
|
|
||||||
|
@ -1,29 +1,38 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required
|
|
||||||
from django.contrib.auth.forms import PasswordResetForm
|
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
|
|
||||||
from django.contrib.auth.models import User, Permission
|
|
||||||
from django.contrib.auth.tokens import default_token_generator
|
from django.contrib.auth.tokens import default_token_generator
|
||||||
|
from django.contrib.auth.forms import PasswordResetForm
|
||||||
from django.contrib.auth.views import LoginView
|
from django.contrib.auth.views import LoginView
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.core.exceptions import PermissionDenied
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.core.handlers.wsgi import WSGIRequest
|
||||||
from django.http import HttpResponseRedirect, HttpResponse
|
from django.http import HttpResponseRedirect, HttpResponse
|
||||||
from django.shortcuts import render, get_list_or_404, redirect
|
from django.shortcuts import render, get_list_or_404, redirect
|
||||||
from django.urls import reverse_lazy, reverse
|
from django.urls import reverse_lazy, reverse
|
||||||
from django.views.generic import FormView
|
from django.views.generic import FormView
|
||||||
from django_registration.views import RegistrationView
|
|
||||||
from zenpy import Zenpy
|
from zenpy import Zenpy
|
||||||
|
|
||||||
|
from access_controller.settings import EMAIL_HOST_USER
|
||||||
|
from main.extra_func import check_user_exist, update_profile, get_user_organization, \
|
||||||
|
make_engineer, make_light_agent, get_users_list, log
|
||||||
|
|
||||||
|
from django.contrib.auth.models import User, Permission
|
||||||
|
from main.models import UserProfile
|
||||||
|
from main.forms import CustomRegistrationForm, AdminPageUsers, CustomAuthenticationForm
|
||||||
|
from django_registration.views import RegistrationView
|
||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
|
|
||||||
|
from access_controller.settings import ZENDESK_ROLES
|
||||||
from zenpy.lib.api_objects import User as ZenpyUser
|
from zenpy.lib.api_objects import User as ZenpyUser
|
||||||
|
|
||||||
from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES
|
content_type_temp = ContentType.objects.get_for_model(UserProfile)
|
||||||
from main.extra_func import check_user_exist, update_profile, get_user_organization, make_engineer, make_light_agent, \
|
permission_temp, created = Permission.objects.get_or_create(
|
||||||
get_users_list, StatisticData
|
codename='has_control_access',
|
||||||
from main.forms import AdminPageUsers, CustomRegistrationForm, CustomAuthenticationForm, StatisticForm
|
content_type=content_type_temp,
|
||||||
from .models import UserProfile
|
)
|
||||||
|
|
||||||
|
|
||||||
class CustomRegistrationView(RegistrationView):
|
class CustomRegistrationView(RegistrationView):
|
||||||
"""
|
"""
|
||||||
@ -102,6 +111,7 @@ def profile_page(request: WSGIRequest) -> HttpResponse:
|
|||||||
'profile': user_profile,
|
'profile': user_profile,
|
||||||
'pagename': 'Страница профиля'
|
'pagename': 'Страница профиля'
|
||||||
}
|
}
|
||||||
|
log(request.user)
|
||||||
return render(request, 'pages/profile.html', context)
|
return render(request, 'pages/profile.html', context)
|
||||||
|
|
||||||
|
|
||||||
@ -141,12 +151,12 @@ def work_page(request, id):
|
|||||||
@login_required()
|
@login_required()
|
||||||
def work_hand_over(request):
|
def work_hand_over(request):
|
||||||
zenpy_user, admin = auth_user(request)
|
zenpy_user, admin = auth_user(request)
|
||||||
|
|
||||||
if zenpy_user.custom_role_id == ZENDESK_ROLES['engineer']:
|
if zenpy_user.custom_role_id == ZENDESK_ROLES['engineer']:
|
||||||
zenpy_user.custom_role_id = ZENDESK_ROLES['light_agent']
|
zenpy_user.custom_role_id = ZENDESK_ROLES['light_agent']
|
||||||
admin.users.update(zenpy_user)
|
admin.users.update(zenpy_user)
|
||||||
request.user.userprofile.role = "agent"
|
request.user.userprofile.role = "agent"
|
||||||
request.user.userprofile.save()
|
request.user.userprofile.save()
|
||||||
|
# log(request.user.userprofile.user)
|
||||||
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
|
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
|
||||||
|
|
||||||
|
|
||||||
@ -158,6 +168,7 @@ def work_become_engineer(request):
|
|||||||
admin.users.update(zenpy_user)
|
admin.users.update(zenpy_user)
|
||||||
request.user.userprofile.role = "agent"
|
request.user.userprofile.role = "agent"
|
||||||
request.user.userprofile.save()
|
request.user.userprofile.save()
|
||||||
|
# log(request.user.userprofile.user)
|
||||||
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
|
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
|
||||||
|
|
||||||
|
|
||||||
@ -228,31 +239,3 @@ class CustomLoginView(LoginView):
|
|||||||
Отображение страницы авторизации пользователя
|
Отображение страницы авторизации пользователя
|
||||||
"""
|
"""
|
||||||
form_class = CustomAuthenticationForm
|
form_class = CustomAuthenticationForm
|
||||||
|
|
||||||
|
|
||||||
@login_required()
|
|
||||||
def statistic_page(request):
|
|
||||||
if not request.user.is_superuser:
|
|
||||||
return redirect('index')
|
|
||||||
context = {
|
|
||||||
'pagename': 'страница статистики',
|
|
||||||
'errors': list(),
|
|
||||||
}
|
|
||||||
if request.method == "POST":
|
|
||||||
form = StatisticForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
start_date, end_date = form.cleaned_data['range_start'], form.cleaned_data['range_end']
|
|
||||||
interval, show = form.cleaned_data['interval'], form.cleaned_data['display_format']
|
|
||||||
Data = StatisticData(start_date, end_date, form.cleaned_data['email'])
|
|
||||||
Data.set_display(show)
|
|
||||||
Data.set_interval(interval)
|
|
||||||
stats = Data.get_statistic()
|
|
||||||
if Data.errors:
|
|
||||||
context['errors'] = Data.errors
|
|
||||||
if Data.warnings:
|
|
||||||
context['warnings'] = Data.warnings
|
|
||||||
context['log_stats'] = stats if not context['errors'] else None
|
|
||||||
if request.method == 'GET':
|
|
||||||
form = StatisticForm()
|
|
||||||
context['form'] = form
|
|
||||||
return render(request, 'pages/stat.html', context)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user