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) |