def manage_add_data(self): table = str(self.request.matchdict['table']) table_class = Import('courtrecords.models', table) has_interface(table_class,'__scaffold__') if 'form.submit' in self.request.params or 'form.submit.another' in self.request.params: object = table_class() for p in self.request.params: name = p.replace('form.', '') # all incoming form params are padding with this key if hasattr(object, name) and filter(lambda d: name in d, object.__scaffold__): # safety check setattr(object, name, self.request.params.get(p)) DBSession.add(object) DBSession.flush() transaction.commit() if 'form.submit' in self.request.params: return HTTPFound(location=route_url('manage_list_data', self.request, table=table)) html = self._element_generator(table_class.__scaffold__, table_class()) self.set('form',html) self.set('table', table) if table.endswith('ies'): self.set('table_singular', table[:-3] + 'y') elif table.endswith('es'): self.set('table_singular', table[:-2]) elif table.endswith("'s"): self.set('table_singular', table[:-2]) elif table.endswith('s'): self.set('table_singular', table[:-1]) else: self.set('table_singular', table) return self.response
def add_user(self): if self.__class__.__name__ == 'Users': DBSession.add(self) transaction.commit()