web/views/editcontroller.py
changeset 4045 f4a52abb6f4f
parent 4007 91d11fda4aa0
child 4053 7cc66b1d9183
equal deleted inserted replaced
4044:3876c894e018 4045:f4a52abb6f4f
   176                 if not (
   176                 if not (
   177                     (field.role == 'subject' and eschema.has_subject_relation(field.name))
   177                     (field.role == 'subject' and eschema.has_subject_relation(field.name))
   178                     or
   178                     or
   179                     (field.role == 'object' and eschema.has_object_relation(field.name))):
   179                     (field.role == 'object' and eschema.has_object_relation(field.name))):
   180                     continue
   180                     continue
   181                 rschema = self._cw.schema.rschema(field.name)
   181                 rschema = self._cw.vreg.schema.rschema(field.name)
   182                 if rschema.is_final():
   182                 if rschema.is_final():
   183                     rqlquery.kwargs[attr] = value
   183                     rqlquery.kwargs[attr] = value
   184                     rqlquery.edited.append('X %s %%(%s)s' % (attr, attr))
   184                     rqlquery.edited.append('X %s %%(%s)s' % (attr, attr))
   185                 elif rschema.inlined:
   185                 elif rschema.inlined:
   186                     self.handle_inlined_relation(form, field, entity, rqlquery)
   186                     self.handle_inlined_relation(form, field, entity, rqlquery)
   244         origvalues = set(row[0] for row in entity.related(field.name, field.role))
   244         origvalues = set(row[0] for row in entity.related(field.name, field.role))
   245         values  = self._relation_values(form, field, entity, late)
   245         values  = self._relation_values(form, field, entity, late)
   246         if values is None or values == origvalues:
   246         if values is None or values == origvalues:
   247             return # not edited / not modified / to do later
   247             return # not edited / not modified / to do later
   248         etype = entity.e_schema
   248         etype = entity.e_schema
   249         rschema = self._cw.schema.rschema(field.name)
   249         rschema = self._cw.vreg.schema.rschema(field.name)
   250         if field.role == 'subject':
   250         if field.role == 'subject':
   251             desttype = rschema.objects(etype)[0]
   251             desttype = rschema.objects(etype)[0]
   252             card = rschema.rproperty(etype, desttype, 'cardinality')[0]
   252             card = rschema.rproperty(etype, desttype, 'cardinality')[0]
   253             subjvar, objvar = 'X', 'Y'
   253             subjvar, objvar = 'X', 'Y'
   254         else:
   254         else: