web/formfields.py
branchstable
changeset 5661 84ef08bbda3c
parent 5497 96fd339f7917
child 5679 0f2ded880d01
child 5756 ab03e4adb4f1
equal deleted inserted replaced
5660:97343804414b 5661:84ef08bbda3c
   431         except AttributeError:
   431         except AttributeError:
   432             # fields with eidparam=True but not corresponding to an actual
   432             # fields with eidparam=True but not corresponding to an actual
   433             # attribute or relation
   433             # attribute or relation
   434             return True
   434             return True
   435         # if it's a non final relation, we need the eids
   435         # if it's a non final relation, we need the eids
   436         if isinstance(previous_value, tuple):
   436         # XXX underlying regression: getattr(ent, 'foo') used to return
       
   437         #     a tuple, now we get a list
       
   438         if isinstance(previous_value, (list, tuple)):
   437             # widget should return a set of untyped eids
   439             # widget should return a set of untyped eids
   438             previous_value = set(unicode(e.eid) for e in previous_value)
   440             previous_value = set(e.eid for e in previous_value)
   439         try:
   441         try:
   440             new_value = self.process_form_value(form)
   442             new_value = self.process_form_value(form)
   441         except ProcessFormError:
   443         except ProcessFormError:
   442             return True
   444             return True
   443         except UnmodifiedField:
   445         except UnmodifiedField: