Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class WorkshopListView(ListView):
- model = models.Workshop
- context_object_name = 'workshops_list'
- class WorkshopCreateView(LoginRequiredMixin, CreateView):
- model = models.Workshop
- fields = ['name', 'text']
- def form_valid(self, form):
- obj = form.save(commit=False)
- obj.host = self.request.user.person
- obj.save()
- return http.HttpResponseRedirect(reverse_lazy('workshop', args=(obj.pk,)))
- class WorkshopUpdateView(OnlySelectedUsersOrSuperuserMixin, UpdateView):
- model = models.Workshop
- fields = ['name', 'text']
- def dispatch(self, request, *args, **kwargs):
- workshop = models.Workshop.objects.get(pk=self.kwargs['pk'])
- self.selectedUsers = (workshop.host,)
- return super().dispatch(request, *args, **kwargs)
- def get_success_url(self):
- return reverse_lazy('workshop', args=(self.kwargs['pk'],))
- class WorkshopDeleteView(OnlySelectedUsersOrSuperuserMixin, DeleteView):
- model = models.Workshop
- success_url = reverse_lazy('workshops')
- def dispatch(self, request, *args, **kwargs):
- workshop = models.Workshop.objects.get(pk=self.kwargs['pk'])
- self.selectedUsers = (workshop.host,)
- return super().dispatch(request, *args, **kwargs)
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context['workshop'] = self.object
- return context
- class WorkshopDetailView(DetailView):
- model = models.Workshop
- context_object_name = 'workshop'
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- if self.request.user.is_authenticated():
- currentUser = self.request.user.person
- objectOwner = self.object.host
- try:
- application = models.Application.objects.get(
- workshop=self.object,person=currentUser)
- except models.Application.DoesNotExist:
- application = None
- context['isOwner'] = currentUser == objectOwner
- context['application'] = application
- context['applications'] = models.Application.objects.filter(workshop=self.object).order_by('-qualified')
- context['exercises'] = models.Exercise.objects.filter(workshop=self.object)
- return context
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement