Worst tg hack ever, but unless I am the only one using formencode's
DateConverter with tg's pagination, then someone else may need this.  It
also includes some changes for using a jumpmenu with pagination but that
is different problem:

Index: turbogears/paginate.py
===================================================================
--- turbogears/paginate.py      (revision 2346)
+++ turbogears/paginate.py      (working copy)
@@ -10,6 +10,7 @@
 import turbogears
 from turbogears.decorator import weak_signature_decorator
 from turbogears.view import variable_providers
+import datetime
 
 log = logging.getLogger("turbogears.paginate")
 
@@ -139,7 +140,7 @@
             self.href_prev = None
             self.href_first = None
            
-    def get_href(self, page, order=None, reverse_order=None):
+    def get_href(self, page, order=None, reverse_order=None, limit=None):
         if order:
             if order == self.order:
                 if self.reversed:
@@ -156,8 +157,17 @@
         else:
             order = self.order
             reversed = self.reversed
+       if not limit:
+           limit = self.limit
+
+       # Convert datetime.date instances to strings so they work with
+       # Formencode's DateConverter
+       for name in self.input_values:
+           if type(self.input_values[name]) is datetime.date:
+               self.input_values[name] =
self.input_values[name].strftime('%m/%d/%Y')
        
-        self.input_values.update(dict(tg_paginate_no=page,
+        self.input_values.update(dict(tg_paginate_limit=limit,
+                                      tg_paginate_no=page,
                                       tg_paginate_order=order,
                                       tg_paginate_reversed=reversed))

It was easier for me to hardcode my date format in paginate.py than to
rewrite the formencode DateConverter to use other formats...

Aaron Bostick wrote:
> Does anyone have a patch for formencode that makes DateConverter honor
> date formats other than mm/dd/yyyy and dd/mm/yyyy.  From viewing the
> source code, it appears those are the only two date formats
> DateConverter will use regardless of what your format keyword is.
>
> The reason I need ISO format, yyyy-mm-dd, for DateConverter is that when
> using dates to generate a resultset to populate a PaginateDataGrid, the
> query string for the links use iso format for the dates.  So basically,
> the pagination code is generating query strings like this:
>
> ?sdate=2006-09-01&tg_paginate_limit=20&tg_paginate_no=3&edate=2007-09-01&tg_paginate_order=
>
> which my schema chokes on because DateConverter thinks it is an invalid
> date!
>
> So I either need to make DateConverter work with paginate's format, or
> make paginate use DateConverter's format in its query strings!
>
> Anyone found a workaround for this???
>
> Regards,
> Aaron
>
> >
>   

--~--~---------~--~----~------------~-------~--~----~
 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to