common/mixins.py
changeset 2784 f395115070c1
parent 2778 3f6dfc312760
child 2789 39712da6f397
--- a/common/mixins.py	Tue Aug 11 17:27:27 2009 +0200
+++ b/common/mixins.py	Wed Aug 12 18:05:19 2009 +0200
@@ -168,7 +168,7 @@
     @property
     def state(self):
         try:
-            return self.related('in_state', entities=True)[0].get_value('name')
+            return self.in_state[0].name
         except IndexError:
             self.warning('entity %s has no state', self)
             return None
@@ -259,10 +259,10 @@
     __implements__ = (IEmailable,)
 
     def get_email(self):
-        emails = self.related('primary_email', 'subject', entities=True) or \
-                 self.related('use_email', 'subject', entities=True)
-        if emails:
-            return emails[0].get_value('address')
+        if getattr(self, 'primary_email', None):
+            return self.primary_email[0].address
+        if getattr(self, 'use_email', None):
+            return self.use_email[0].address
         return None
 
     @classmethod
@@ -283,8 +283,7 @@
         NOTE: the dictionary keys should match the list returned by the
         `allowed_massmail_keys` method.
         """
-        return dict( (attr, self.cwgetattr(attr))
-                     for attr in self.allowed_massmail_keys() )
+        return dict( (attr, getattr(self, attr)) for attr in self.allowed_massmail_keys() )