Unverified Commit 662c0703 authored by Serge S. Koval's avatar Serge S. Koval Committed by GitHub

Merge pull request #1496 from hadleyrich/master

Fix sorting in subdirectories in fileadmin
parents 2100cef8 710bb4f6
...@@ -821,6 +821,12 @@ class BaseFileAdmin(BaseView, ActionsMixin): ...@@ -821,6 +821,12 @@ class BaseFileAdmin(BaseView, ActionsMixin):
sort_column = request.args.get('sort', None, type=str) sort_column = request.args.get('sort', None, type=str)
sort_desc = request.args.get('desc', 0, type=int) sort_desc = request.args.get('desc', 0, type=int)
if sort_column is None:
if self.default_sort_column:
sort_column = self.default_sort_column
if self.default_desc:
sort_desc = self.default_desc
if sort_column is None: if sort_column is None:
# Sort by name # Sort by name
items.sort(key=itemgetter(0)) items.sort(key=itemgetter(0))
...@@ -842,13 +848,16 @@ class BaseFileAdmin(BaseView, ActionsMixin): ...@@ -842,13 +848,16 @@ class BaseFileAdmin(BaseView, ActionsMixin):
else: else:
action_form = None action_form = None
def sort_url(column, invert=False): def sort_url(column, path, invert=False):
desc = None desc = None
if not path:
path = None
if invert and not sort_desc: if invert and not sort_desc:
desc = 1 desc = 1
return self.get_url('.index_view', sort=column, desc=desc) return self.get_url('.index_view', path=path, sort=column, desc=desc)
return self.render(self.list_template, return self.render(self.list_template,
dir_path=path, dir_path=path,
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<th> <th>
{% if admin_view.is_column_sortable(column) %} {% if admin_view.is_column_sortable(column) %}
{% if sort_column == column %} {% if sort_column == column %}
<a href="{{ sort_url(column, True) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}"> <a href="{{ sort_url(column, dir_path, True) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">
{{ admin_view.column_label(column) }} {{ admin_view.column_label(column) }}
{% if sort_desc %} {% if sort_desc %}
<i class="fa fa-chevron-up icon-chevron-up"></i> <i class="fa fa-chevron-up icon-chevron-up"></i>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
{% endif %} {% endif %}
</a> </a>
{% else %} {% else %}
<a href="{{ sort_url(column) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">{{ admin_view.column_label(column) }}</a> <a href="{{ sort_url(column, dir_path) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">{{ admin_view.column_label(column) }}</a>
{% endif %} {% endif %}
{% else %} {% else %}
{{ _gettext(admin_view.column_label(column)) }} {{ _gettext(admin_view.column_label(column)) }}
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<th> <th>
{% if admin_view.is_column_sortable(column) %} {% if admin_view.is_column_sortable(column) %}
{% if sort_column == column %} {% if sort_column == column %}
<a href="{{ sort_url(column, True) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}"> <a href="{{ sort_url(column, dir_path, True) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">
{{ admin_view.column_label(column) }} {{ admin_view.column_label(column) }}
{% if sort_desc %} {% if sort_desc %}
<span class="fa fa-chevron-up glyphicon glyphicon-chevron-up"></span> <span class="fa fa-chevron-up glyphicon glyphicon-chevron-up"></span>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
{% endif %} {% endif %}
</a> </a>
{% else %} {% else %}
<a href="{{ sort_url(column) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">{{ admin_view.column_label(column) }}</a> <a href="{{ sort_url(column, dir_path) }}" title="{{ _gettext('Sort by %(name)s', name=column) }}">{{ admin_view.column_label(column) }}</a>
{% endif %} {% endif %}
{% else %} {% else %}
{{ _gettext(admin_view.column_label(column)) }} {{ _gettext(admin_view.column_label(column)) }}
...@@ -126,12 +126,12 @@ ...@@ -126,12 +126,12 @@
{{ size|filesizeformat }} {{ size|filesizeformat }}
</td> </td>
{% endif %} {% endif %}
{% endif %}
{% if admin_view.is_column_visible('date') %} {% if admin_view.is_column_visible('date') %}
<td> <td>
{{ timestamp_format(date) }} {{ timestamp_format(date) }}
</td> </td>
{% endif %} {% endif %}
{% endif %}
{% endblock %} {% endblock %}
</tr> </tr>
{% endfor %} {% endfor %}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment