equal
deleted
inserted
replaced
25 from django import forms |
25 from django import forms |
26 from django.utils.translation import ugettext_lazy |
26 from django.utils.translation import ugettext_lazy |
27 |
27 |
28 from soc.logic import cleaning |
28 from soc.logic import cleaning |
29 from soc.logic import dicts |
29 from soc.logic import dicts |
|
30 from soc.models import linkable |
30 from soc.views import helper |
31 from soc.views import helper |
31 from soc.views.helper import access |
32 from soc.views.helper import access |
32 from soc.views.helper import dynaform |
33 from soc.views.helper import dynaform |
33 from soc.views.helper import redirects |
34 from soc.views.helper import redirects |
34 |
35 |
90 ('/%s/list', 'List %(name_plural)s', 'list'), |
91 ('/%s/list', 'List %(name_plural)s', 'list'), |
91 ] |
92 ] |
92 new_params['sidebar_additional'] = [] |
93 new_params['sidebar_additional'] = [] |
93 |
94 |
94 new_params['key_fields_prefix'] = [] |
95 new_params['key_fields_prefix'] = [] |
|
96 new_params['link_id_arg_pattern'] = linkable.LINK_ID_PATTERN_CORE |
|
97 new_params['link_id_pattern_core'] = linkable.LINK_ID_ARG_PATTERN |
95 |
98 |
96 new_params['django_patterns'] = None |
99 new_params['django_patterns'] = None |
97 new_params['django_patterns_defaults'] = [ |
100 new_params['django_patterns_defaults'] = [ |
98 (r'^%(url_name)s/show/%(key_fields)s$', |
101 (r'^%(url_name)s/show/%(key_fields)s$', |
99 'soc.views.models.%s.public', 'Show %(name_short)s'), |
102 'soc.views.models.%s.public', 'Show %(name_short)s'), |
168 params['create_form'] = getCreateForm(params) |
171 params['create_form'] = getCreateForm(params) |
169 |
172 |
170 if not 'edit_form' in params: |
173 if not 'edit_form' in params: |
171 params['edit_form'] = getEditForm(params) |
174 params['edit_form'] = getEditForm(params) |
172 |
175 |
|
176 if not 'key_fields_pattern' in params: |
|
177 params['key_fields_pattern'] = getKeyFieldsPattern(params) |
|
178 |
173 return params |
179 return params |
174 |
180 |
175 def getCreateForm(params): |
181 def getCreateForm(params): |
176 """Constructs a new CreateForm using params |
182 """Constructs a new CreateForm using params |
177 |
183 |
211 dynaexclude = params['edit_dynaexclude'], |
217 dynaexclude = params['edit_dynaexclude'], |
212 dynafields = params['edit_dynafields'], |
218 dynafields = params['edit_dynafields'], |
213 ) |
219 ) |
214 |
220 |
215 return edit_form |
221 return edit_form |
|
222 |
|
223 def getKeyFieldsPattern(params): |
|
224 """Returns the Django pattern for this View's entity |
|
225 |
|
226 Params usage: |
|
227 key_fields_prefix: The key_fields_prefix value is used as the |
|
228 first part of the returned pattern. |
|
229 """ |
|
230 |
|
231 names = params['logic'].getKeyFieldNames() |
|
232 patterns = params['key_fields_prefix'] |
|
233 |
|
234 for name in names: |
|
235 pattern = r'(?P<%s>%s)' % (name, linkable.LINK_ID_PATTERN_CORE) |
|
236 patterns.append(pattern) |
|
237 |
|
238 result = '/'.join(patterns) |
|
239 return result |