Add: prototype create ticket view
This commit is contained in:
parent
06648a237a
commit
38f1cb14ae
@ -0,0 +1,9 @@
|
|||||||
|
from django.forms import ModelForm
|
||||||
|
|
||||||
|
from .models import Ticket
|
||||||
|
|
||||||
|
|
||||||
|
class TicketForm(ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Ticket
|
||||||
|
fields = ['number', 'platform', 'resolved', 'note']
|
@ -52,10 +52,18 @@
|
|||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<li><hr class="dropdown-divider" /></li>
|
<li><hr class="dropdown-divider" /></li>
|
||||||
<li><a class="dropdown-item" href="{% url 'collector:tickets' %}"><i class="bi bi-funnel"></i> Reset filter</a></li>
|
<li>
|
||||||
|
<a class="dropdown-item" href="{% url 'collector:tickets' %}">
|
||||||
|
<i class="bi bi-funnel"></i> Reset filter
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item"><a class="nav-link" aria-current="page" href="#"><i class="bi bi-pencil-square"></i> New</a></li>
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" aria-current="page" href="{% url 'collector:create' %}">
|
||||||
|
<i class="bi bi-pencil-square"></i> New
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- Search -->
|
<!-- Search -->
|
||||||
<ul class="navbar-nav flex-row flex-wrap me-md-auto">
|
<ul class="navbar-nav flex-row flex-wrap me-md-auto">
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
{% extends 'collector/base.html' %}
|
||||||
|
{% load static %}
|
||||||
|
{% block title %}<title>Collector - create</title>{% endblock title %}
|
||||||
|
{% block main %}
|
||||||
|
<div class="container mt-3">
|
||||||
|
<div class="row">
|
||||||
|
<form action="{% url 'collector:create' %}" method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ form.as_p }}
|
||||||
|
<button type="submit" class="btn btn-success">
|
||||||
|
Create
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock main %}
|
@ -4,7 +4,7 @@
|
|||||||
{% include 'collector/includes/navbar.html' %}
|
{% include 'collector/includes/navbar.html' %}
|
||||||
<div class="container mt-5">
|
<div class="container mt-5">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form method="post" action="{% url 'delete' ticket.number %}">
|
<form method="post" action="{% url 'collector:delete' ticket.number %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@ -12,7 +12,7 @@
|
|||||||
data-bs-dismiss="modal"
|
data-bs-dismiss="modal"
|
||||||
>Cancel</button>
|
>Cancel</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="submit"
|
||||||
class="btn btn-danger btn-archive-eraser"
|
class="btn btn-danger btn-archive-eraser"
|
||||||
data-bs-dismiss="modal"
|
data-bs-dismiss="modal"
|
||||||
>Delete</button>
|
>Delete</button>
|
@ -9,6 +9,13 @@ urlpatterns = [
|
|||||||
# ▀▄▀▄▀ ██▄ █▄█
|
# ▀▄▀▄▀ ██▄ █▄█
|
||||||
# -- -- -- -- --
|
# -- -- -- -- --
|
||||||
|
|
||||||
|
# CREATE:
|
||||||
|
path(
|
||||||
|
'tickets/create/',
|
||||||
|
views.CreateTicket.as_view(),
|
||||||
|
name='create'
|
||||||
|
),
|
||||||
|
|
||||||
# READ:
|
# READ:
|
||||||
path(
|
path(
|
||||||
'',
|
'',
|
||||||
|
@ -8,7 +8,7 @@ from django.urls import reverse_lazy
|
|||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
# from rest_framework.response import Response
|
# from rest_framework.response import Response
|
||||||
|
|
||||||
from .models import Archive, Ticket, Platform
|
from .models import Archive, Ticket
|
||||||
from .utils import is_ajax
|
from .utils import is_ajax
|
||||||
|
|
||||||
|
|
||||||
@ -28,17 +28,22 @@ class ArchiveHandlerView(LoginRequiredMixin, SingleObjectMixin, generic.View):
|
|||||||
return JsonResponse({'file': path}, status=status.HTTP_200_OK)
|
return JsonResponse({'file': path}, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
|
class CreateTicket(LoginRequiredMixin, generic.CreateView):
|
||||||
|
model = Ticket
|
||||||
|
template_name = 'collector/ticket_create.html'
|
||||||
|
fields = ['number', 'platform', 'resolved', 'note']
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.instance.user = self.request.user
|
||||||
|
return super().form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
class ListAllTickets(generic.ListView):
|
class ListAllTickets(generic.ListView):
|
||||||
model = Ticket
|
model = Ticket
|
||||||
template_name = 'collector/tickets.html'
|
template_name = 'collector/tickets.html'
|
||||||
context_object_name = 'tickets'
|
context_object_name = 'tickets'
|
||||||
paginate_by = 5
|
paginate_by = 5
|
||||||
|
|
||||||
# def get_context_data(self, **kwargs):
|
|
||||||
# context = super().get_context_data(**kwargs)
|
|
||||||
# context['platforms'] = Platform.objects.all()
|
|
||||||
# return context
|
|
||||||
|
|
||||||
|
|
||||||
class ListPlatformTickets(generic.ListView):
|
class ListPlatformTickets(generic.ListView):
|
||||||
model = Ticket
|
model = Ticket
|
||||||
@ -52,11 +57,6 @@ class ListPlatformTickets(generic.ListView):
|
|||||||
platform__name=self.kwargs.get('platform')
|
platform__name=self.kwargs.get('platform')
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
|
||||||
context = super().get_context_data(**kwargs)
|
|
||||||
context['platforms'] = Platform.objects.all()
|
|
||||||
return context
|
|
||||||
|
|
||||||
|
|
||||||
class DetailTicket(generic.DetailView):
|
class DetailTicket(generic.DetailView):
|
||||||
model = Ticket
|
model = Ticket
|
||||||
@ -65,15 +65,10 @@ class DetailTicket(generic.DetailView):
|
|||||||
slug_field = 'number'
|
slug_field = 'number'
|
||||||
slug_url_kwarg = 'ticket'
|
slug_url_kwarg = 'ticket'
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
|
||||||
context = super().get_context_data(**kwargs)
|
|
||||||
context['platforms'] = Platform.objects.all()
|
|
||||||
return context
|
|
||||||
|
|
||||||
|
|
||||||
class DeleteTicket(generic.DeleteView):
|
class DeleteTicket(generic.DeleteView):
|
||||||
model = Ticket
|
model = Ticket
|
||||||
template_name = 'collector/delete_ticket.html'
|
template_name = 'collector/ticket_delete.html'
|
||||||
context_object_name = 'ticket'
|
context_object_name = 'ticket'
|
||||||
slug_field = 'number'
|
slug_field = 'number'
|
||||||
slug_url_kwarg = 'ticket'
|
slug_url_kwarg = 'ticket'
|
||||||
|
Loading…
Reference in New Issue
Block a user