You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
74 lines
1.8 KiB
# -*- coding: utf-8 -*-
|
|
from django.views.generic import TemplateView, CreateView, ListView, UpdateView
|
|
from django.conf import settings
|
|
from expobanner.models import URL, BannerGroup, Banner
|
|
from expobanner.forms import UrlCreateForm, BannerCreateGroupForm, BannerCreateForm, BannerGroupUpdateForm
|
|
|
|
|
|
class BannersControl(TemplateView):
|
|
template_name = 'admin/expobanner/banners_control.html'
|
|
|
|
# CREATE VIEWS
|
|
class AbstractCreate(CreateView):
|
|
template_name = 'admin/expobanner/default_form.html'
|
|
success_url = '/admin/expobanners/banners/control/'
|
|
|
|
|
|
class CreateUrl(AbstractCreate):
|
|
model = URL
|
|
form_class = UrlCreateForm
|
|
|
|
|
|
class CreateBannerGroup(AbstractCreate):
|
|
model = BannerGroup
|
|
form_class = BannerCreateGroupForm
|
|
|
|
|
|
class CreateBanner(AbstractCreate):
|
|
model = Banner
|
|
form_class = BannerCreateForm
|
|
|
|
|
|
# LISTS VIEWS
|
|
class AbstractList(ListView):
|
|
paginate_by = settings.ADMIN_PAGINATION
|
|
template_name = 'admin/expobanner/default_list.html'
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super(AbstractList, self).get_context_data(**kwargs)
|
|
context['verbose'] = self.verbose
|
|
return context
|
|
|
|
class UrlList(AbstractList):
|
|
model = URL
|
|
verbose = u'Список урлов'
|
|
|
|
|
|
class BannerGroupList(AbstractList):
|
|
model = BannerGroup
|
|
verbose = u'Список груп'
|
|
|
|
|
|
class BannerList(AbstractList):
|
|
model = Banner
|
|
verbose = u'Список банеров'
|
|
|
|
# UPDATE VIEWS
|
|
class AbstractUpdate(UpdateView):
|
|
template_name = 'admin/expobanner/default_form.html'
|
|
success_url = '/admin/expobanners/banners/control/'
|
|
|
|
|
|
class UrlUpdate(AbstractUpdate):
|
|
model = URL
|
|
form_class = UrlCreateForm
|
|
|
|
|
|
class BannerGroupUpdate(AbstractUpdate):
|
|
model = BannerGroup
|
|
form_class = BannerGroupUpdateForm
|
|
|
|
|
|
class BannerUpdate(AbstractUpdate):
|
|
model = Banner
|
|
form_class = BannerCreateForm |