Commit 158717ee authored by Andrii Marynets's avatar Andrii Marynets

Delete old class for Listview

parent b6a86d83
......@@ -12,84 +12,6 @@ from .models import News, WpEsiMedia, WpEsiTag
from .forms import NewsForm
@method_decorator(login_required, name='post')
class Test(ListView):
template_name = 'list_news.html'
def get(self, request, *args, **kwargs):
media = request.GET.get('media')
from_date = request.GET.get('from_date')
to_date = request.GET.get('to_date')
search = request.GET.get('search')
news = News.objects.filter(is_accepted=False).order_by('-id')#.order_by
tag = request.GET.get('tag')
if tag:
tag = WpEsiTag.objects.get(name=tag)
news = news.filter(tags_id__contains='{},'.format(tag.id))
order_by = request.GET.get('order_by')
if order_by in ('media_id', 'type_id', 'region_id', 'publish_date', 'title'):
news = news.order_by('-' + order_by)
if request.GET.get('reverse') == '1':
news = news.reverse()
if search:
news = news.filter(Q(title__icontains=search) | Q(description__icontains=search))
if from_date:
news = news.filter(publish_date__gte=from_date)
if to_date:
news = news.filter(publish_date__lte=to_date)
if media:
news = self._filter_by_media(news, media)
media = WpEsiMedia.objects.all()
min_max_date = News.objects.aggregate(Min('publish_date'), Max('publish_date'))
min_max_date['publish_date__min'] = str(min_max_date['publish_date__min'].date())
min_max_date['publish_date__max'] = str(min_max_date['publish_date__max'].date())
return render(request, self.template_name, {'news': news,
'media': media,
'date': min_max_date})
def post(self, request, *args, **kwargs):
if request.is_ajax():
data = json.loads(request.body.decode('utf-8'))
type_request = data['type']
ids = data['id']
if type_request in ['delete', 'deleteAll']:
self._delete(ids)
if type_request == 'edit':
return HttpResponse({'ids': ids})
if type_request == 'exportAll':
for i in News.objects.filter(pk__in=ids):
i.export_news()
return HttpResponse(200)
return HttpResponse(200)
def paginate(self, query, page):
paginator = Paginator(query, 25)
try:
return paginator.page(page)
except PageNotAnInteger:
return paginator.page(1)
except EmptyPage:
return paginator.page(paginator.num_pages)
def _delete(self, id):
if isinstance(id, list):
News.objects.filter(id__in=id).update(is_accepted=True)
else:
News.objects.filter(id=id).update(is_accepted=True)
def _filter_by_media(self, news, media):
if media == 'All':
return news
else:
m = WpEsiMedia.objects.get(name=media)
news = news.filter(media_id=m.pk)
return news
@method_decorator(login_required, name='dispatch')
class EditNewsView(DetailView):
template_name = 'edit_news.html'
......@@ -146,11 +68,12 @@ class AddNewsView(CreateView):
return HttpResponseRedirect(reverse('list_news'))
@method_decorator(login_required, name='post')
class ListNewsView(ListView):
context_object_name = 'news'
queryset = News.objects.filter(is_accepted=False).order_by('-id')
template_name = 'test.html'
template_name = 'list_news.html'
sort_fields = ('media_id', 'type_id', 'region_id', 'publish_date', 'title')
def post(self, request, *args, **kwargs):
......
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