def run(self, request, context): try: if not context.id and self.parent.add_window: obj = utils.bind_request_form_to_object( request, self.parent.get_row, self.parent.add_window) else: obj = utils.bind_request_form_to_object( request, self.parent.get_row, self.parent.edit_window) except self.parent._nofound_exception: return OperationResult.by_message(MSG_DOESNOTEXISTS % context.id) # Проверка корректности полей сохраняемого объекта result = self.parent.validate_row(obj, request) if result: assert isinstance(result, ActionResult) return result result = self.parent.save_row(obj) if isinstance(result, OperationResult) and result.success is True: # узкое место. после того, как мы переделаем работу экшенов, # имя параметра с идентификатором запси может уже называться не # id if 'm3_audit' in settings.INSTALLED_APPS: AuditManager().write('dict-changes', user=request.user, model_object=obj, type='new' if not context.id else 'edit') context.id = obj.id return result
def run(self, request, context): try: if not context.id and self.parent.add_window: obj = utils.bind_request_form_to_object( request, self.parent.get_row, self.parent.add_window) else: obj = utils.bind_request_form_to_object( request, self.parent.get_row, self.parent.edit_window) except self.parent._nofound_exception: return OperationResult.by_message(MSG_DOESNOTEXISTS % context.id) # Проверка корректности полей сохраняемого объекта result = self.parent.validate_row(obj, request) if result: assert isinstance(result, ActionResult) return result result = self.parent.save_row(obj) if isinstance(result, OperationResult) and result.success is True: # узкое место. после того, как мы переделаем работу экшенов, # имя параметра с идентификатором запси может уже называться не # id if 'm3_audit' in settings.INSTALLED_APPS: AuditManager().write( 'dict-changes', user=request.user, model_object=obj, type='new' if not context.id else 'edit') context.id = obj.id return result
def run(self, request, context): obj = utils.bind_request_form_to_object(request, self.parent.get_row, self.parent.edit_window) result = self.parent.validate_row(obj, request) if result: assert isinstance(result, ActionResult) return result return self.parent.save_row(obj)
def run(self, request, context): obj = utils.bind_request_form_to_object( request, self.parent.get_row, self.parent.edit_window) result = self.parent.validate_row(obj, request) if result: assert isinstance(result, ActionResult) return result return self.parent.save_row(obj)
def run(self, request, context): try: obj = utils.bind_request_form_to_object(request, self.parent.get_row, self.parent.edit_window) except self.parent._nofound_exception: return OperationResult.by_message(MSG_DOESNOTEXISTS % context.id) result = self.parent.validate_row(obj, request) if result: assert isinstance(result, ActionResult) return result return self.parent.save_row(obj)
def form_to_object(self, request, context, get_obj, win_cls): """ Заполнение атрибутов объекта данными из формы. (вынесено для удобства переопределения) """ return utils.bind_request_form_to_object(request, get_obj, win_cls)