Added key field definitions to the User logic
authorSverre Rabbelier <srabbelier@gmail.com>
Sun, 02 Nov 2008 22:56:52 +0000
changeset 434 a4fc430fefac
parent 433 001b981be45e
child 435 829fe8302a8b
Added key field definitions to the User logic This is the first part of making the User views generic.
app/soc/logic/models/user.py
--- a/app/soc/logic/models/user.py	Sun Nov 02 22:56:28 2008 +0000
+++ b/app/soc/logic/models/user.py	Sun Nov 02 22:56:52 2008 +0000
@@ -40,6 +40,29 @@
     self._model = soc.models.user.User
     self._skip_properties = ['former_ids']
 
+  def getKeyValues(self, entity):
+    """See base.Logic.getKeyNameValues.
+    """
+
+    return [entity.link_name]
+
+  def getKeyValuesFromFields(self, fields):
+    """See base.Logic.getKeyValuesFromFields.
+    """
+
+    properties = {
+        'link_name': fields['link_name']
+        }
+
+    entity = self.getForFields(properties, unique=True)
+    return [entity.id.email()]
+
+  def getKeyFieldNames(self):
+    """See base.Logic.getKeyFieldNames
+    """
+
+    return ['email']
+
   def _updateField(self, model, name, value):
     """Special case logic for id.