Hello,
Yeah sorry I always forget that you _have_ to give a validator to
validate the checkboxes. I tested and ran this code successfully:
#######################controllers.py########################
import logging
import cherrypy
import turbogears
from turbogears import controllers, expose, validate, redirect
from turbogears import widgets
from turbogears import validators
from originalbrownster import json
log = logging.getLogger("originalbrownster.controllers")
class FileListWithBlurbs(widgets.CheckBoxList):
template = '''
<ul xmlns:py="http://purl.org/kid/ns#" class="${field_class}"
id="${field_id}" py:attrs="list_attrs">
<li py:for="i in xrange(0, len(options))">
<?python value, desc, attrs = options[i] ?>
<?python blurb = blurbs[i] ?>
<input type="checkbox" name="${name}"
id="${field_id}_${value}" value="${value}" py:attrs="attrs" />
<label for="${field_id}_${value}" py:content="desc" />
${blurb}
</li>
</ul>
'''
params = ['blurbs']
params_doc = {'blurbs': "A blurb for each list item."}
blurbs = []
fileListWithBlurbs = FileListWithBlurbs(name="PublicFiles",
validator=validators.Int())
public_form = widgets.TableForm(name='form', \
submit_text = 'Download Files',\
fields = [fileListWithBlurbs])
class Root(controllers.RootController):
@expose(template="originalbrownster.templates.welcome")
def index(self):
import time
log.debug("Happy TurboGears Controller Responding For Duty")
return dict(now=time.ctime())
@expose(template="originalbrownster.templates.view_file_list")
def viewFileList(self):
options = dict(PublicFiles = [(1,"file one"), (2, "file two")])
blurbs = dict(PublicFiles = ["my blurb test for file one", "my
blurb test for file two"])
return dict(public_form = public_form,
options=options,
blurbs=blurbs)
################view_file_list.kid###################
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type"
py:replace="''"/>
<title>Welcome to TurboGears</title>
</head>
<body>
${public_form(options=options, blurbs=blurbs)}
</body>
</html>
Tell me how that goes. Sorry about earlier.
-Ian
On 9/1/06, OriginalBrownster <[EMAIL PROTECTED]> wrote:
>
> I will show what i tried
>
> class FileListWithBlurbs(CheckBoxList):
> template = '''
> <ul xmlns:py="http://purl.org/kid/ns#" class="${field_class}"
> id="${field_id}" py:attrs="list_attrs">
> <li py:for="i in xrange(0, len(options))">
> <?python value, desc, attrs = options[i] ?>
> <?python blurb = blurbs[i] ?>
> <input type="checkbox" name="${name}"
> id="${field_id}_${value}" value="${value}" py:attrs="attrs" />
> <label for="${field_id}_${value}" py:content="desc" />
> ${blurb}
> </li>
> </ul>
> '''
> params = ['blurbs']
> params_doc = {'blurbs': "A blurb for each list item."}
> blurbs = []
>
>
>
>
> then exposed my method
>
>
> @expose(template="se.templates.test")
> def viewFileList(self):
> fileListWithBlurbs = FileListWithBlurbs(name="PublicFiles")
> public_form = TableForm(name='form', submit_text = 'Download
> Files', fields = [fileListWithBlurbs])
> fileListOptions = [(1,"file")]
> fileListBlurbs = ["my blurb test"]
> return dict(public_form = public_form,
> fileListOptions=fileListOptions, fileListBlurbs=fileListBlurbs)
>
>
> however I get an error saying
>
> TypeError: default() takes exactly 1 argument (2 given)
>
>
> and when i tried to put the following outside of the method i got an
> error saying it didn't know what validator to use
>
>
> fileListWithBlurbs = FileListWithBlurbs(name="PublicFiles")
> public_form = TableForm(name='form', submit_text = 'Download Files',
> fields = [fileListWithBlurbs])
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---