# -*- 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