def __init__(self, request): super(MainViewer, self).__init__(request) self.route = self.request.matched_route.name self.layout.main_menu = make_main_menu(self.request) self._user_query = self.request.db.query(User) self.context = self.request.matchdict['context'] self.venues = VenueManager(self.request.db) menu = BaseMenu() menu.set_header("Actions") url = self.url(context='add', id='fff') menu.append_new_entry('Add Venue', url) self.layout.options_menus = dict(actions=menu) # make dispatch table self._cntxt_meth = dict( main=self.main_view, add=self.add_venue, ) if self.context in self._cntxt_meth: self._cntxt_meth[self.context]() else: msg = 'Undefined Context: %s' % self.context self.layout.content = '<b>%s</b>' % msg
class MainViewer(BaseViewer): def __init__(self, request): super(MainViewer, self).__init__(request) self.route = self.request.matched_route.name self.layout.main_menu = make_main_menu(self.request) self._user_query = self.request.db.query(User) self.context = self.request.matchdict['context'] self.venues = VenueManager(self.request.db) menu = BaseMenu() menu.set_header("Actions") url = self.url(context='add', id='fff') menu.append_new_entry('Add Venue', url) self.layout.options_menus = dict(actions=menu) # make dispatch table self._cntxt_meth = dict( main=self.main_view, add=self.add_venue, ) if self.context in self._cntxt_meth: self._cntxt_meth[self.context]() else: msg = 'Undefined Context: %s' % self.context self.layout.content = '<b>%s</b>' % msg def main_view(self): self.layout.content = '' for venue in self.venues.query().all(): self.layout.content += '%s<br>' % venue.name def _add_venue_form_submitted(self, form): controls = self.request.POST.items() self.layout.subheader = "submitted to database" try: data = form.validate(controls) except deform.ValidationFailure, e: self.layout.content = e.render() return name = data['venue'] description = data['description'] venue = self.venues.add_venue(name, description)