Author: floguy
Date: Mon Sep 22 01:27:16 2008
New Revision: 33

Modified:
    trunk/things/fields.py
    trunk/things/options.py

Log:
Added support for a wider variety of display types, and fixed a bug where  
the verbose name was being used in URLs.

Modified: trunk/things/fields.py
==============================================================================
--- trunk/things/fields.py      (original)
+++ trunk/things/fields.py      Mon Sep 22 01:27:16 2008
@@ -20,12 +20,17 @@

  class OrderField(BaseField):
      def __init__(self, verbose_name_asc=None, verbose_name_desc=None,
-                 url_asc=None, url_desc=None, field_url=None):
+                 url_asc=None, url_desc=None, field_url=None,
+                 custom_aggregate_function=None,  
default_sort_descending=True,
+                 reverse=False):
          self._verbose_name_asc = verbose_name_asc
          self._verbose_name_desc = verbose_name_desc
          self._url_asc = url_asc
          self._url_desc = url_desc
          self._field_url = field_url
+        self.reverse = reverse
+        self.default_sort_descending = default_sort_descending
+        self.custom_aggregate_function = custom_aggregate_function

      def _get_verbose_name_asc(self):
          if self._verbose_name_asc:
@@ -44,8 +49,6 @@
      def _get_url_asc(self):
          if self._url_asc:
              return self._url_asc
-        elif self._verbose_name_asc:
-            return defaultfilters.slugify(self._verbose_name_asc)
          else:
              return 'ascending'
      url_asc = property(_get_url_asc, create_setter('_url_asc'))
@@ -53,8 +56,6 @@
      def _get_url_desc(self):
          if self._url_desc:
              return self._url_desc
-        elif self._verbose_name_desc:
-            return defaultfilters.slugify(self._verbose_name_desc)
          else:
              return 'descending'
      url_desc = property(_get_url_desc, create_setter('_url_desc'))

Modified: trunk/things/options.py
==============================================================================
--- trunk/things/options.py     (original)
+++ trunk/things/options.py     Mon Sep 22 01:27:16 2008
@@ -59,7 +59,15 @@
              pre = ''
              if descending == True:
                  pre = '-'
-            if isinstance(field, AggregateBase):
+            # Make this code more pretty when you get time.  Redundancy  
abound.
+            if field.reverse == True:
+                if pre == '':
+                    pre = '-'
+                else:
+                    pre = ''
+            if field.custom_aggregate_function is not None:
+                pass # TODO: Don't forget to implement me!
+            elif isinstance(field, AggregateBase):
                  items = items.order_by('%s%s' % (pre,  
field.get_aggregate_name()))
              else:
                  items = items.order_by('%s%s' % (pre, field.field_name))

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" 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/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to