Commit b140af2f authored by Vasyl Bodnaruk's avatar Vasyl Bodnaruk Committed by Andrii Marynets

make task 1 and 2

parent 5524805f
......@@ -38,4 +38,8 @@
color: #025aa5;
}
.container{
margin-top:30px;
}
......@@ -9,6 +9,7 @@ $(document).ready(function() {
var chk = '.checkbox';
var counter = '.actions-delete-counter';
var deleteBtn = '.js-delete-items';
var exportBtn = '.js-export-items'
// Action block
var actionView = '.action-block-view';
......@@ -49,6 +50,21 @@ $(document).ready(function() {
});
return items;
}
function exportData() {
var items = {
id: [],
type: 'exportAll'
};
var selectedLength = $('.checkbox').each(function(index, item) {
$(item).prop('checked') === true
? items.id.push($(item).prop('id'))
: ''
});
console.log(items);
return items;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
......@@ -79,6 +95,7 @@ $(document).ready(function() {
}
})
}
updateCounter();
$(selectAllChk).click(function () {
$(chk).prop('checked', $(this).prop('checked'));
......@@ -87,11 +104,18 @@ $(document).ready(function() {
$(chk).on('click', updateCounter);
$(deleteBtn).on('click', function() {
$(deleteBtn).on('click', function(e) {
e.preventDefault()
var data = deleteData();
ajaxPost('/news/', data);
});
$(exportBtn).on('click', function(e) {
e.preventDefault()
var data = exportData();
ajaxPost('/news/', data);
});
$(actionView).on('click', function(e) {
e.preventDefault();
var data = actionData(this);
......
......@@ -8,27 +8,34 @@
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<div class="actions mr-auto">
<button class="js-delete-items btn btn-danger">
<span>Delete items (</span><span class="actions-delete-counter">0</span><span>)</span>
</button>
<form class="actions-form" method="get" action="{% url 'list_news' %}">
<!--<select class="form-control actions-select" name="time">-->
<!--<option>All</option>-->
<!--<option>Today</option>-->
<!--<option>Last week</option>-->
<!--<option>Last month</option>-->
<!--</select>-->
<input type="date" name="date">
<select class="form-control actions-select" name="media">
<option>All</option>
{% for i in media %}
<option>{{ i.name }}</option>
{% endfor %}
</select>
<div style="display: block;">
<label>Date from:</label>
<input type="date" name="from_date">
</div>
<div style="display: block;">
<label>To:</label>
<input type="date" name="to_date">
</div>
<div style="display: block;">
<label>By media:</label>
<select class="form-control actions-select" name="media">
<option>All</option>
{% for i in media %}
<option>{{ i.name }}</option>
{% endfor %}
</select>
</div>
<button type="submit" class="btn btn-success">Filter</button>
</form>
</div>
<a href="/" class="btn btn-primary">Add News</a>
<button class="js-delete-items btn btn-danger">
<span>Delete news (</span><span class="actions-delete-counter">0</span><span>)</span>
</button>
<button class="js-export-items btn btn-success">
<span>Export news (</span><span class="actions-delete-counter">0</span><span>)</span>
</button>
</div>
</nav>
......
import json
from django.shortcuts import render, redirect, reverse, HttpResponseRedirect, HttpResponse
from django.views.generic import ListView, DetailView, CreateView
from django.http import JsonResponse
from .models import News, WpEsiNews, WpEsiNewsEntity, WpEsiMedia, WpEsiEntity
......@@ -10,10 +11,16 @@ class ListNewsView(ListView):
def get(self, request, *args, **kwargs):
media = request.GET.get('media')
date = request.GET.get('date')
from_date = request.GET.get('from_date')
to_date = request.GET.get('to_date')
print(from_date, to_date)
news = News.objects.filter(is_accepted=False).order_by('-id')#.order_by('record_date')
if date:
news = news.filter(record_date=date)
if from_date:
news = news.filter(record_date__gte=from_date)
print(news)
if to_date:
news = news.filter(record_date__lte=to_date)
print(news)
if media:
news = self._filter_by_media(news, media)
media = WpEsiMedia.objects.all()
......@@ -28,8 +35,8 @@ class ListNewsView(ListView):
if type_request in ['delete', 'deleteAll']:
self._delete(ids)
if type_request == 'edit':
return HttpResponseRedirect(reverse('single_news', kwargs={'id': ids}))
return HttpResponseRedirect(reverse('list_news'))
return HttpResponse({'ids': ids})
return HttpResponse(200)
def _delete(self, id):
if isinstance(id, list):
......
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