diff -r 0e89b027b140 -r c2dcae606699 app/soc/views/models/base.py --- a/app/soc/views/models/base.py Wed Dec 03 23:49:10 2008 +0000 +++ b/app/soc/views/models/base.py Thu Dec 04 10:09:38 2008 +0000 @@ -55,6 +55,9 @@ ' Create ' 'a New %(entity_type)s page.') + DEF_CREATE_INSTRUCTION_MSG_FMT = ugettext_lazy( + 'Please select a %s for the new %s.') + def __init__(self, params=None): """ @@ -137,7 +140,15 @@ kwargs: not used for create() """ - params = dicts.merge(params, self._params) + new_params = dicts.merge(params, self._params) + + if ('scope_view' in new_params) and ('scope_path' not in kwargs): + view = new_params['scope_view'].view + redirect = new_params['scope_redirect'] + return self.select(request, view, redirect, + params=params, page_name=page_name, **kwargs) + + params = new_params # Create page is an edit page with no key fields empty_kwargs = {} @@ -479,6 +490,8 @@ params = dicts.merge(params, view.getParams()) params = dicts.merge(params, self._params) params['list_action'] = (redirect, self._params) + params['list_description'] = self.DEF_CREATE_INSTRUCTION_MSG_FMT % ( + params['name'], self._params['name']) content = helper.lists.getListContent(request, params) contents = [content]