# -*- coding: utf-8 -*- from django.core.context_processors import csrf from django.shortcuts import render_to_response from django.template import RequestContext from django.views.generic import TemplateView from django.conf import settings from exposition.models import Exposition from theme.models import Theme from news.models import News from article.models import Article from functions.forms import ThemeSearch, PlaceSearch from functions.search_forms import EventSearchForm, ExpositionSearchForm from functions.custom_views import ExpoListView from accounts.forms import RegistrationCompleteForm def expo_context(request): cont = {'theme_search_form': ThemeSearch(), 'expo_catalog': Exposition.catalog, 'book_aid': settings.BOOKING_AID, 'blogs': Article.objects.main_page_blogs(), 'news_list': Article.objects.main_page_news() } user = request.user if not user.is_anonymous() and not user.url: cont.update({'reg_complete': RegistrationCompleteForm(instance=user)}) if not request.GET: cont.update({'search_form': ExpositionSearchForm()}) return cont class MainPageView(TemplateView): template_name = 'index.html' def get_context_data(self, **kwargs): context = super(MainPageView, self).get_context_data(**kwargs) events = Exposition.objects.language().select_related('country', 'city', 'place').filter(main_page=1) exposition_themes = Theme.objects.language().order_by('-main_page').filter(types=Theme.types.exposition)[:6] conference_themes = Theme.objects.language().order_by('-main_page').filter(types=Theme.types.conference)[:6] args = {'events': events, 'exposition_themes': exposition_themes, 'conference_themes': conference_themes, 'search_form': ExpositionSearchForm, 'search_action': '/expo/search/'} context.update(args) return context class AdvertisingView(TemplateView): template_name = 'simple_pages/advertising.html' class AboutView(TemplateView): template_name = 'simple_pages/about.html'