equal
deleted
inserted
replaced
30 |
30 |
31 from soc.logic import dicts |
31 from soc.logic import dicts |
32 from soc.logic import validate |
32 from soc.logic import validate |
33 from soc.logic.models import user as user_logic |
33 from soc.logic.models import user as user_logic |
34 from soc.views import helper |
34 from soc.views import helper |
|
35 from soc.views import out_of_band |
35 from soc.views.helper import access |
36 from soc.views.helper import access |
36 from soc.views.models import base |
37 from soc.views.models import base |
37 |
38 |
38 import soc.models.user |
39 import soc.models.user |
39 import soc.logic.models.user |
40 import soc.logic.models.user |
181 |
182 |
182 params = dicts.merge(original_params, params) |
183 params = dicts.merge(original_params, params) |
183 |
184 |
184 base.View.__init__(self, params=params) |
185 base.View.__init__(self, params=params) |
185 |
186 |
|
187 EDIT_SELF_TMPL = 'soc/user/edit_self.html' |
|
188 |
186 def editSelf(self, request, page_name=None, params=None, **kwargs): |
189 def editSelf(self, request, page_name=None, params=None, **kwargs): |
187 """Displays User self edit page for the entity specified by **kwargs. |
190 """Displays User self edit page for the entity specified by **kwargs. |
188 |
191 |
189 Args: |
192 Args: |
190 request: the standard Django HTTP request object |
193 request: the standard Django HTTP request object |
198 rights['unspecified'] = [access.deny] |
201 rights['unspecified'] = [access.deny] |
199 rights['editSelf'] = [access.allow] |
202 rights['editSelf'] = [access.allow] |
200 |
203 |
201 try: |
204 try: |
202 self.checkAccess('editSelf', request, rights=rights) |
205 self.checkAccess('editSelf', request, rights=rights) |
203 except soc.views.out_of_band.AccessViolationResponse, alt_response: |
206 except out_of_band.Error, error: |
204 return alt_response.response() |
207 return error.response(request, template=self.EDIT_SELF_TMPL) |
205 |
208 |
206 new_params = {} |
209 new_params = {} |
207 new_params['edit_template'] = 'soc/user/edit_self.html' |
210 new_params['edit_template'] = self.EDIT_SELF_TMPL |
208 new_params['rights'] = rights |
211 new_params['rights'] = rights |
209 |
212 |
210 params = dicts.merge(params, new_params) |
213 params = dicts.merge(params, new_params) |
211 params = dicts.merge(params, self._params) |
214 params = dicts.merge(params, self._params) |
212 |
215 |
230 } |
233 } |
231 |
234 |
232 # check if user account is not in former_accounts |
235 # check if user account is not in former_accounts |
233 # if it is show error message that account is invalid |
236 # if it is show error message that account is invalid |
234 if soc.logic.models.user.logic.isFormerAccount(account): |
237 if soc.logic.models.user.logic.isFormerAccount(account): |
235 msg = DEF_USER_ACCOUNT_INVALID_MSG |
238 error = out_of_band.Error(DEF_USER_ACCOUNT_INVALID_MSG) |
236 error = out_of_band.ErrorResponse(msg) |
239 return error.response(request, template=template, context=context) |
237 return simple.errorResponse(request, page_name, error, template, |
|
238 context) |
|
239 |
240 |
240 user = soc.logic.models.user.logic.updateOrCreateFromFields( |
241 user = soc.logic.models.user.logic.updateOrCreateFromFields( |
241 properties, {'link_id': new_link_id}) |
242 properties, {'link_id': new_link_id}) |
242 |
243 |
243 # redirect to /user/profile?s=0 |
244 # redirect to /user/profile?s=0 |