well, I am new to turbogears myself, but I am pretty much doing the same thing with an event calendar. Not sure if this is the best way to do it, it's sloppy, but it works.
Hope that helps.
-Mike
from turbogears import widgets, validators as v, error_handler
event_form = widgets.TableForm(
fields=[
widgets.HiddenField(name='year', value='$year'),
widgets.HiddenField(name='month', value='$month'),
widgets.HiddenField(name='day', value='$day'),
widgets.TextField(
name='title', label='Title',
attrs={'size': 64, 'maxlength': 255},
validator=v.All(v.NotEmpty, v.UnicodeString)
),
widgets.TextArea
(
name='text', label='Event Info',
attrs={'rows': 20, 'cols': 40, 'maxlength': 255},
validator=v.All(v.NotEmpty, v.UnicodeString)
),
widgets.TextField(
name='time', label='Time',
attrs={'size': 64, 'maxlength': 255},
validator=v.All(v.NotEmpty, v.UnicodeString)
)
],
submit_text='Save'
)
@expose(template="
tgcal.templates.createevents")
def post(self, year='', month='', day='',title='', text='', time='', tg_errors=None):
event_data = {'title':title, 'text':text, 'month':month, 'year':year, 'day':day, 'time':time}
return dict(event_form=event_form, event_data=event_data)
@expose()
@validate(form=event_form)
@error_handler(post)
def save(self, year,month,day,title,text,time):
title =
model.Event(title=title,text=text,day=day,month=month,year=year,time=time)
turbogears.flash("Event Added")
redirect('/calendar/'+year+'/'+month+'/'+day+'/')
--
-mike
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
- [TurboGears] newbie questions again, related to form wid... Nevyn
- [TurboGears] Re: newbie questions again, related to... percious
- [TurboGears] Re: newbie questions again, relate... Michael Steinfeld

