Пример #1
0
 def manage_list_data(self):
     table = str(self.request.matchdict['table'])
     table_class = Import('courtrecords.models', table)
     has_interface(table_class,'__scaffold__')
     
     # Generate table header
     thead = []
     for s in table_class.__scaffold__:
         for k,v in s.items():
             thead.append(v['label'])
             
     self.set('thead', thead)
     self.set('table', table)
     self.set('table_singular', table[:-1])
     return self.response
Пример #2
0
 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