app/soc/views/site/user/profile.py
changeset 365 74dec172944e
parent 361 465e4df617de
child 374 9363b9dc2983
equal deleted inserted replaced
364:ab47d3f494b3 365:74dec172944e
    33 from soc.logic import validate
    33 from soc.logic import validate
    34 from soc.logic.site import id_user
    34 from soc.logic.site import id_user
    35 from soc.views import simple
    35 from soc.views import simple
    36 from soc.views import helper
    36 from soc.views import helper
    37 from soc.views.helper import access
    37 from soc.views.helper import access
       
    38 from soc.views.helper import decorators
    38 from soc.views.user import profile
    39 from soc.views.user import profile
    39 
    40 
    40 import soc.logic
    41 import soc.logic
    41 import soc.models.user
    42 import soc.models.user
    42 import soc.views.helper.forms
    43 import soc.views.helper.forms
    92       raise forms.ValidationError('Account not found.')
    93       raise forms.ValidationError('Account not found.')
    93     
    94     
    94 
    95 
    95 DEF_SITE_USER_PROFILE_LOOKUP_TMPL = 'soc/site/user/profile/lookup.html'
    96 DEF_SITE_USER_PROFILE_LOOKUP_TMPL = 'soc/site/user/profile/lookup.html'
    96 
    97 
       
    98 @decorators.view
    97 def lookup(request, page=None, template=DEF_SITE_USER_PROFILE_LOOKUP_TMPL):
    99 def lookup(request, page=None, template=DEF_SITE_USER_PROFILE_LOOKUP_TMPL):
    98   """View for a Developer to look up a User Model entity.
   100   """View for a Developer to look up a User Model entity.
    99 
   101 
   100   Args:
   102   Args:
   101     request: the standard django request object
   103     request: the standard django request object
   248 DEF_SITE_USER_PROFILE_EDIT_TMPL = 'soc/site/user/profile/edit.html'
   250 DEF_SITE_USER_PROFILE_EDIT_TMPL = 'soc/site/user/profile/edit.html'
   249 DEF_CREATE_NEW_USER_MSG = ' You can create a new user by visiting' \
   251 DEF_CREATE_NEW_USER_MSG = ' You can create a new user by visiting' \
   250                           ' <a href="/site/user/profile">Create ' \
   252                           ' <a href="/site/user/profile">Create ' \
   251                           'a New User</a> page.'
   253                           'a New User</a> page.'
   252 
   254 
   253 def edit(request, page=None, link_name=None, template=DEF_SITE_USER_PROFILE_EDIT_TMPL):
   255 @decorators.view
       
   256 def edit(request, page=None, link_name=None,
       
   257          template=DEF_SITE_USER_PROFILE_EDIT_TMPL):
   254   """View for a Developer to modify the properties of a User Model entity.
   258   """View for a Developer to modify the properties of a User Model entity.
   255 
   259 
   256   Args:
   260   Args:
   257     request: the standard django request object
   261     request: the standard django request object
   258     page: a soc.logic.site.page.Page object which is abstraction that combines 
   262     page: a soc.logic.site.page.Page object which is abstraction that combines 
   298       properties['link_name']  = new_link_name
   302       properties['link_name']  = new_link_name
   299       properties['nick_name']  = form.cleaned_data.get('nick_name')
   303       properties['nick_name']  = form.cleaned_data.get('nick_name')
   300       properties['is_developer'] = form.cleaned_data.get('is_developer')
   304       properties['is_developer'] = form.cleaned_data.get('is_developer')
   301       
   305       
   302       user = models.user.logic.updateOrCreateFromKeyName(properties, key_name)
   306       user = models.user.logic.updateOrCreateFromKeyName(properties, key_name)
   303 
       
   304       #raise forms.ValidationError("lesseee: " + new_link_name + " " +  user.link_name)
       
   305 
   307 
   306       if not user:
   308       if not user:
   307         return http.HttpResponseRedirect('/')
   309         return http.HttpResponseRedirect('/')
   308         
   310         
   309       # redirect to new /site/user/profile/new_link_name?s=0
   311       # redirect to new /site/user/profile/new_link_name?s=0
   399     return form_id
   401     return form_id
   400 
   402 
   401 
   403 
   402 DEF_SITE_CREATE_USER_PROFILE_TMPL = 'soc/site/user/profile/edit.html'
   404 DEF_SITE_CREATE_USER_PROFILE_TMPL = 'soc/site/user/profile/edit.html'
   403 
   405 
       
   406 @decorators.view
   404 def create(request, page=None, template=DEF_SITE_CREATE_USER_PROFILE_TMPL):
   407 def create(request, page=None, template=DEF_SITE_CREATE_USER_PROFILE_TMPL):
   405   """View for a Developer to create a new User Model entity.
   408   """View for a Developer to create a new User Model entity.
   406 
   409 
   407   Args:
   410   Args:
   408     request: the standard django request object
   411     request: the standard django request object
   436         'link_name': link_name,
   439         'link_name': link_name,
   437         'nick_name': form.cleaned_data.get('nick_name'),
   440         'nick_name': form.cleaned_data.get('nick_name'),
   438         'is_developer': form.cleaned_data.get('is_developer'),
   441         'is_developer': form.cleaned_data.get('is_developer'),
   439       }
   442       }
   440 
   443 
   441       user = models.user.logic.updateOrCreateFromFields(properties, email=form_id.email())
   444       user = models.user.logic.updateOrCreateFromFields(properties, 
       
   445                                                         email=form_id.email())
   442 
   446 
   443       if not user:
   447       if not user:
   444         return http.HttpResponseRedirect('/')
   448         return http.HttpResponseRedirect('/')
   445 
   449 
   446       # redirect to new /site/user/profile/new_link_name?s=0
   450       # redirect to new /site/user/profile/new_link_name?s=0