merge take tickets

This commit is contained in:
Artyom Kravchenko 2021-04-15 18:47:58 +03:00
commit afec8e59e4
4 changed files with 25 additions and 2 deletions

View File

@ -18,7 +18,7 @@ from django.contrib.auth import views as auth_views
from django.urls import path, include
from main.views import main_page, profile_page, CustomRegistrationView, CustomLoginView, registration_error
from main.views import work_page, work_hand_over, work_become_engineer, \
from main.views import work_page, work_hand_over, work_become_engineer, work_get_tickets, \
AdminPageView, statistic_page
from main.urls import router
@ -34,6 +34,8 @@ urlpatterns = [
path('work/<int:id>', work_page, name="work"),
path('work/hand_over/', work_hand_over, name="work_hand_over"),
path('work/become_engineer/', work_become_engineer, name="work_become_engineer"),
path('work/get_tickets', work_get_tickets, name='work_get_tickets'),
path('accounts/', include('django_registration.backends.activation.urls')),
path('accounts/login/', include('django.contrib.auth.urls')),
path('control/', AdminPageView.as_view(), name='control'),
path('statistic/', statistic_page, name='statistic'),

View File

@ -60,6 +60,12 @@
<a href="/work/become_engineer" class="request-acess-button default-button">Получить права инженера</a>
<a href="/work/hand_over" class="hand-over-acess-button default-button">Сдать права инженера</a>
</div>
<div class="col-10">
<form method="GET" action="/work/get_tickets">
<input class="form-control mb-3" type="number" min="1" value="1" name="count_tickets">
<button type="submit" class="default-button">Взять тикеты в работу</button>
</form>
</div>
</div>
{% include 'base/success_messages.html' %}
</div>

View File

@ -187,7 +187,7 @@ def work_page(request: WSGIRequest, id: int) -> HttpResponse:
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']:
@ -248,6 +248,18 @@ def work_become_engineer(request: WSGIRequest) -> HttpResponseRedirect:
make_engineer(request.user.userprofile,request.user)
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
@login_required()
def work_get_tickets(request):
zenpy_user, admin = auth_user(request)
count_tickets = int(request.GET["count_tickets"])
tickets = [ticket for ticket in admin.search(type="ticket") if ticket.group.name == 'Сменная группа' and ticket.assignee is None]
for i in range(len(tickets)):
if i == count_tickets:
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
tickets[i].assignee = zenpy_user
admin.tickets.update(tickets[i])
return HttpResponseRedirect(reverse('work', args=(request.user.id,)))
def main_page(request: WSGIRequest) -> HttpResponse:
"""

View File

@ -124,4 +124,7 @@
padding: 10px;
background: #3B91D4;
color: white;
width: 100%;
}