Merge branch 'feature/engineers_bug_page' into 'develop'

Feature/engineers bug page

See merge request 2020-2021/online/s101/group-02/access_controller!31
This commit is contained in:
Кравченко Артем 2021-03-08 13:41:54 +00:00
commit 52f7858439
3 changed files with 22 additions and 9 deletions

View File

@ -13,6 +13,8 @@
<a class="btn btn-secondary" href="{% url 'profile' %}">Профиль</a>
{% if perms.main.has_control_access %}
<a class="btn btn-secondary" href="{% url 'control' %}">Управление</a>
{% else %}
<a class="btn btn-secondary" href="{% url 'work' request.user.id %}">Запрос прав</a>
{% endif %}
<a class="btn btn-secondary" href="{% url 'logout' %}">Выйти</a>
</div>

View File

@ -22,13 +22,13 @@
<h6 class="table-title">Список сотрудников с правами инженера</h6>
<table class="light-table">
<thead>
<th>ID</th>
<th>Email</th>
<th>Name</th>
</thead>
<tbody>
{% for engineer in engineers %}
<tr>
<td>{{ engineer.id }}</td>
<td>{{ engineer.email }}</td>
<td>{{ engineer.name }}</td>
</tr>
{% endfor %}

View File

@ -128,10 +128,20 @@ def auth_user(request):
@login_required()
def work_page(request, id):
users = get_users_list()
if request.user.id == id:
engineers = []
light_agents = []
for user in users:
if user.custom_role_id == ZENDESK_ROLES['engineer']:
engineers.append(user)
elif user.custom_role_id == ZENDESK_ROLES['light_agent']:
light_agents.append(user)
context = {
'engineers': UserProfile.objects.filter(role="admin"),
'agents': UserProfile.objects.filter(role="agent"),
'engineers': engineers,
'agents': light_agents,
'pagename': 'Управление правами'
}
return render(request, 'pages/work.html', context)
@ -141,8 +151,9 @@ def work_page(request, id):
@login_required()
def work_hand_over(request):
zenpy_user, admin = auth_user(request)
if zenpy_user.role == "admin" or zenpy_user.role == "end-user":
zenpy_user.role = "agent"
if zenpy_user.custom_role_id == ZENDESK_ROLES['engineer']:
zenpy_user.custom_role_id = ZENDESK_ROLES['light_agent']
admin.users.update(zenpy_user)
request.user.userprofile.role = "agent"
request.user.userprofile.save()
@ -152,10 +163,10 @@ def work_hand_over(request):
@login_required()
def work_become_engineer(request):
zenpy_user, admin = auth_user(request)
if zenpy_user.role == "agent" or zenpy_user.role == "end-user":
zenpy_user.role = "admin"
if zenpy_user.custom_role_id == ZENDESK_ROLES['light_agent']:
zenpy_user.custom_role_id = ZENDESK_ROLES['engineer']
admin.users.update(zenpy_user)
request.user.userprofile.role = "admin"
request.user.userprofile.role = "agent"
request.user.userprofile.save()
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))