diff -r 0f572149449d -r e1167bdf71a4 app/soc/logic/site/id_user.py --- a/app/soc/logic/site/id_user.py Fri Sep 12 20:31:56 2008 +0000 +++ b/app/soc/logic/site/id_user.py Fri Sep 12 20:36:17 2008 +0000 @@ -139,7 +139,14 @@ def isIdDeveloper(id=None): """Returns True if Google Account is a Developer with special privileges. - using the App Engine Users API. + Since it only works on the current logged-in user, if id matches the + current logged-in Google Account, the App Engine Users API function + user.is_current_user_admin() is checked. If that returns False, or + id is not the currently logged-in user, the is_developer property of + the User entity corresponding to the id Google Account is checked next. + + This solves the "chicken-and-egg" problem of no User entity having its + is_developer property set, but no one being able to set it. Args: id: a Google Account (users.User) object; if id is not supplied,