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> | ||||
|             {% endfor %} | ||||
|             <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> | ||||
|         </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> | ||||
|       <!-- Search --> | ||||
|       <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' %} | ||||
| <div class="container mt-5"> | ||||
|   <div class="row"> | ||||
|     <form method="post" action="{% url 'delete' ticket.number %}"> | ||||
|     <form method="post" action="{% url 'collector:delete' ticket.number %}"> | ||||
|       {% csrf_token %} | ||||
|       <button | ||||
|         type="button" | ||||
| @ -12,7 +12,7 @@ | ||||
|         data-bs-dismiss="modal" | ||||
|       >Cancel</button> | ||||
|       <button | ||||
|         type="button" | ||||
|         type="submit" | ||||
|         class="btn btn-danger btn-archive-eraser" | ||||
|         data-bs-dismiss="modal" | ||||
|       >Delete</button> | ||||
| @ -9,6 +9,13 @@ urlpatterns = [ | ||||
|     # ▀▄▀▄▀ ██▄ █▄█ | ||||
|     # -- -- -- -- -- | ||||
| 
 | ||||
|     # CREATE: | ||||
|     path( | ||||
|         'tickets/create/', | ||||
|         views.CreateTicket.as_view(), | ||||
|         name='create' | ||||
|     ), | ||||
| 
 | ||||
|     # READ: | ||||
|     path( | ||||
|         '', | ||||
|  | ||||
| @ -8,7 +8,7 @@ from django.urls import reverse_lazy | ||||
| from rest_framework import status | ||||
| # from rest_framework.response import Response | ||||
| 
 | ||||
| from .models import Archive, Ticket, Platform | ||||
| from .models import Archive, Ticket | ||||
| from .utils import is_ajax | ||||
| 
 | ||||
| 
 | ||||
| @ -28,17 +28,22 @@ class ArchiveHandlerView(LoginRequiredMixin, SingleObjectMixin, generic.View): | ||||
|             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): | ||||
|     model = Ticket | ||||
|     template_name = 'collector/tickets.html' | ||||
|     context_object_name = 'tickets' | ||||
|     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): | ||||
|     model = Ticket | ||||
| @ -52,11 +57,6 @@ class ListPlatformTickets(generic.ListView): | ||||
|             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): | ||||
|     model = Ticket | ||||
| @ -65,15 +65,10 @@ class DetailTicket(generic.DetailView): | ||||
|     slug_field = 'number' | ||||
|     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): | ||||
|     model = Ticket | ||||
|     template_name = 'collector/delete_ticket.html' | ||||
|     template_name = 'collector/ticket_delete.html' | ||||
|     context_object_name = 'ticket' | ||||
|     slug_field = 'number' | ||||
|     slug_url_kwarg = 'ticket' | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user