app/soc/views/user/profile.py
changeset 272 00cea07656c0
parent 269 0f1acc4c3e1e
child 274 56e1c1721299
equal deleted inserted replaced
271:01e90bb21b7e 272:00cea07656c0
    31 from soc.logic import validate
    31 from soc.logic import validate
    32 from soc.logic import out_of_band
    32 from soc.logic import out_of_band
    33 from soc.logic.site import id_user
    33 from soc.logic.site import id_user
    34 from soc.views import helper
    34 from soc.views import helper
    35 import soc.views.helper.requests
    35 import soc.views.helper.requests
       
    36 import soc.views.helper.responses
    36 from soc.views import simple
    37 from soc.views import simple
    37 from soc.views.helpers import forms_helpers
    38 from soc.views.helpers import forms_helpers
    38 from soc.views.helpers import response_helpers
       
    39 
    39 
    40 import soc.models.user
    40 import soc.models.user
    41 
    41 
    42 
    42 
    43 class UserForm(forms_helpers.DbModelForm):
    43 class UserForm(forms_helpers.DbModelForm):
    88     be filled out, or a redirect to the correct view in the interface.
    88     be filled out, or a redirect to the correct view in the interface.
    89   """
    89   """
    90   id = users.get_current_user()
    90   id = users.get_current_user()
    91 
    91 
    92   # create default template context for use with any templates
    92   # create default template context for use with any templates
    93   context = response_helpers.getUniversalContext(request)
    93   context = helper.responses.getUniversalContext(request)
    94 
    94 
    95   if (not id) and (not linkname):
    95   if (not id) and (not linkname):
    96     # not logged in, and no link name, so request that the user sign in 
    96     # not logged in, and no link name, so request that the user sign in 
    97     return simple.requestLogin(request, template, context,
    97     return simple.requestLogin(request, template, context,
    98         # TODO(tlarsen): /user/profile could be a link to a help page instead
    98         # TODO(tlarsen): /user/profile could be a link to a help page instead
   128       user = id_user.updateOrCreateUserFromId(
   128       user = id_user.updateOrCreateUserFromId(
   129           id, link_name=new_linkname, nick_name=nickname)
   129           id, link_name=new_linkname, nick_name=nickname)
   130 
   130 
   131       # redirect to new /user/profile/new_linkname?s=0
   131       # redirect to new /user/profile/new_linkname?s=0
   132       # (causes 'Profile saved' message to be displayed)
   132       # (causes 'Profile saved' message to be displayed)
   133       return response_helpers.redirectToChangedSuffix(
   133       return helper.responses.redirectToChangedSuffix(
   134           request, linkname, new_linkname, params=SUBMIT_PROFILE_SAVED_PARAMS)
   134           request, linkname, new_linkname, params=SUBMIT_PROFILE_SAVED_PARAMS)
   135   else: # request.method == 'GET'
   135   else: # request.method == 'GET'
   136     # try to fetch User entity corresponding to Google Account if one exists    
   136     # try to fetch User entity corresponding to Google Account if one exists    
   137     user = id_user.getUserFromId(id)
   137     user = id_user.getUserFromId(id)
   138 
   138 
   159         return http.HttpResponseRedirect(request.path)
   159         return http.HttpResponseRedirect(request.path)
   160 
   160 
   161       # no User entity exists for this Google Account, so show a blank form
   161       # no User entity exists for this Google Account, so show a blank form
   162       form = UserForm()
   162       form = UserForm()
   163 
   163 
   164   context.update({'form': form})
   164   context['form'] = form
   165   return response_helpers.respond(request, template, context)
   165   return helper.responses.respond(request, template, context)