diff --git a/article/admin.py b/article/admin.py index 94a892a3..ff178cee 100644 --- a/article/admin.py +++ b/article/admin.py @@ -5,6 +5,7 @@ from django.core.context_processors import csrf from django.conf import settings from django.contrib.auth.decorators import login_required from django.contrib.contenttypes.models import ContentType +from django.views.generic import DeleteView #models and forms from forms import ArticleForm, ArticleDeleteForm, Article, NewsForm from theme.models import Tag @@ -16,6 +17,18 @@ from functions.custom_views import objects_list, add_object_with_file, delete_ob from functions.views_help import get_referer +class ArticleDeleteView(DeleteView): + model = Article + template_name = "admin/article/article_confirm_delete.html" + + def get_success_url(self): + if self.object.type == 1: + type = "blog" + else: + type = "news" + return "/admin/article/%s/all/" % type + + def article_all(request): """ Return list of all articles with pagination diff --git a/article/admin_urls.py b/article/admin_urls.py index cbc9b1f6..ed180fb2 100644 --- a/article/admin_urls.py +++ b/article/admin_urls.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from django.conf.urls import patterns, url -from admin import BlogList, BlogView, NewsList, NewsView +from admin import BlogList, BlogView, NewsList, NewsView, ArticleDeleteView urlpatterns = patterns('article.admin', @@ -11,6 +11,7 @@ urlpatterns = patterns('article.admin', #url(r'^all/$', 'article_all'), url(r'^blog/all/$', BlogList.as_view()), url(r'^blog/$', BlogView.as_view()), + url(r'^delete/(?P.*)/$', ArticleDeleteView.as_view()), url(r'^news/all/$', NewsList.as_view()), url(r'^news/$', NewsView.as_view()), diff --git a/article/views.py b/article/views.py index 53dbdb6e..952e4193 100644 --- a/article/views.py +++ b/article/views.py @@ -10,6 +10,7 @@ from meta.views import MetadataMixin + class NewsList(MetadataMixin, ListView): model = Article template_name = 'article/news_list.html' @@ -53,7 +54,6 @@ class NewsList(MetadataMixin, ListView): return context - class NewsDetail(MetadataMixin, DetailView): model = Article slug_field = 'slug' diff --git a/expobanner/admin.py b/expobanner/admin.py index 7d1bf1b1..4c053c53 100644 --- a/expobanner/admin.py +++ b/expobanner/admin.py @@ -117,10 +117,10 @@ class BannerStat(DetailView): date_from, date_to = self.request.GET.get('date_from'), self.request.GET.get('date_to') if date_from: date_from = datetime.strptime(date_from, "%d.%m.%Y") - qs = qs.filter(date__gt=date_from) + qs = qs.filter(date__gte=date_from) if date_to: date_to = datetime.strptime(date_to, "%d.%m.%Y") - qs = qs.filter(date__lt=date_to) + qs = qs.filter(date__lte=date_to) context['stats'] = qs return context @@ -195,10 +195,10 @@ class PaidStat(DetailView): date_from, date_to = self.request.GET.get('date_from'), self.request.GET.get('date_to') if date_from: date_from = datetime.strptime(date_from, "%d.%m.%Y") - qs = qs.filter(date__gt=date_from) + qs = qs.filter(date__gte=date_from) if date_to: date_to = datetime.strptime(date_to, "%d.%m.%Y") - qs = qs.filter(date__lt=date_to) + qs = qs.filter(date__lte=date_to) context['stats'] = qs return context @@ -264,10 +264,10 @@ class MainStat(DetailView): date_from, date_to = self.request.GET.get('date_from'), self.request.GET.get('date_to') if date_from: date_from = datetime.strptime(date_from, "%d.%m.%Y") - qs = qs.filter(date__gt=date_from) + qs = qs.filter(date__gte=date_from) if date_to: date_to = datetime.strptime(date_to, "%d.%m.%Y") - qs = qs.filter(date__lt=date_to) + qs = qs.filter(date__lte=date_to) context['stats'] = qs return context diff --git a/proj/admin.py b/proj/admin.py index 39bccbc2..7c8afd82 100644 --- a/proj/admin.py +++ b/proj/admin.py @@ -3,7 +3,7 @@ from django.shortcuts import render_to_response from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.contrib.contenttypes.models import ContentType from django.conf import settings -from django.views.generic import TemplateView +from django.views.generic import TemplateView, DeleteView from file.models import TmpFile, FileModel from file.forms import FileModelForm, FileForm from city.models import City @@ -13,6 +13,10 @@ from django.db.models.loading import get_model + + + + class AdminIndex(TemplateView): template_name = 'admin/base.html' diff --git a/templates/admin/article/article_confirm_delete.html b/templates/admin/article/article_confirm_delete.html new file mode 100644 index 00000000..ac15985c --- /dev/null +++ b/templates/admin/article/article_confirm_delete.html @@ -0,0 +1,11 @@ +{% extends 'base.html' %} +{% block sidebar %}{% endblock %} +{% block body %} +
{% csrf_token %} +
+

Вы точно хотите удалить "{{ object }}" ?

+ + Нет +
+
+{% endblock %} \ No newline at end of file