class DeleteView(generic.DeleteView): template_name = 'admin/delete_confirmation.html' def __init__(self, *args, **kwargs): super(DeleteView, self).__init__(*args, **kwargs) def get_context_data(self, **kwargs): context = super(DeleteView, self).get_context_data(**kwargs) context['action_url'] = self.request.path return context @method_decorator(user_is('staff')) def dispatch(self, *args, **kwargs): return super(DeleteView, self).dispatch(*args, **kwargs)
class ProtectedUpdateView(generic.UpdateView): @method_decorator(user_is('staff')) def dispatch(self, *args, **kwargs): return super(ProtectedUpdateView, self).dispatch(*args, **kwargs)