pvl.verkko.table: better default handlers
authorTero Marttila <terom@paivola.fi>
Fri, 05 Jul 2013 02:02:33 +0300
changeset 242 088d68412650
parent 241 97a0a66e2211
child 243 787c5f93f434
pvl.verkko.table: better default handlers
pvl/verkko/table.py
--- a/pvl/verkko/table.py	Fri Jul 05 02:02:19 2013 +0300
+++ b/pvl/verkko/table.py	Fri Jul 05 02:02:33 2013 +0300
@@ -392,6 +392,7 @@
     )
     
     TABLE = None
+    DB_TABLE = None
 
     # target Handlers for table links
     TABLE_URL = None
@@ -413,8 +414,11 @@
         """
             Database SELECT query.
         """
+        
+        if self.DB_CLASS is None :
+            raise NotImplementedError()
 
-        raise NotImplementedError()
+        return self.db.query(self.DB_CLASS)
     
     def sort (self, query) :
         """
@@ -533,6 +537,12 @@
 
         return ', '.join(value for values in self.filters.itervalues() for value in values)
 
+    def title (self) :
+        if self.filters :
+            return "{title}: {filters}".format(title=self.TABLE.ITEMS, filters=self.filters_title())
+        else :
+            return self.TABLE.ITEMS
+
     def process (self) :
         """
             Process request args -> self.filters, self.sorts, self.page, self.query
@@ -573,4 +583,8 @@
                 page    = page,
                 hilight = hilight,
         )
-        
+
+    def render (self) :
+        return (
+            self.render_table(self.query, filters=self.filters, sort=self.sorts, page=self.page),
+        )