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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user