app/soc/logic/models/user.py
changeset 496 875bdc5741eb
parent 494 5e9c656a1b68
child 499 d22e4fe8e64b
equal deleted inserted replaced
495:87afae6e4c51 496:875bdc5741eb
    72     properties = {
    72     properties = {
    73         'link_name': fields['link_name']
    73         'link_name': fields['link_name']
    74         }
    74         }
    75 
    75 
    76     entity = self.getForFields(properties, unique=True)
    76     entity = self.getForFields(properties, unique=True)
    77     return [entity.account.email()]
    77     return [entity.link_name]
    78 
    78 
    79   def getKeyFieldNames(self):
    79   def getKeyFieldNames(self):
    80     """See base.Logic.getKeyFieldNames
    80     """See base.Logic.getKeyFieldNames
    81     """
    81     """
    82 
    82 
    90     user = soc.models.user.User.gql('WHERE account = :1', account).get()
    90     user = soc.models.user.User.gql('WHERE account = :1', account).get()
    91     
    91     
    92     if user:
    92     if user:
    93       key_name = user.key().name()
    93       key_name = user.key().name()
    94     else:
    94     else:
    95       key_name  = self.getKeyNameForFields({'email': account.email()})
    95       raise
       
    96       key_name  = self.getKeyNameForFields({'link_name': properties['link_name']})
    96 
    97 
    97     return self.updateOrCreateFromKeyName(properties, key_name)
    98     return self.updateOrCreateFromKeyName(properties, key_name)
    98 
    99 
    99   def _updateField(self, model, name, value):
   100   def _updateField(self, model, name, value):
   100     """Special case logic for account.
   101     """Special case logic for account.