equal
deleted
inserted
replaced
30 from soc.models import linkable |
30 from soc.models import linkable |
31 from soc.views import helper |
31 from soc.views import helper |
32 from soc.views.helper import access |
32 from soc.views.helper import access |
33 from soc.views.helper import dynaform |
33 from soc.views.helper import dynaform |
34 from soc.views.helper import redirects |
34 from soc.views.helper import redirects |
|
35 from soc.views.helper import widgets |
35 |
36 |
36 |
37 |
37 DEF_LIST_DESCRIPTION_FMT = ugettext( |
38 DEF_LIST_DESCRIPTION_FMT = ugettext( |
38 'List of %(name_plural)s in Google Open Source Programs.') |
39 'List of %(name_plural)s in Google Open Source Programs.') |
39 |
40 |
239 params['create_form'] = getCreateForm(params, logic.getModel()) |
240 params['create_form'] = getCreateForm(params, logic.getModel()) |
240 |
241 |
241 if not 'edit_form' in params: |
242 if not 'edit_form' in params: |
242 params['edit_form'] = getEditForm(params, params['create_form']) |
243 params['edit_form'] = getEditForm(params, params['create_form']) |
243 |
244 |
|
245 if not 'admin_form' in params: |
|
246 params['admin_form'] = getAdminForm(params['edit_form']) |
|
247 |
244 if not 'key_fields_pattern' in params: |
248 if not 'key_fields_pattern' in params: |
245 params['key_fields_pattern'] = getKeyFieldsPattern(params) |
249 params['key_fields_pattern'] = getKeyFieldsPattern(params) |
246 |
250 |
247 # merge already done by access.Checker |
251 # merge already done by access.Checker |
248 params['rights'] = rights |
252 params['rights'] = rights |
298 ) |
302 ) |
299 |
303 |
300 return edit_form |
304 return edit_form |
301 |
305 |
302 |
306 |
|
307 def getAdminForm(base_form): |
|
308 """Constructs a new AdminForm from base_form. |
|
309 """ |
|
310 |
|
311 # extend to do a proper copy |
|
312 admin_form = dynaform.extendDynaForm( |
|
313 dynaform = base_form, |
|
314 ) |
|
315 |
|
316 # replace all widgets with PTW's |
|
317 for key, value in admin_form.base_fields.iteritems(): |
|
318 if not isinstance(value, forms.fields.Field): |
|
319 continue |
|
320 value.widget = widgets.PlainTextWidget() |
|
321 |
|
322 return admin_form |
|
323 |
|
324 |
303 def getKeyFieldsPattern(params): |
325 def getKeyFieldsPattern(params): |
304 """Returns the Django pattern for this View's entity. |
326 """Returns the Django pattern for this View's entity. |
305 """ |
327 """ |
306 |
328 |
307 names = params['logic'].getKeyFieldNames() |
329 names = params['logic'].getKeyFieldNames() |