server/schemahooks.py
changeset 2740 7ab70fad02df
parent 2697 a0c4bc933a1b
child 2745 0dafa29ace1f
equal deleted inserted replaced
2739:2403260cb5b4 2740:7ab70fad02df
   918     """check name change, handle final"""
   918     """check name change, handle final"""
   919     check_valid_changes(session, entity)
   919     check_valid_changes(session, entity)
   920 
   920 
   921 
   921 
   922 def after_update_erdef(session, entity):
   922 def after_update_erdef(session, entity):
       
   923     if entity.eid in session.transaction_data.get('pendingeids', ()):
       
   924         return
   923     desttype = entity.otype.name
   925     desttype = entity.otype.name
   924     rschema = session.schema[entity.rtype.name]
   926     rschema = session.schema[entity.rtype.name]
   925     newvalues = {}
   927     newvalues = {}
   926     for prop in rschema.rproperty_defs(desttype):
   928     for prop in rschema.rproperty_defs(desttype):
   927         if prop == 'constraints':
   929         if prop == 'constraints':
   928             continue
   930             continue
   929         if prop == 'order':
   931         if prop == 'order':
   930             prop = 'ordernum'
   932             prop = 'ordernum'
   931         if prop in entity:
   933         if prop in entity.edited_attributes:
   932             newvalues[prop] = entity[prop]
   934             newvalues[prop] = entity[prop]
   933     if newvalues:
   935     if newvalues:
   934         subjtype = entity.stype.name
   936         subjtype = entity.stype.name
   935         MemSchemaRDefUpdate(session, kobj=(subjtype, desttype),
   937         MemSchemaRDefUpdate(session, kobj=(subjtype, desttype),
   936                             rschema=rschema, values=newvalues)
   938                             rschema=rschema, values=newvalues)