Просмотр исходного кода

Revert breaking changes from admin list ordering

rafalp 6 лет назад
Родитель
Сommit
77dcd041a7
1 измененных файлов с 19 добавлено и 17 удалено
  1. 19 17
      misago/admin/views/generic/list.py

+ 19 - 17
misago/admin/views/generic/list.py

@@ -227,9 +227,12 @@ class ListView(AdminView):
             )
 
     # Order list items
-    @property
-    def ordering_session_key(self):
-        return "misago_admin_%s_order_by" % self.root_link
+    def get_ordering_methods(self, request):
+        return {
+            "GET": self.get_ordering_from_GET(request),
+            "session": self.get_ordering_from_session(request),
+            "default": self.clean_ordering(self.ordering[0][0]),
+        }
 
     def get_ordering_from_GET(self, request):
         sort = request.GET.get("sort")
@@ -240,34 +243,33 @@ class ListView(AdminView):
             new_ordering = sort
         else:
             new_ordering = "?nope"
-
         return self.clean_ordering(new_ordering)
 
+    @property
+    def ordering_session_key(self):
+        return "misago_admin_%s_order_by" % self.root_link
+
     def get_ordering_from_session(self, request):
         new_ordering = request.session.get(self.ordering_session_key)
         return self.clean_ordering(new_ordering)
 
-    def clean_ordering(self, new_ordering):
-        for order_by, _ in self.ordering:  # pylint: disable=not-an-iterable
-            if order_by == new_ordering:
-                return order_by
-
-    def get_ordering_methods(self, request):
-        return {
-            "GET": self.get_ordering_from_GET(request),
-            "session": self.get_ordering_from_session(request),
-            "default": self.clean_ordering(self.ordering[0][0]),
-        }
-
     def get_ordering_method_to_use(self, methods):
+        print("get_ordering_method_to_use")
+        print("=" * len("get_ordering_method_to_use"))
         for method in ("GET", "session", "default"):
+            print(method, methods.get(method))
             if methods.get(method):
                 return methods.get(method)
 
+    def clean_ordering(self, new_ordering):
+        for order_by, _ in self.ordering:  # pylint: disable=not-an-iterable
+            if order_by == new_ordering:
+                return order_by
+
     def set_ordering_in_context(self, context, method):
         for order_by, name in self.ordering:  # pylint: disable=not-an-iterable
             order_as_dict = {
-                "type": "up" if order_by[0] == "-" else "down",
+                "type": "desc" if order_by[0] == "-" else "asc",
                 "order_by": order_by,
                 "name": name,
             }