app/soc/views/user/profile.py
changeset 365 74dec172944e
parent 361 465e4df617de
child 383 8a8820544caa
equal deleted inserted replaced
364:ab47d3f494b3 365:74dec172944e
    24 
    24 
    25 from google.appengine.api import users
    25 from google.appengine.api import users
    26 
    26 
    27 from django import forms
    27 from django import forms
    28 from django import http
    28 from django import http
    29 from django import shortcuts
       
    30 from django.utils.translation import ugettext_lazy
    29 from django.utils.translation import ugettext_lazy
    31 
    30 
    32 from soc.logic import models
    31 from soc.logic import models
    33 from soc.logic import out_of_band
    32 from soc.logic import out_of_band
    34 from soc.logic import validate
    33 from soc.logic import validate
    35 from soc.logic.site import id_user
    34 from soc.logic.site import id_user
    36 from soc.views import helper
    35 from soc.views import helper
    37 from soc.views import simple
    36 from soc.views import simple
       
    37 from soc.views.helper import decorators
    38 
    38 
    39 import soc.logic
    39 import soc.logic
    40 import soc.models.user
    40 import soc.models.user
    41 import soc.views.helper.forms
    41 import soc.views.helper.forms
    42 import soc.views.helper.requests
    42 import soc.views.helper.requests
    80 
    80 
    81 SUBMIT_PROFILE_SAVED_PARAMS = {
    81 SUBMIT_PROFILE_SAVED_PARAMS = {
    82   SUBMIT_MSG_PARAM_NAME: SUBMIT_MSG_PROFILE_SAVED,
    82   SUBMIT_MSG_PARAM_NAME: SUBMIT_MSG_PROFILE_SAVED,
    83 }
    83 }
    84 
    84 
       
    85 @decorators.view
    85 def edit(request, page=None, link_name=None, 
    86 def edit(request, page=None, link_name=None, 
    86          template=DEF_USER_PROFILE_EDIT_TMPL):
    87          template=DEF_USER_PROFILE_EDIT_TMPL):
    87   """View for a User to modify the properties of a User Model entity.
    88   """View for a User to modify the properties of a User Model entity.
    88 
    89 
    89   Args:
    90   Args:
   142         'link_name': new_link_name,
   143         'link_name': new_link_name,
   143         'nick_name': form.cleaned_data.get("nick_name"),
   144         'nick_name': form.cleaned_data.get("nick_name"),
   144         'id': id,
   145         'id': id,
   145       }
   146       }
   146 
   147 
   147       user = models.user.logic.updateOrCreateFromFields(properties, email=id.email())
   148       user = models.user.logic.updateOrCreateFromFields(properties, 
       
   149                                                         email=id.email())
   148 
   150 
   149       # redirect to new /user/profile/new_link_name?s=0
   151       # redirect to new /user/profile/new_link_name?s=0
   150       # (causes 'Profile saved' message to be displayed)
   152       # (causes 'Profile saved' message to be displayed)
   151       return helper.responses.redirectToChangedSuffix(
   153       return helper.responses.redirectToChangedSuffix(
   152           request, link_name, new_link_name, params=SUBMIT_PROFILE_SAVED_PARAMS)
   154           request, link_name, new_link_name, params=SUBMIT_PROFILE_SAVED_PARAMS)
   181 
   183 
   182   context['form'] = form
   184   context['form'] = form
   183   return helper.responses.respond(request, template, context)
   185   return helper.responses.respond(request, template, context)
   184 
   186 
   185 
   187 
       
   188 @decorators.view
   186 def create(request, page=None, template=DEF_USER_PROFILE_EDIT_TMPL):
   189 def create(request, page=None, template=DEF_USER_PROFILE_EDIT_TMPL):
   187   """create() view is same as edit() view, but with no link_name supplied.
   190   """create() view is same as edit() view, but with no link_name supplied.
   188   """
   191   """
   189   return edit(request, page, link_name=None, template=template)
   192   return edit(request, page, link_name=None, template=template)