Author: rmarianski
Date: 2008-04-30 00:31:24 -0400 (Wed, 30 Apr 2008)
New Revision: 16351

Modified:
   opencore/branches/formlib-forms/opencore/project/browser/add.py
   opencore/branches/formlib-forms/opencore/project/browser/configure.zcml
Log:
use vocabulary for project security settings

Modified: opencore/branches/formlib-forms/opencore/project/browser/add.py
===================================================================
--- opencore/branches/formlib-forms/opencore/project/browser/add.py     
2008-04-30 03:45:24 UTC (rev 16350)
+++ opencore/branches/formlib-forms/opencore/project/browser/add.py     
2008-04-30 04:31:24 UTC (rev 16351)
@@ -24,10 +24,13 @@
 from opencore.browser.base import BaseView
 from opencore.interfaces.workflow import IWriteWorkflowPolicySupport
 from Products.Five.formlib.formbase import Form
+from zope import schema
+from zope.app.form import CustomWidgetFactory
+from zope.app.form.browser import RadioWidget
 from zope.formlib import form
-from zope import schema
 from zope.component import createObject
 from zope.component.factory import Factory
+from zope.schema.vocabulary import SimpleVocabulary
 
 class ProjectFactory(Factory):
     def __init__(self):
@@ -64,6 +67,12 @@
         return project
 
 
+def project_security_vocabulary(context):
+    return SimpleVocabulary.fromItems([
+        (u'Anyone can view this group and any Livable Streets member can 
contribute to it', 'open_policy'),
+        (u'Anyone can view this group but only team members can contribute to 
it', 'medium_policy'),
+        (u'Only team members can view, contribute, or search for this group', 
'closed_policy')])
+
 class FormlibProjectAddView(Form, BaseView):
     """make this viewable ttw"""
 
@@ -72,24 +81,18 @@
 
     prefix = u''
 
-    #XXX use vocabulary
-    security_mapping = dict(
-        open_policy=u'Anyone can view this group and any Livable Streets 
member can contribute to it',
-        medium_policy=u'Anyone can view this group but only team members can 
contribute to it',
-        closed_policy=u'Only team members can view, contribute, or search for 
this group',
-        )
-
     #XXX we can make custom javascript widgets for some of these
     #XXX we will leave out the logo for now
     form_fields = form.FormFields(
         schema.TextLine(title=u'Name', __name__='name', required=True),
         schema.TextLine(title=u'URL', __name__='url', required=True),
         schema.Text(title=u'Description', __name__='description', 
required=False),
-        schema.Choice(title=u'Security', __name__='security', required=True, 
values=[
-                      u'open_policy', u'medium_policy', 'closed_policy'
-                      ]),
-        )
+        schema.Choice(title=u'Security', __name__='security', required=True,
+                      vocabulary='Project security',
+                      default='medium_policy'))
 
+    form_fields['security'].custom_widget = CustomWidgetFactory(RadioWidget)
+
     @form.action(u'Add', prefix=u'')
     def handle_add(self, action, data):
         title = data['name']

Modified: 
opencore/branches/formlib-forms/opencore/project/browser/configure.zcml
===================================================================
--- opencore/branches/formlib-forms/opencore/project/browser/configure.zcml     
2008-04-30 03:45:24 UTC (rev 16350)
+++ opencore/branches/formlib-forms/opencore/project/browser/configure.zcml     
2008-04-30 04:31:24 UTC (rev 16351)
@@ -17,6 +17,11 @@
      name="opencore.project"
      />
 
+  <vocabulary
+     name="Project security"
+     factory=".add.project_security_vocabulary"
+     />
+
   <browser:page
      for="opencore.interfaces.IProject"
      permission="zope2.View"



--
Archive: 
http://www.openplans.org/projects/opencore/lists/openplans-svn/archive/2008/04/1209529889697
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]  
Please contact [EMAIL PROTECTED] for questions.

Reply via email to