From b4d91ecd063632c07dd9067be2d87331d4d3cbf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D1=80=D0=B0=D0=B2=D1=87=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=90=D1=80=D1=82=D0=B5=D0=BC?= Date: Thu, 18 Mar 2021 17:43:55 +0000 Subject: [PATCH 1/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db34259..47468bb 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ sudo apt install make pip install --upgrade pip pip install -r requirements.txt ./manage.py migrate -./manage.py shell -c "from django.contrib.auth import get_user_model; get_user_model().objects.create_superuser('vasya', '1@abc.net', 'promprog')" +./manage.py loaddata data.json ./manage.py runserver ``` Создать токен From da46d019cbafb83c0ab33ea99742875400a832b5 Mon Sep 17 00:00:00 2001 From: Artyom Kravchenko Date: Thu, 18 Mar 2021 20:48:06 +0300 Subject: [PATCH 2/3] add TODO --- main/extra_func.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/extra_func.py b/main/extra_func.py index 6ae7266..f2a4df9 100644 --- a/main/extra_func.py +++ b/main/extra_func.py @@ -443,7 +443,7 @@ class StatisticData: if first_log.old_role == ROLES['engineer']: self.statistic[first_log.change_time.date()] += get_timedelta(first_log).total_seconds() - if last_log.new_role == ROLES['engineer']: + if last_log.new_role == ROLES['engineer']: #TODO отдельная функция self.fill_daterange(last_log.change_time.date() + timedelta(days=1), self.end_date + timedelta(days=1)) if last_log.change_time.date() == timezone.now().date(): self.statistic[last_log.change_time.date()] += ( @@ -455,7 +455,7 @@ class StatisticData: if self.end_date == timezone.now().date(): self.statistic[self.end_date] = get_timedelta(None, timezone.now().time()).total_seconds() - for log_index in range(len(self.data) - 1): + for log_index in range(len(self.data) - 1): #TODO отдельная функция if self.data[log_index].new_role == ROLES['engineer']: current_log, next_log = self.data[log_index], self.data[log_index + 1] if current_log.change_time.date() != next_log.change_time.date(): From 0c2e2d81bcf2fda7ed65922c1a5381393140acbd Mon Sep 17 00:00:00 2001 From: Iurii Tatishchev Date: Fri, 19 Mar 2021 23:45:08 -0700 Subject: [PATCH 3/3] #43 | Add max agents setting. Spots left count on /work/ and /control/ --- access_controller/settings.py | 3 ++- main/templates/pages/adm_ruleset.html | 4 ++++ main/templates/pages/work.html | 2 +- main/views.py | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/access_controller/settings.py b/access_controller/settings.py index 28feeb4..020480d 100644 --- a/access_controller/settings.py +++ b/access_controller/settings.py @@ -191,6 +191,8 @@ ZENDESK_GROUPS = { SOLVED_TICKETS_EMAIL = 'd.krikov@ngenix.net' +ZENDESK_MAX_AGENTS = 3 + REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. @@ -200,4 +202,3 @@ REST_FRAMEWORK = { } ONE_DAY = 12 # Количество часов в 1 рабочем дне - diff --git a/main/templates/pages/adm_ruleset.html b/main/templates/pages/adm_ruleset.html index 92a0628..92686f1 100644 --- a/main/templates/pages/adm_ruleset.html +++ b/main/templates/pages/adm_ruleset.html @@ -20,6 +20,10 @@ {% block content %}
+
+

Свободных Мест: {{ licences_remaining }}

+
+ {% block form %}
{% csrf_token %} diff --git a/main/templates/pages/work.html b/main/templates/pages/work.html index a588ef5..1ce7dd3 100644 --- a/main/templates/pages/work.html +++ b/main/templates/pages/work.html @@ -14,7 +14,7 @@
-

Основаная информация о странице

+

Свободных Мест: {{ licences_remaining }}

diff --git a/main/views.py b/main/views.py index 9f8a48a..a8b3af5 100644 --- a/main/views.py +++ b/main/views.py @@ -19,7 +19,7 @@ from rest_framework import viewsets from rest_framework.response import Response from zenpy.lib.api_objects import User as ZenpyUser -from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES +from access_controller.settings import EMAIL_HOST_USER, ZENDESK_ROLES, ZENDESK_MAX_AGENTS from main.extra_func import ZendeskAdmin from main.extra_func import check_user_exist, update_profile, get_user_organization, \ make_engineer, make_light_agent, get_users_list, update_users_in_model, count_users, \ @@ -131,6 +131,7 @@ def work_page(request, id): context = { 'engineers': engineers, 'agents': light_agents, + 'licences_remaining': max(0, ZENDESK_MAX_AGENTS - len(engineers)), 'pagename': 'Управление правами' } return render(request, 'pages/work.html', context) @@ -203,6 +204,7 @@ class AdminPageView(LoginRequiredMixin, PermissionRequiredMixin, FormView): UserProfile, role='agent') context['users'] = users context['engineers'], context['light_agents'] = count_users(get_users_list()) + context['licences_remaining'] = max(0, ZENDESK_MAX_AGENTS - context['engineers']) return context # TODO: need to get profile page url