def delete(self, request, *args, **kwargs): try: d = self.get_object() print("d:", d) deps, msg = get_dep_objects(d) if deps: messages.warning( self.request, _('Cannot delete %(name)s') % { "name": capfirst(force_text(self.model._meta.verbose_name)) + ' "' + force_text(d) + '"' }) raise Exception(msg) d.delete() msg = _('The %(name)s "%(obj)s" was deleted successfully.') % { 'name': capfirst(force_text(self.model._meta.verbose_name)), 'obj': force_text(d) } if not d.id: messages.success(self.request, msg) log.warning(msg, extra=log_params(self.request)) except Exception as e: messages.error(request, e) log.warning(force_text(e), extra=log_params(self.request)) return HttpResponseRedirect(self.success_url)
def form_valid(self, form): self.object = form.save(commit=True) msg = _('The %(name)s "%(obj)s" was added successfully.') % { 'name': capfirst(force_text(self.model._meta.verbose_name)), 'obj': force_text(self.object) } if self.object.id: messages.success(self.request, msg) log.warning(msg, extra=log_params(self.request)) return super(MenuCreateView, self).form_valid(form)
def dispatch(self, request, *args, **kwargs): pk = self.kwargs['pk'] if not pk: return HttpResponseRedirect(self.success_url) self.kwargs['pk'] = pk try: self.get_object() except Exception as e: messages.error(self.request, e) log.warning(force_text(e), extra=log_params(self.request)) return HttpResponseRedirect(self.success_url) return super(MenuDeleteView, self).dispatch(request, *args, **kwargs)
def dispatch(self, request, *args, **kwargs): state = self.kwargs['state'] pk = self.kwargs['pk'] if not pk: return HttpResponseRedirect(self.success_url) try: self.object = self.model.objects.get(pk=pk) except Exception as e: messages.error(self.request, e) log.warning(force_text(e), extra=log_params(self.request)) return HttpResponseRedirect(self.success_url) msg = _('The %(name)s "%(obj)s" was %(action)s successfully.') % { 'name': capfirst(force_text(self.model._meta.verbose_name)), 'obj': force_text(self.object), 'action': (_('reactivated') if state == 'rea' else _('inactivated')) } mse = _('The %(name)s "%(obj)s" is already %(action)s.') % { 'name': capfirst(force_text(self.model._meta.verbose_name)), 'obj': force_text(self.object), 'action': (_('active') if state == 'rea' else _('inactive')) } try: if state == 'ina' and not self.object.is_active: raise Exception(mse) else: if state == 'rea' and self.object.is_active: raise Exception(mse) else: self.object.is_active = (True if state == 'rea' else False) self.object.save() messages.success(self.request, msg) log.warning(msg, extra=log_params(self.request)) except Exception as e: messages.error(self.request, e) log.warning(force_text(e), extra=log_params(self.request)) return HttpResponseRedirect(self.success_url)