web/formfields.py
changeset 5676 aa04ccb8dd62
parent 5557 1a534c596bff
child 5679 0f2ded880d01
equal deleted inserted replaced
5675:4535f8e57580 5676:aa04ccb8dd62
   416         initialization requiring the form instance. Do nothing by default.
   416         initialization requiring the form instance. Do nothing by default.
   417         """
   417         """
   418         pass
   418         pass
   419 
   419 
   420     def has_been_modified(self, form):
   420     def has_been_modified(self, form):
       
   421         for field in field.actual_fields(form):
       
   422             if field._has_been_modified():
       
   423                 return True # XXX
       
   424         return False # not modified
       
   425 
       
   426     def _has_been_modified(self, form):
   421         # fields not corresponding to an entity attribute / relations
   427         # fields not corresponding to an entity attribute / relations
   422         # are considered modified
   428         # are considered modified
   423         if not self.eidparam or not self.role or not form.edited_entity.has_eid():
   429         if not self.eidparam or not self.role or not form.edited_entity.has_eid():
   424             return True # XXX
   430             return True # XXX
   425         try:
   431         try:
   439         try:
   445         try:
   440             new_value = self.process_form_value(form)
   446             new_value = self.process_form_value(form)
   441         except ProcessFormError:
   447         except ProcessFormError:
   442             return True
   448             return True
   443         except UnmodifiedField:
   449         except UnmodifiedField:
   444             return False
   450             return False # not modified
   445         if previous_value == new_value:
   451         if previous_value == new_value:
   446             return False # not modified
   452             return False # not modified
   447         return True
   453         return True
   448 
   454 
   449     def process_form_value(self, form):
   455     def process_form_value(self, form):