def post(self, *args, **kwargs): super().post(*args, **kwargs) try: self.delete_obj() self.db.remove() except (DatabaseObjectNotFound) as e: log.debug(str(e)) raise HTTPError(404) except Exception as e: log.error(str(e)) raise HTTPError(500) return self.redirect(self.get_success_url())
def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) obj_name = self.get_context_object_name() try: context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) except RuntimeError: log.error("%r is not JSON serializable" % (context[obj_name])) context[obj_name] = dict return json.dumps(context, default=str)
def post(self, *args, **kwargs): super().post(*args, **kwargs) try: self.delete_obj() self.db.remove() return self.render_json(context={'success': True, 'errors': None}) except (RuntimeError, DatabaseObjectNotFound) as e: log.debug(str(e)) return self.render_json_error(errors=[str(e)]) except Exception as e: log.error(str(e)) return self.render_json_error( errors=['Something really bad happens..'] )
def get(self, *args, **kwargs): super().get(*args, **kwargs) try: context = self.get_context_data(**kwargs) obj_name = self.get_context_object_name() context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) return self.render_json(context) except (RuntimeError, DatabaseObjectNotFound) as e: log.debug(str(e)) return self.render_json_error(errors=[str(e)]) except Exception as e: log.error(str(e)) return self.render_json_error( errors=['Something really bad happens..'] )
def form_valid(self, form): try: object = self.get_object() for key, val in form.data.items(): if hasattr(object, key): setattr(object, key, val) self.db.commit() self.db.flush() return self.render_json(context={'success': True, 'errors': None, 'form': None, 'object': object }) except DatabaseObjectNotFound as e: log.debug(str(e)) self.render_json_error(errors=[str(e)]) except Exception as e: self.db.rollback() log.error("Error while querying database in %s: %r" % (self.__class__.__name__, e)) return self.render_json_error(errors=['Database query error'])
def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) obj_name = self.get_context_object_name() new_data = [] if context["is_paginated"]: context["page_obj"] = context["page_obj"].as_dict if type(context[obj_name]) == list: for item in context[obj_name]: try: new_data.append(sqlalchemy_orm_to_dict(item)) except RuntimeError: log.error("%r is not JSON serializable" % (item)) context[obj_name] = new_data return json.dumps(context, default=str)
def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) if 'form' in context and context['form'] is not None: form_html = '' for item in context['form']: form_html += str(item) context['form'] = form_html obj_name = self.get_context_object_name() if obj_name in context: try: context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) except RuntimeError: log.error("%r is not JSON serializable" % (context[obj_name])) context[obj_name] = dict return json.dumps(context, default=str)