# HG changeset patch # User Marcin Kuzminski # Date 2017-08-17 20:44:25 # Node ID a04ecb8dd0b113e6a33541d3349d30c981ebc3d0 # Parent 5a2a7c7ae11b98ac2bbeedc0e7cb3fe6bbd9c30f data-grid-app: added universal function for extracting ordering. - now supports format a.b - supports passing a ref column e.g User.username, get's handy for joined querie diff --git a/rhodecode/apps/_base/__init__.py b/rhodecode/apps/_base/__init__.py --- a/rhodecode/apps/_base/__init__.py +++ b/rhodecode/apps/_base/__init__.py @@ -20,6 +20,7 @@ import time import logging +import operator from pyramid.httpexceptions import HTTPFound @@ -283,6 +284,15 @@ class DataGridAppView(object): draw = safe_int(request.GET.get('draw')) return draw, start, length + def _get_order_col(self, order_by, model): + if isinstance(order_by, basestring): + try: + return operator.attrgetter(order_by)(model) + except AttributeError: + return None + else: + return order_by + class BaseReferencesView(RepoAppView): """