def form2obj(self, ar, form_values, instance, is_new):
        """Store the `form_values` into the `instance` by calling
        :meth:`form2obj` for every store field.

        """
        disabled_fields = set(self.actor.disabled_fields(instance, ar))
        changed_triggers = []
        for f in self.all_fields:
            if f.name not in disabled_fields:
                try:
                    if f.form2obj(ar, instance, form_values, is_new):
                        m = getattr(instance, f.name + "_changed", None)
                        if m is not None:
                            changed_triggers.append(m)
                except exceptions.ValidationError as e:
                    # logger.warning("20150127 store (field %s) : %s",
                    #                f.name, e)
                    raise exceptions.ValidationError({f.name: e.messages})
                except ValueError as e:
                    # logger.warning("20150127 store (field %s) : %s",
                    #                f.name, e)
                    raise exceptions.ValidationError(
                        {f.name: _("Invalid value for this field (%s).") % e})
                except Exception as e:
                    logger.warning(
                        "Exception during Store.form2obj (field %s) : %s",
                        f.name, e)
                    logger.exception(e)
                    raise
                # logger.info("20120228 Store.form2obj %s -> %s",
                # f, dd.obj2str(instance))
        for m in changed_triggers:
            m(ar)
dataset/ETHPy150Open lsaffre/lino/lino/core/store.py/Store.form2obj/original