create_ticket def
This commit is contained in:
SDE
2023-08-01 16:57:26 +03:00
parent 2388ad154c
commit 21cf7fca80
3 changed files with 53 additions and 4 deletions

View File

@@ -5,7 +5,7 @@ from django.core.exceptions import ValidationError
from .models import *
class CreateTicketForm(forms.ModelForm):
class TicketForm(forms.ModelForm):
text = forms.CharField(required=True)
# files = forms.CharField(required=True)
class Meta:

View File

@@ -7,7 +7,8 @@ from django.contrib.auth import views
from RoutesApp.js_views import new_route_view_ajax
urlpatterns = [
path('support_create_ticket_ajax/', support_create_ticket_ajax, name='support_create_ticket_ajax'),
path('support_create_ticket_form/', support_create_ticket_form_ajax, name='support_create_ticket_form_ajax'),
path('create_ticket/', create_ticket_ajax, name='create_ticket_ajax'),
# path('create_/', registration_ajax, name='registration_ajax'),
]

View File

@@ -13,7 +13,7 @@ from django.template.loader import render_to_string
from django.urls import reverse
@login_required(login_url='/profile/login/')
def support_create_ticket_ajax(request):
def support_create_ticket_form_ajax(request):
from ChatServiceApp.forms import CreateTicketForm
if request.method != 'POST':
@@ -25,3 +25,51 @@ def support_create_ticket_ajax(request):
html = render_to_string('blocks/profile/b_create_ticket.html', Dict, request=request)
return JsonResponse({'html': html}, status=200)
@login_required(login_url='/profile/login/')
def create_ticket_ajax(request):
from ChatServiceApp.forms import TicketForm
if request.method != 'POST':
raise Http404
try:
data = request.POST
form = TicketForm(data)
if not form.is_valid():
form.initial = form.cleaned_data
Dict = {'form': form}
html = render_to_string('blocks/profile/b_create_ticket.html', Dict, request=request)
return JsonResponse({'html': html}, status=400)
obj = form.save(commit=False)
obj.owner = request.user
obj.save()
Dict = {
'ticket': obj
}
html = render_to_string('blocks/profile/b_support_chat.html', Dict, request=request)
res_Dict = {
'html': html
}
return JsonResponse(res_Dict)
except Exception as e:
errors_Dict = {
'errors': {
'all__': f'ошибка в запросе = {str(e)}'
}
}
Dict = {'form': errors_Dict}
html = render_to_string('blocks/profile/b_create_ticket.html', Dict, request=request)
return JsonResponse({'html': html}, status=400)