diff -r 9b07ddeb1412 -r 94834a1e6c01 app/soc/views/user/profile.py --- a/app/soc/views/user/profile.py Fri Nov 14 06:36:42 2008 +0000 +++ b/app/soc/views/user/profile.py Sat Nov 15 03:12:33 2008 +0000 @@ -28,10 +28,10 @@ from django import http from django.utils.translation import ugettext_lazy +from soc.logic import accounts from soc.logic import models from soc.logic import out_of_band from soc.logic import validate -from soc.logic.site import id_user from soc.views import helper from soc.views import simple from soc.views.helper import decorators @@ -53,15 +53,15 @@ model = soc.models.user.User #: list of model fields which will *not* be gathered by the form - exclude = ['id', 'former_ids', 'is_developer'] + exclude = ['account', 'former_accounts', 'is_developer'] def clean_link_name(self): link_name = self.cleaned_data.get('link_name') if not validate.isLinkNameFormatValid(link_name): raise forms.ValidationError("This link name is in wrong format.") - user = id_user.getUserFromLinkName(link_name) - + user = models.user.logic.getForFields({'link_name': link_name}, + unique=True) if user: raise forms.ValidationError("This link name is already in use.") @@ -99,12 +99,12 @@ A subclass of django.http.HttpResponse which either contains the form to be filled out, or a redirect to the correct view in the interface. """ - id = users.get_current_user() + account = users.get_current_user() # create default template context for use with any templates context = helper.responses.getUniversalContext(request) - if (not id) and (not link_name): + if (not account) and (not link_name): # not logged in, and no link name, so request that the user sign in return simple.requestLogin(request, page, template, context, # TODO(tlarsen): /user/profile could be a link to a help page instead @@ -113,7 +113,7 @@ ' or modify an existing one, you must first' ' sign in.')) - if (not id) and link_name: + if (not account) and link_name: # not logged in, so show read-only public profile for link_name user return simple.public(request, page=page, template=template, link_name=link_name, context=context) @@ -123,13 +123,13 @@ # try to fetch User entity corresponding to link_name if one exists try: if link_name: - link_name_user = id_user.getUserFromLinkNameOr404(link_name) + link_name_user = accounts.getUserFromLinkNameOr404(link_name) except out_of_band.ErrorResponse, error: # show custom 404 page when link name doesn't exist in Datastore return simple.errorResponse(request, page, error, template, context) # link_name_user will be None here if link name was already None... - if link_name_user and (link_name_user.id != id): + if link_name_user and (link_name_user.account != account): # link_name_user exists but is not the currently logged in Google Account, # so show public view for that (other) User entity return simple.public(request, page=page, template=template, @@ -143,17 +143,17 @@ properties = { 'link_name': new_link_name, 'nick_name': form.cleaned_data.get("nick_name"), - 'id': id, + 'account': account, } - # check if user account is not in former_ids + # check if user account is not in former_accounts # if it is show error message that account is invalid - if models.user.logic.isFormerId(id): + if models.user.logic.isFormerAccount(account): msg = DEF_USER_ACCOUNT_INVALID_MSG error = out_of_band.ErrorResponse(msg) return simple.errorResponse(request, page, error, template, context) - user = models.user.logic.updateOrCreateFromId(properties, id) + user = models.user.logic.updateOrCreateFromAccount(properties, account) # redirect to /user/profile?s=0 # (causes 'Profile saved' message to be displayed) @@ -161,7 +161,7 @@ request, None, params=SUBMIT_PROFILE_SAVED_PARAMS) else: # request.method == 'GET' # try to fetch User entity corresponding to Google Account if one exists - user = models.user.logic.getForFields({'id': id}, unique=True) + user = models.user.logic.getForFields({'account': account}, unique=True) if user: # is 'Profile saved' parameter present, but referrer was not ourself?