diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-12-27 15:32:15 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-12-27 15:32:15 +0000 |
commit | d09ede00fb5fa9f7fce79178b96eb8c71a8c8344 (patch) | |
tree | 923d1b0d2cf24e4bab814ce9041868adf417b53a | |
parent | 515248eb8b445bd5f5f760776a815906b78d058e (diff) | |
download | cheatdb-d09ede00fb5fa9f7fce79178b96eb8c71a8c8344.tar.xz |
Add sort toggle bar to topics list
-rw-r--r-- | app/templates/base.html | 6 | ||||
-rw-r--r-- | app/templates/todo/topics.html | 60 | ||||
-rw-r--r-- | app/views/packages/todo.py | 3 |
3 files changed, 40 insertions, 29 deletions
diff --git a/app/templates/base.html b/app/templates/base.html index 222dd15..f542a22 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -70,17 +70,17 @@ <ul class="dropdown-menu" role="menu"> <li class="nav-item"> <a class="nav-link" href="{{ url_for('user_profile_page', username=current_user.username) }}">Profile</a> - </li class="nav-item"> + </li> <li class="nav-item"> <a class="nav-link" href="{{ url_for('user_profile_page', username=current_user.username) }}#unadded-topics">Your unadded topics</a> - </li class="nav-item"> + </li> {% if current_user.canAccessTodoList() %} <li class="nav-item"><a class="nav-link" href="{{ url_for('todo_page') }}">Work Queue</a></li> <li class="nav-item"><a class="nav-link" href="{{ url_for('user_list_page') }}">User list</a></li> {% endif %} <li class="nav-item"> <a class="nav-link" href="{{ url_for('todo_topics_page') }}">All unadded topics</a> - </li class="nav-item"> + </li> {% if current_user.rank == current_user.rank.ADMIN %} <li class="nav-item"><a class="nav-link" href="{{ url_for('admin_page') }}">Admin</a></li> {% endif %} diff --git a/app/templates/todo/topics.html b/app/templates/todo/topics.html index 7fa6644..f9774d1 100644 --- a/app/templates/todo/topics.html +++ b/app/templates/todo/topics.html @@ -5,40 +5,48 @@ Topics to be Added {% endblock %} {% block content %} - <div class="float-right btn-group"> - {% if current_user.rank.atLeast(current_user.rank.EDITOR) %} - {% if n >= 10000 %} - <a class="btn btn-primary" - href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=100, sort=sort_by) }}"> - Paginated List - </a> - {% else %} - <a class="btn btn-primary" - href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=10000, sort=sort_by) }}"> - Unlimited List - </a> - {% endif %} - {% endif %} - {% if sort_by == "name" %} - <a class="btn btn-primary" + <div class="float-right"> + <div class="btn-group"> + <a class="btn btn-primary {% if sort_by=='date' %}active{% endif %}" href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=n, sort='date') }}"> Sort by date </a> - {% else %} - <a class="btn btn-primary" + <a class="btn btn-primary {% if sort_by=='name' %}active{% endif %}" href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=n, sort='name') }}"> Sort by name </a> - {% endif %} - <a class="btn btn-primary" href="{{ url_for('todo_topics_page', q=query, show_discarded=not show_discarded, n=n, sort=sort_by) }}"> - {% if not show_discarded %} - Show - {% else %} - Hide + <a class="btn btn-primary {% if sort_by=='views' %}active{% endif %}" + href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=n, sort='views') }}"> + Sort by views + </a> + </div> + + + <div class="btn-group"> + {% if current_user.rank.atLeast(current_user.rank.EDITOR) %} + {% if n >= 10000 %} + <a class="btn btn-primary" + href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=100, sort=sort_by) }}"> + Paginated list + </a> + {% else %} + <a class="btn btn-primary" + href="{{ url_for('todo_topics_page', q=query, show_discarded=show_discarded, n=10000, sort=sort_by) }}"> + Unlimited list + </a> + {% endif %} {% endif %} - Discarded Topics - </a> + <a class="btn btn-primary" href="{{ url_for('todo_topics_page', q=query, show_discarded=not show_discarded, n=n, sort=sort_by) }}"> + {% if not show_discarded %} + Show + {% else %} + Hide + {% endif %} + + discarded topics + </a> + </div> </div> <h1>Topics to be Added</h1> diff --git a/app/views/packages/todo.py b/app/views/packages/todo.py index 854e165..47b8cb5 100644 --- a/app/views/packages/todo.py +++ b/app/views/packages/todo.py @@ -68,8 +68,11 @@ def todo_topics_page(): sort_by = request.args.get("sort") if sort_by == "name": query = query.order_by(db.asc(ForumTopic.wip), db.asc(ForumTopic.name), db.asc(ForumTopic.title)) + elif sort_by == "views": + query = query.order_by(db.desc(ForumTopic.views)) elif sort_by is None or sort_by == "date": query = query.order_by(db.asc(ForumTopic.created_at)) + sort_by = "date" topic_count = query.count() |