From 0c2e2d81bcf2fda7ed65922c1a5381393140acbd Mon Sep 17 00:00:00 2001 From: Iurii Tatishchev Date: Fri, 19 Mar 2021 23:45:08 -0700 Subject: [PATCH] #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