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
-~----------~----~----~----~------~----~------~--~---

Reply via email to