Here is the full controller code:
from tg import expose, url
from abapp.model import DBSession, metadata
from tg.controllers import RestController, redirect
from tg.decorators import expose, validate
from formencode.validators import NotEmpty, Bool, DateConverter,
Schema
from sprox.formbase import FilteringSchema
# Import the AB app classes
from abapp.model import BreakType
from tw.api import WidgetsList
from tg import tmpl_context
from tw.forms import TableForm, CalendarDatePicker, SingleSelectField,
TextField, TextArea
from tw.forms import TextField, TextArea, HiddenField,
BooleanRadioButtonList
#import pylons
class ABBreakTypeForm(TableForm):
fields = [
HiddenField('breaktype_id'),
HiddenField('_method'),
TextField('break_type', validator=FilteringSchema
(allow_extra_fields=True), label_text='Break type*')
]
submit_text = 'Create Break Type'
create_abbreak_type_form = ABBreakTypeForm
("create_abbreak_type_form", action='create')
class ABBreakTypeRestController(RestController):
@expose('abapp.templates.abbreak_type.get_all')
def get_all(self):
all_abbreak_types = DBSession.query(BreakType).all()
return dict(page='breaktype',
all_abbreak_types=all_abbreak_types)
@expose('abapp.templates.abbreak_type.new')
def new(self, *args, **kw):
tmpl_context.form = create_abbreak_type_form
return dict(modelname='ABBreakType', page='New AB Break Type')
@expose('abapp.templates.abbreak_type.edit')
def edit(self, abbreak_type_id, *args, **kw):
ab_break_type = DBSession.query(BreakType).get
(abbreak_type_id)
ab_break_type._method = "PUT"
tmpl_context.form = create_abbreak_type_form
return dict(ab_break_type=ab_break_type)
@validate(create_abbreak_type_form, error_handler=new)
@expose()
def post(self, *args, **kw):
tmpl_context.form = create_abbreak_type_form
ab_break_type = BreakType()
ab_break_type.break_type = kw['break_type']
DBSession.add(ab_break_type)
redirect(url('../'))
@validate(create_abbreak_type_form, error_handler=new)
@expose()
def put(self, abbreak_type_id, *args, **kw):
ab_break_type = DBSession.query(BreakType).get
(abbreak_type_id)
ab_break_type.break_type = kw['break_type']
redirect(url('../'))
@expose('abapp.templates.abbreak_type.get_delete')
def get_delete(self, abbreak_type_id):
ab_break_type = DBSession.query(BreakType).get
(abbreak_type_id)
return dict(ab_break_type=ab_break_type)
@expose()
def post_delete(self, abbreak_type_id, **kw):
DBSession.delete(DBSession.query(BreakType).get
(abbreak_type_id))
redirect(url('../'))
On Aug 5, 1:53 pm, "Diez B. Roggisch" <[email protected]> wrote:
> On Wednesday 05 August 2009 19:47:57 shaw1ea wrote:
>
> > I already have this function as follows:
>
> > �...@expose('abapp.templates.abbreak_type.new')
> > def new(self, *args, **kw):
> > tmpl_context.form = create_abbreak_type_form
> > return dict(modelname='ABBreakType', page='New AB Break Type')
>
> Then we need more code, the full controller that's not working.
>
> Diez
--~--~---------~--~----~------------~-------~--~----~
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?hl=en
-~----------~----~----~----~------~----~------~--~---