store incoming keys when adding a user record
[sfa.git] / sfa / storage / model.py
index da66716..30670f4 100644 (file)
@@ -201,7 +201,7 @@ class RegUser (RegRecord):
     email               = Column ('email', String)
     # can't use name 'keys' here because when loading from xml we're getting
     # a 'keys' tag, and assigning a list of strings in a reference column like this crashes
-    reg_keys                = relationship ('RegKey', backref='reg_user')
+    reg_keys            = relationship ('RegKey', backref='reg_user')
     
     def __init__ (self, **kwds):
         # handle local settings
@@ -222,6 +222,9 @@ class RegUser (RegRecord):
         assert '@' in address
         return address
 
+    def normalize_xml (self):
+        if hasattr(self,'keys'): self.reg_keys = [ RegKey (key) for key in self.keys ]
+
 ####################
 # xxx tocheck : not sure about eager loading of this one
 # meaning, when querying the whole records, we expect there should
@@ -293,3 +296,4 @@ def make_record_xml (xml):
     xml_dict = xml_record.todict()
     logger.info("load from xml, keys=%s"%xml_dict.keys())
     return make_record_dict (xml_dict)
+