# HG changeset patch # User Sverre Rabbelier # Date 1232745519 0 # Node ID 9fcc08971efef8ed094d64bcca9cbad964aa2498 # Parent 7331232d63561e7945731d99ef53ada736f721ff Add a 'pick' view to the appropriate views Only views that represent entities that are pointed to by a ReferenceProperty at some point are considered 'appropriate'. Patch by: Sverre Rabbelier diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/helper/params.py --- a/app/soc/views/helper/params.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/helper/params.py Fri Jan 23 21:18:39 2009 +0000 @@ -78,6 +78,7 @@ rights['edit'] = [access.checkIsDeveloper] rights['delete'] = [access.checkIsDeveloper] rights['list'] = [access.checkIsDeveloper] + rights['pick'] = [access.checkHasPickGetArgs] if 'rights' in params: rights = dicts.merge(params['rights'], rights) @@ -133,6 +134,8 @@ 'soc.views.models.%(module_name)s.edit', 'Edit %(name_short)s'), (r'^%(url_name)s/(?Plist)$', 'soc.views.models.%(module_name)s.list', 'List %(name_plural)s'), + (r'^%(url_name)s/(?Ppick)$', + 'soc.views.models.%(module_name)s.pick', 'Pick %(name_short)s'), ] if not params.get('no_create_with_key_fields'): diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/base.py --- a/app/soc/views/models/base.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/base.py Fri Jan 23 21:18:39 2009 +0000 @@ -626,6 +626,13 @@ if 'scope_path' in form.fields: form.fields['scope_path'].initial = entity.scope_path + field = request.GET.get('field', None) + value = request.GET.get('value', None) + + if field and value: + form.fields[field].initial = value + + def _editSeed(self, request, seed): """Performs any required processing on the form to get its edit page. diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/club.py --- a/app/soc/views/models/club.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/club.py Fri Jan 23 21:18:39 2009 +0000 @@ -214,4 +214,4 @@ list = view.list public = view.public export = view.export - +pick = view.pick diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/club_admin.py --- a/app/soc/views/models/club_admin.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/club_admin.py Fri Jan 23 21:18:39 2009 +0000 @@ -306,4 +306,3 @@ list = view.list public = view.public export = view.export - diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/document.py --- a/app/soc/views/models/document.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/document.py Fri Jan 23 21:18:39 2009 +0000 @@ -181,4 +181,4 @@ list = view.list public = view.public export = view.export - +pick = view.pick diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/organization.py --- a/app/soc/views/models/organization.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/organization.py Fri Jan 23 21:18:39 2009 +0000 @@ -74,4 +74,4 @@ list = view.list public = view.public export = view.export - +pick = view.pick diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/program.py --- a/app/soc/views/models/program.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/program.py Fri Jan 23 21:18:39 2009 +0000 @@ -154,3 +154,4 @@ public = view.public export = view.export home = view.home +pick = view.pick diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/sponsor.py --- a/app/soc/views/models/sponsor.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/sponsor.py Fri Jan 23 21:18:39 2009 +0000 @@ -63,4 +63,4 @@ list = view.list public = view.public export = view.export - +pick = view.pick diff -r 7331232d6356 -r 9fcc08971efe app/soc/views/models/user.py --- a/app/soc/views/models/user.py Fri Jan 23 21:17:01 2009 +0000 +++ b/app/soc/views/models/user.py Fri Jan 23 21:18:39 2009 +0000 @@ -185,4 +185,4 @@ list = view.list public = view.public export = view.export - +pick = view.pick