app/soc/views/models/base.py
changeset 563 4a8565ce48c6
parent 560 a32be584ee04
child 572 1b3e7280743a
equal deleted inserted replaced
562:1bf2beedda03 563:4a8565ce48c6
    97     rights['list'] = [access.checkIsDeveloper]
    97     rights['list'] = [access.checkIsDeveloper]
    98 
    98 
    99     new_params = {}
    99     new_params = {}
   100     new_params['rights'] = rights
   100     new_params['rights'] = rights
   101     new_params['create_redirect'] = '/%(url_name)s' % params
   101     new_params['create_redirect'] = '/%(url_name)s' % params
       
   102     new_params['edit_redirect'] = '/%(url_name)s/edit' % params
   102     new_params['missing_redirect'] = '/%(url_name)s/create' % params
   103     new_params['missing_redirect'] = '/%(url_name)s/create' % params
   103     new_params['delete_redirect'] = '/%(url_name)s/list' % params
   104     new_params['delete_redirect'] = '/%(url_name)s/list' % params
   104     new_params['invite_redirect'] = '/request/list'
   105     new_params['invite_redirect'] = '/request/list'
   105     
   106     
   106     new_params['sidebar'] = None
   107     new_params['sidebar'] = None
   280     if not form.is_valid():
   281     if not form.is_valid():
   281       return self._constructResponse(request, entity, context, form, params)
   282       return self._constructResponse(request, entity, context, form, params)
   282 
   283 
   283     key_name, fields = self.collectCleanedFields(form)
   284     key_name, fields = self.collectCleanedFields(form)
   284 
   285 
   285     # get the old_suffix before editing
   286     request.path = params['edit_redirect']
   286     if entity:
       
   287       old_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity))
       
   288     else:
       
   289       # retrieve the suffix appened to the create path
       
   290       splitted_path = request.path.split('/create/',1)
       
   291       if len(splitted_path) == 2 :
       
   292         old_suffix = '%s%s' %('create/', splitted_path[1])
       
   293       else:
       
   294         # no suffix after the create in the request path
       
   295         old_suffix = 'create'
       
   296 
       
   297     self._editPost(request, entity, fields)
   287     self._editPost(request, entity, fields)
   298 
   288 
   299     if not key_name:
   289     if not key_name:
   300       key_fields =  self._logic.getKeyFieldsFromDict(fields)
   290       key_fields =  self._logic.getKeyFieldsFromDict(fields)
   301       key_name = self._logic.getKeyNameForFields(key_fields)
   291       key_name = self._logic.getKeyNameForFields(key_fields)
   304 
   294 
   305     if not entity:
   295     if not entity:
   306       return http.HttpResponseRedirect('/')
   296       return http.HttpResponseRedirect('/')
   307 
   297 
   308     page_params = params['edit_params']
   298     page_params = params['edit_params']
   309     new_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity))
   299     new_suffix = self._logic.getKeySuffix(entity)
   310 
   300 
   311     # redirect to (possibly new) location of the entity
   301     # redirect to (possibly new) location of the entity
   312     # (causes 'Profile saved' message to be displayed)
   302     # (causes 'Profile saved' message to be displayed)
   313     return helper.responses.redirectToChangedSuffix(
   303     return helper.responses.redirectToChangedSuffix(
   314         request, old_suffix, new_suffix,
   304         request, None, new_suffix,
   315         params=page_params)
   305         params=page_params)
   316 
   306 
   317   def editGet(self, request, entity, context, seed, params):
   307   def editGet(self, request, entity, context, seed, params):
   318     """Same as edit, but on GET.
   308     """Same as edit, but on GET.
   319     """
   309     """