app/soc/views/models/base.py
changeset 1218 569a3fe9cb88
parent 1165 4db62684ce13
child 1227 38afecddfbed
equal deleted inserted replaced
1217:aeabe6bed55b 1218:569a3fe9cb88
   107     if not all(kwargs.values()):
   107     if not all(kwargs.values()):
   108       #TODO: Change this into a proper redirect
   108       #TODO: Change this into a proper redirect
   109       return http.HttpResponseRedirect('/')
   109       return http.HttpResponseRedirect('/')
   110 
   110 
   111     try:
   111     try:
   112       key_fields = self._logic.getKeyFieldsFromFields(kwargs)
   112       entity = self._logic.getFromKeyFieldsOr404(kwargs)
   113       entity = self._logic.getFromKeyFieldsOr404(key_fields)
       
   114     except out_of_band.Error, error:
   113     except out_of_band.Error, error:
   115       return helper.responses.errorResponse(
   114       return helper.responses.errorResponse(
   116           error, request, template=params['error_public'], context=context)
   115           error, request, template=params['error_public'], context=context)
   117 
   116 
   118     self._public(request, entity, context)
   117     self._public(request, entity, context)
   166     if not all(kwargs.values()):
   165     if not all(kwargs.values()):
   167       #TODO: Change this into a proper redirect
   166       #TODO: Change this into a proper redirect
   168       return http.HttpResponseRedirect('/')
   167       return http.HttpResponseRedirect('/')
   169 
   168 
   170     try:
   169     try:
   171       key_fields = self._logic.getKeyFieldsFromFields(kwargs)
   170       entity = self._logic.getFromKeyFieldsOr404(kwargs)
   172       entity = self._logic.getFromKeyFieldsOr404(key_fields)
       
   173     except out_of_band.Error, error:
   171     except out_of_band.Error, error:
   174       return helper.responses.errorResponse(
   172       return helper.responses.errorResponse(
   175           error, request, template=params['error_export'], context=context)
   173           error, request, template=params['error_export'], context=context)
   176 
   174 
   177     self._export(request, entity, context)
   175     self._export(request, entity, context)
   258     context['page_name'] = page_name
   256     context['page_name'] = page_name
   259     entity = None
   257     entity = None
   260 
   258 
   261     try:
   259     try:
   262       if all(kwargs.values()):
   260       if all(kwargs.values()):
   263         key_fields = self._logic.getKeyFieldsFromFields(kwargs)
   261         entity = self._logic.getFromKeyFieldsOr404(kwargs)
   264         entity = self._logic.getFromKeyFieldsOr404(key_fields)
       
   265     except out_of_band.Error, error:
   262     except out_of_band.Error, error:
   266       if not seed:
   263       if not seed:
   267         error.message_fmt = (
   264         error.message_fmt = (
   268           error.message_fmt + self.DEF_CREATE_NEW_ENTITY_MSG_FMT % {
   265           error.message_fmt + self.DEF_CREATE_NEW_ENTITY_MSG_FMT % {
   269             'entity_type_lower' : params['name'].lower(),
   266             'entity_type_lower' : params['name'].lower(),
   318     key_name, fields = forms.collectCleanedFields(form)
   315     key_name, fields = forms.collectCleanedFields(form)
   319 
   316 
   320     self._editPost(request, entity, fields)
   317     self._editPost(request, entity, fields)
   321 
   318 
   322     if not key_name:
   319     if not key_name:
   323       key_fields =  self._logic.getKeyFieldsFromFields(fields)
   320       key_name = self._logic.getKeyNameFromFields(fields)
   324       key_name = self._logic.getKeyNameFromFields(key_fields)
       
   325 
   321 
   326     entity = self._logic.updateOrCreateFromKeyName(fields, key_name)
   322     entity = self._logic.updateOrCreateFromKeyName(fields, key_name)
   327 
   323 
   328     if not entity:
   324     if not entity:
   329       return http.HttpResponseRedirect('/')
   325       return http.HttpResponseRedirect('/')
   488     context = helper.responses.getUniversalContext(request)
   484     context = helper.responses.getUniversalContext(request)
   489     context['page_name'] = page_name
   485     context['page_name'] = page_name
   490     entity = None
   486     entity = None
   491 
   487 
   492     try:
   488     try:
   493       key_fields = self._logic.getKeyFieldsFromFields(kwargs)
   489       entity = self._logic.getFromKeyFieldsOr404(kwargs)
   494       entity = self._logic.getFromKeyFieldsOr404(key_fields)
       
   495     except out_of_band.Error, error:
   490     except out_of_band.Error, error:
   496       error.message_fmt = (
   491       error.message_fmt = (
   497         error.message_fmt + self.DEF_CREATE_NEW_ENTITY_MSG_FMT % {
   492         error.message_fmt + self.DEF_CREATE_NEW_ENTITY_MSG_FMT % {
   498           'entity_type_lower' : params['name'].lower(),
   493           'entity_type_lower' : params['name'].lower(),
   499           'entity_type' : params['name'],
   494           'entity_type' : params['name'],