app/soc/views/models/base.py
changeset 495 87afae6e4c51
parent 494 5e9c656a1b68
child 497 73666a7cd718
equal deleted inserted replaced
494:5e9c656a1b68 495:87afae6e4c51
   103     new_params['django_patterns_defaults'] = [
   103     new_params['django_patterns_defaults'] = [
   104         (r'^%(name_lower)s/show/%(key_fields)s$', 
   104         (r'^%(name_lower)s/show/%(key_fields)s$', 
   105             'soc.views.models.%s.public', 'Show %(name)s'),
   105             'soc.views.models.%s.public', 'Show %(name)s'),
   106         (r'^%(name_lower)s/create$',
   106         (r'^%(name_lower)s/create$',
   107             'soc.views.models.%s.create', 'Create %(name)s'),
   107             'soc.views.models.%s.create', 'Create %(name)s'),
       
   108         (r'^%(name_lower)s/create/%(key_fields)s$',
       
   109             'soc.views.models.%s.create', 'Create %(name)s'),
   108         (r'^%(name_lower)s/delete/%(key_fields)s$',
   110         (r'^%(name_lower)s/delete/%(key_fields)s$',
   109             'soc.views.models.%s.delete', 'Delete %(name)s'),
   111             'soc.views.models.%s.delete', 'Delete %(name)s'),
   110         (r'^%(name_lower)s/edit/%(key_fields)s$',
   112         (r'^%(name_lower)s/edit/%(key_fields)s$',
   111             'soc.views.models.%s.edit', 'Edit %(name)s'),
   113             'soc.views.models.%s.edit', 'Edit %(name)s'),
   112         (r'^%(name_lower)s/list$',
   114         (r'^%(name_lower)s/list$',
   113             'soc.views.models.%s.list', 'List %(name_plural)s'),
   115             'soc.views.models.%s.list', 'List %(name_plural)s'),
   114         ]
   116         ]
   115 
   117 
       
   118     new_params['list_redirect_action'] = params['name_short'] + '/edit'
       
   119 
   116     self._rights = dicts.merge(rights, new_rights)
   120     self._rights = dicts.merge(rights, new_rights)
   117     self._params = dicts.merge(params, new_params)
   121     self._params = dicts.merge(params, new_params)
   118 
   122 
   119   def public(self, request, page_name=None, params=None, **kwargs):
   123   def public(self, request, page_name=None, params=None, **kwargs):
   120     """Displays the public page for the entity specified by **kwargs
   124     """Displays the public page for the entity specified by **kwargs
   184                                                  new_suffix='edit')
   188                                                  new_suffix='edit')
   185 
   189 
   186     if not kwargs:
   190     if not kwargs:
   187       return self.edit(request, page_name=page_name, params=params, **empty_kwargs)
   191       return self.edit(request, page_name=page_name, params=params, **empty_kwargs)
   188     else:
   192     else:
   189       return self.edit(request, page_name=page_name, params=params, seed=kwargs)
   193       return self.edit(request, page_name=page_name, params=params, seed=kwargs, **empty_kwargs)
   190 
   194 
   191   def edit(self, request, page_name=None, params=None, seed=None, **kwargs):
   195   def edit(self, request, page_name=None, params=None, seed=None, **kwargs):
   192     """Displays the edit page for the entity specified by **kwargs
   196     """Displays the edit page for the entity specified by **kwargs
   193 
   197 
   194     Args:
   198     Args:
   293       if 'key_name' in form.fields:
   297       if 'key_name' in form.fields:
   294         form.fields['key_name'].initial = entity.key().name()
   298         form.fields['key_name'].initial = entity.key().name()
   295       self._editGet(request, entity, form)
   299       self._editGet(request, entity, form)
   296     else:
   300     else:
   297       if seed:
   301       if seed:
       
   302         self._editSeed(request, seed)
   298         form = params['create_form'](initial=seed)
   303         form = params['create_form'](initial=seed)
   299       else:
   304       else:
   300         form = params['create_form']()
   305         form = params['create_form']()
   301 
   306 
   302     return self._constructResponse(request, entity, context, form, params)
   307     return self._constructResponse(request, entity, context, form, params)
   334     context = helper.lists.setList(request, context, entities, 
   339     context = helper.lists.setList(request, context, entities, 
   335                                  offset, limit, templates)
   340                                  offset, limit, templates)
   336 
   341 
   337     context['entity_type'] = params['name']
   342     context['entity_type'] = params['name']
   338     context['entity_type_plural'] = params['name_plural']
   343     context['entity_type_plural'] = params['name_plural']
       
   344     context['redirect_action'] = params['list_redirect_action']
   339 
   345 
   340     template = params['list_template']
   346     template = params['list_template']
   341 
   347 
   342     return helper.responses.respond(request, template, context)
   348     return helper.responses.respond(request, template, context)
   343 
   349