app/soc/views/helper/params.py
changeset 1324 8cf30dee8048
parent 1319 042347748c45
child 1338 4b8546a3b20c
equal deleted inserted replaced
1323:a666374587df 1324:8cf30dee8048
   111       ('/%s/create', 'New %(name)s', 'create'),
   111       ('/%s/create', 'New %(name)s', 'create'),
   112       ('/%s/list', 'List %(name_plural)s', 'list'),
   112       ('/%s/list', 'List %(name_plural)s', 'list'),
   113       ]
   113       ]
   114   new_params['sidebar_additional'] = []
   114   new_params['sidebar_additional'] = []
   115 
   115 
       
   116   names_sans_link_id = [i for i in logic.getKeyFieldNames() if i != 'link_id']
       
   117   sans_link_id_pattern = getPattern(names_sans_link_id,
       
   118                               linkable.SCOPE_PATH_ARG_PATTERN)
       
   119 
   116   new_params['link_id_arg_pattern'] = linkable.LINK_ID_ARG_PATTERN
   120   new_params['link_id_arg_pattern'] = linkable.LINK_ID_ARG_PATTERN
   117   new_params['link_id_pattern_core'] = linkable.LINK_ID_PATTERN_CORE
   121   new_params['link_id_pattern_core'] = linkable.LINK_ID_PATTERN_CORE
   118   new_params['scope_path_pattern'] = getScopePattern(params)
   122   new_params['scope_path_pattern'] = getScopePattern(params)
       
   123   new_params['sans_link_id_pattern'] = sans_link_id_pattern
   119 
   124 
   120   new_params['django_patterns'] = None
   125   new_params['django_patterns'] = None
   121   new_params['extra_django_patterns'] = []
   126   new_params['extra_django_patterns'] = []
   122   new_params['django_patterns_defaults'] = [
   127   new_params['django_patterns_defaults'] = [
   123       (r'^%(url_name)s/(?P<access_type>show)/%(key_fields)s$',
   128       (r'^%(url_name)s/(?P<access_type>show)/%(key_fields)s$',
   150   if not params.get('no_list_raw'):
   155   if not params.get('no_list_raw'):
   151     new_params['django_patterns_defaults'] += [
   156     new_params['django_patterns_defaults'] += [
   152         (r'^%(url_name)s/(?P<access_type>list)$',
   157         (r'^%(url_name)s/(?P<access_type>list)$',
   153           'soc.views.models.%(module_name)s.list', 'List %(name_plural)s')]
   158           'soc.views.models.%(module_name)s.list', 'List %(name_plural)s')]
   154 
   159 
       
   160   if params.get('sans_link_id_create'):
       
   161     new_params['django_patterns_defaults'] += [
       
   162         (r'^%(url_name)s/(?P<access_type>create)/%(sans_link_id)s$',
       
   163          'soc.views.models.%(module_name)s.create', 'Create %(name_short)s')]
       
   164 
       
   165   if params.get('sans_link_id_list'):
       
   166     new_params['django_patterns_defaults'] += [
       
   167         (r'^%(url_name)s/(?P<access_type>list)/%(sans_link_id)s$',
       
   168          'soc.views.models.%(module_name)s.list', 'List %(name_plural)s')]
       
   169 
       
   170   if params.get('sans_link_id_public_list'):
       
   171     new_params['django_patterns_defaults'] += [
       
   172         (r'^%(url_name)s/(?P<access_type>list_public)/%(sans_link_id)s$',
       
   173          'soc.views.models.%(module_name)s.list_public', 'List %(name_plural)s')]
       
   174 
   155   new_params['public_template'] = 'soc/%(module_name)s/public.html' % params
   175   new_params['public_template'] = 'soc/%(module_name)s/public.html' % params
   156   new_params['export_template'] = 'soc/%(module_name)s/export.html' % params
   176   new_params['export_template'] = 'soc/%(module_name)s/export.html' % params
   157   new_params['create_template'] = 'soc/models/edit.html'
   177   new_params['create_template'] = 'soc/models/edit.html'
   158   new_params['edit_template'] = 'soc/models/edit.html'
   178   new_params['edit_template'] = 'soc/models/edit.html'
   159   new_params['list_template'] = 'soc/models/list.html'
   179   new_params['list_template'] = 'soc/models/list.html'
   250     dynafields = params['create_dynafields'],
   270     dynafields = params['create_dynafields'],
   251     )
   271     )
   252 
   272 
   253   if 'extra_key_order' in params:
   273   if 'extra_key_order' in params:
   254     for field in params['extra_key_order']:
   274     for field in params['extra_key_order']:
   255       create_form.base_fields.keyOrder.remove(field)
   275       if field in create_form.base_fields.keyOrder:
       
   276         create_form.base_fields.keyOrder.remove(field)
   256     create_form.base_fields.keyOrder.extend(params['extra_key_order'])
   277     create_form.base_fields.keyOrder.extend(params['extra_key_order'])
   257 
   278 
   258   return create_form
   279   return create_form
   259 
   280 
   260 
   281