app/soc/logic/accounts.py
changeset 592 be98a2f5d8a2
parent 543 280a1ac6bcc1
child 724 b26295df0d9a
equal deleted inserted replaced
591:530fa94faffe 592:be98a2f5d8a2
    24 
    24 
    25 
    25 
    26 from google.appengine.api import users
    26 from google.appengine.api import users
    27 
    27 
    28 from soc.logic import models
    28 from soc.logic import models
    29 from soc.views import out_of_band
       
    30 
    29 
    31 import soc.models.user
    30 import soc.models.user
    32 import soc.logic.models.user
    31 import soc.logic.models.user
    33 
    32 
    34 
    33 
   108     # so it is available
   107     # so it is available
   109     return True
   108     return True
   110 
   109 
   111   # email does not already belong to this User, but to some other User
   110   # email does not already belong to this User, but to some other User
   112   return False
   111   return False
   113 
       
   114 
       
   115 # TODO(tlarsen): make this generic for any Linkable and move elsewhere
       
   116 def getUserFromLinkIdOr404(link_id):
       
   117   """Like getUserFromLinkId but expects to find a user.
       
   118 
       
   119   Raises:
       
   120     out_of_band.Error if no User entity is found
       
   121   """
       
   122   user = models.user.logic.getForFields({'link_id': link_id},
       
   123                                         unique=True)
       
   124 
       
   125   if user:
       
   126     return user
       
   127 
       
   128   raise out_of_band.Error(
       
   129       'There is no user with a "link ID" of "%s".' % link_id, status=404)