Advertisement
lewapkon

ExerciseCreateView.py

Oct 28th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. class ExerciseCreateView(OnlySelectedUsersOrSuperuserMixin, CreateView):
  2.     model = models.Exercise
  3.     fields = ['name', 'text']
  4.  
  5.     def dispatch(self, request, *args, **kwargs):
  6.         self._workshop = models.Workshop.objects.get(pk=self.kwargs['workshop__pk'])
  7.         self.selectedUsers = (self._workshop.host,)
  8.         return super().dispatch(request, *args, **kwargs)
  9.  
  10.     def get_context_data(self, **kwargs):
  11.         context = super().get_context_data(**kwargs)
  12.         context['workshop'] = self._workshop
  13.         return context
  14.  
  15.     def form_valid(self, form):
  16.         obj = form.save(commit=False)
  17.         obj.workshop = models.Workshop.objects.get(
  18.             pk=self.kwargs['workshop__pk'])
  19.         obj.save()
  20.         return http.HttpResponseRedirect(reverse_lazy('exercise', args=(obj.pk,)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement