Commit 1c6c92aa authored by Vasyl Bodnaruk's avatar Vasyl Bodnaruk

add sort by columns

parent 3aa8ea79
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<main class="pt-5 pb-5"> <main class="pt-2 pb-5">
<div class="container"> <div class="container">
<form class="form" method="post"> <form class="form" method="post">
{% csrf_token %} {% csrf_token %}
<section class="mb-5"> <section class="mb-5">
<h5 class="offset-1 display-5 mb-5">Edit</h5> <h5 class="offset-1 display-5 mb-2">Edit</h5>
<!-- Title --> <!-- Title -->
<div class="form-group row"> <div class="form-group row">
<label for="title" class="offset-1 col-2 col-form-label">Title</label> <label for="title" class="offset-1 col-2 col-form-label">Title</label>
......
...@@ -53,10 +53,21 @@ ...@@ -53,10 +53,21 @@
<span><input id="select-all" type="checkbox"></span> <span><input id="select-all" type="checkbox"></span>
<span>Title</span> <span>Title</span>
</th> </th>
<th>Media</th> <th><a href="?order_by=media_id{% if request.GET.order_by == 'media_id' and request.GET.reverse != '1' %}&amp;reverse=1{% endif %}">
<th>Type</th> Media {% if request.GET.order_by == 'media_id' and request.GET.reverse != '1' %}&uarr;
<th>Region</th> {% elif request.GET.order_by == 'media_id' and request.GET.reverse == '1' %}&darr;{% endif %}</a></th>
<th>Publish date</th>
<th><a href="?order_by=type_id{% if request.GET.order_by == 'type_id' and request.GET.reverse != '1' %}&amp;reverse=1{% endif %}">
Type {% if request.GET.order_by == 'type_id' and request.GET.reverse != '1' %}&uarr;
{% elif request.GET.order_by == 'type_id' and request.GET.reverse == '1' %}&darr;{% endif %}</a></th>
<th><a href="?order_by=region_id{% if request.GET.order_by == 'region_id' and request.GET.reverse != '1' %}&amp;reverse=1{% endif %}">
Region {% if request.GET.order_by == 'region_id' and request.GET.reverse != '1' %}&uarr;
{% elif request.GET.order_by == 'region_id' and request.GET.reverse == '1' %}&darr;{% endif %}</a></th>
<th><a href="?order_by=publish_date{% if request.GET.order_by == 'publish_date' and request.GET.reverse != '1' %}&amp;reverse=1{% endif %}">
Publish date {% if request.GET.order_by == 'publish_date' and request.GET.reverse != '1' %}&uarr;
{% elif request.GET.order_by == 'publish_date' and request.GET.reverse == '1' %}&darr;{% endif %}</a></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -85,5 +96,15 @@ ...@@ -85,5 +96,15 @@
</tbody> </tbody>
</table> </table>
</form> </form>
{% show_pages %} <!--<div class="pagination" align="right">-->
<!--{% show_pages %}-->
<!--</div>-->
{% get_pages %}
<ul class="pagination">
{% for page in pages %}
<li><a href="{{ page.url }}">{{ page.number }}</a></li>
{% endfor %}
</ul>
{% endblock %} {% endblock %}
\ No newline at end of file
...@@ -22,6 +22,12 @@ class ListNewsView(ListView): ...@@ -22,6 +22,12 @@ class ListNewsView(ListView):
print(from_date, to_date) print(from_date, to_date)
news = News.objects.filter(is_accepted=False).order_by('-id')#.order_by('record_date') news = News.objects.filter(is_accepted=False).order_by('-id')#.order_by('record_date')
order_by = request.GET.get('order_by')
if order_by in ('media_id', 'type_id', 'region_id', 'publish_date'):
news = news.order_by('-' + order_by)
if request.GET.get('reverse') == '1':
news = news.reverse()
if search: if search:
news = news.filter(Q(title__icontains=search) | Q(description__icontains=search)) news = news.filter(Q(title__icontains=search) | Q(description__icontains=search))
if from_date: if from_date:
...@@ -35,8 +41,6 @@ class ListNewsView(ListView): ...@@ -35,8 +41,6 @@ class ListNewsView(ListView):
min_max_date['record_date__min'] = str(min_max_date['record_date__min'].date()) min_max_date['record_date__min'] = str(min_max_date['record_date__min'].date())
min_max_date['record_date__max'] = str(min_max_date['record_date__max'].date()) min_max_date['record_date__max'] = str(min_max_date['record_date__max'].date())
# news = self.paginate(news, request.GET.get('page'))
return render(request, self.template_name, {'news': news, return render(request, self.template_name, {'news': news,
'media': media, 'media': media,
'date': min_max_date}) 'date': min_max_date})
......
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