Add a 'pick' view to the appropriate views
authorSverre Rabbelier <srabbelier@gmail.com>
Fri, 23 Jan 2009 21:18:39 +0000
changeset 934 9fcc08971efe
parent 933 7331232d6356
child 935 09f47e08f805
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
app/soc/views/helper/params.py
app/soc/views/models/base.py
app/soc/views/models/club.py
app/soc/views/models/club_admin.py
app/soc/views/models/document.py
app/soc/views/models/organization.py
app/soc/views/models/program.py
app/soc/views/models/sponsor.py
app/soc/views/models/user.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/(?P<access_type>list)$',
           'soc.views.models.%(module_name)s.list', 'List %(name_plural)s'),
+      (r'^%(url_name)s/(?P<access_type>pick)$',
+          'soc.views.models.%(module_name)s.pick', 'Pick %(name_short)s'),
       ]
 
   if not params.get('no_create_with_key_fields'):
--- 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.
 
--- 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
--- 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
-
--- 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
--- 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
--- 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
--- 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
--- 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