Advertisement
DatTony

Untitled

Dec 18th, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. from django.shortcuts import render
  2. from django.http import JsonResponse, HttpResponse
  3. from django.shortcuts import redirect
  4.  
  5. from django.views.generic import ListView
  6. from tickets.models import Ticket, User
  7. from tickets.forms import UserForm
  8.  
  9. def index(request):
  10.     return render(request, "tickets/main_tick.html")
  11.  
  12. class TicketListView(ListView):
  13.     model = Ticket
  14.     template_name = 'tickets/main_tick.html'
  15.  
  16.     def get(self, request, *args, **kwargs):
  17.         if request.is_ajax():
  18.             return self.get_for_ajax()
  19.         else:
  20.             return super(TicketListView, self)\
  21.                 .get(request, *args, **kwargs)
  22.  
  23.     def get_for_ajax(self):
  24.         go_from = self.request.GET.get('go_from', None)
  25.         go_to = self.request.GET.get('go_to', None)
  26.         filtered_obj = Ticket.objects.filter(go_from=go_from,
  27.                                              go_to=go_to)
  28.         return render(self.request, "tickets/tick_list.html",
  29.                       {'object_list': filtered_obj})
  30.  
  31.     def get_context_data(self, **kwargs):
  32.         context = super(TicketListView, self)\
  33.             .get_context_data(**kwargs)
  34.         context['from_places'] = [ticket.go_from for ticket in Ticket.objects.all()]
  35.         context['to_places'] = [ticket.go_to for ticket in Ticket.objects.all()]
  36.        
  37.         return context
  38.  
  39. def CreateTicket(request):
  40.     if request.method == 'POST':
  41.         form = UserForm(data = request.POST)
  42.         if form.is_valid():
  43.             form.save()
  44.  
  45.             return redirect('/index')
  46.         else:
  47.             return render(request, 'tickets/main_tick.html', {'form':form})
  48.     else:
  49.         return render_to_response('tickets/main_tick.html', {},)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement