Advertisement
lewapkon

wwwworkshop.py

Oct 29th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.33 KB | None | 0 0
  1.  
  2. class WorkshopListView(ListView):
  3.     model = models.Workshop
  4.     context_object_name = 'workshops_list'
  5.  
  6. class WorkshopCreateView(LoginRequiredMixin, CreateView):
  7.     model = models.Workshop
  8.     fields = ['name', 'text']
  9.  
  10.     def form_valid(self, form):
  11.         obj = form.save(commit=False)
  12.         obj.host = self.request.user.person
  13.         obj.save()
  14.         return http.HttpResponseRedirect(reverse_lazy('workshop', args=(obj.pk,)))
  15.  
  16. class WorkshopUpdateView(OnlySelectedUsersOrSuperuserMixin, UpdateView):
  17.     model = models.Workshop
  18.     fields = ['name', 'text']
  19.  
  20.     def dispatch(self, request, *args, **kwargs):
  21.         workshop = models.Workshop.objects.get(pk=self.kwargs['pk'])
  22.         self.selectedUsers = (workshop.host,)
  23.         return super().dispatch(request, *args, **kwargs)
  24.  
  25.     def get_success_url(self):
  26.         return reverse_lazy('workshop', args=(self.kwargs['pk'],))
  27.  
  28. class WorkshopDeleteView(OnlySelectedUsersOrSuperuserMixin, DeleteView):
  29.     model = models.Workshop
  30.     success_url = reverse_lazy('workshops')
  31.  
  32.     def dispatch(self, request, *args, **kwargs):
  33.         workshop = models.Workshop.objects.get(pk=self.kwargs['pk'])
  34.         self.selectedUsers = (workshop.host,)
  35.         return super().dispatch(request, *args, **kwargs)
  36.  
  37.     def get_context_data(self, **kwargs):
  38.         context = super().get_context_data(**kwargs)
  39.         context['workshop'] = self.object
  40.         return context
  41.  
  42. class WorkshopDetailView(DetailView):
  43.     model = models.Workshop
  44.     context_object_name = 'workshop'
  45.  
  46.     def get_context_data(self, **kwargs):
  47.         context = super().get_context_data(**kwargs)
  48.  
  49.         if self.request.user.is_authenticated():
  50.             currentUser = self.request.user.person
  51.             objectOwner = self.object.host
  52.             try:
  53.                 application = models.Application.objects.get(
  54.                     workshop=self.object,person=currentUser)
  55.             except models.Application.DoesNotExist:
  56.                 application = None
  57.             context['isOwner'] = currentUser == objectOwner
  58.             context['application'] = application
  59.  
  60.         context['applications'] = models.Application.objects.filter(workshop=self.object).order_by('-qualified')
  61.         context['exercises'] = models.Exercise.objects.filter(workshop=self.object)
  62.         return context
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement