# -*- coding: utf-8 -*- import json from django.shortcuts import render_to_response from django.http import HttpResponseRedirect, HttpResponse from django.core.context_processors import csrf from django.conf import settings from django.contrib.auth.decorators import login_required # from forms import SettingsForm @login_required def change_settings(request): if request.POST: pass else: form = SettingsForm() args = {'form': form, 'languages': settings.LANGUAGES} args.update(csrf(request)) return render_to_response('settings.html', args) from forms import MainPageEvent, MainPagePhotoreport, MainPageArticle, MainPageNews, MainPageThemes def handle_form(request, Form): if request.POST: form = Form(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/admin/settings/main-page/') else: return HttpResponseRedirect('/admin/settings/main-page/') return HttpResponseRedirect('/admin/settings/main-page/') def handle_events(request): return handle_form(request, MainPageEvent) def handle_news(request): return handle_form(request, MainPageNews) def handle_articles(request): return handle_form(request, MainPageArticle) def handle_themes(request): return handle_form(request, MainPageThemes) def handle_photoreports(request): return handle_form(request, MainPagePhotoreport) from exposition.models import Exposition from conference.models import Conference from seminar.models import Seminar from webinar.models import Webinar from theme.models import Theme from article.models import Article import datetime def main_page(request): now = datetime.datetime.now() expositions = Exposition.objects.filter(main_page=1) conferences = Conference.objects.filter(main_page=1) seminars = Seminar.objects.filter(main_page=1) webinars = Webinar.objects.filter(main_page=1) events = {'expositions':expositions, 'conferences': conferences, 'seminars':seminars, 'webinars': webinars} exposition_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.exposition) confrence_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.conference) seminar_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.seminar) news = Article.objects.news().filter(main_page=1) blogs = Article.objects.blogs().filter(main_page=1) themes = {'exposition_themes': exposition_themes, 'conference_themes': confrence_themes, 'seminar_themes':seminar_themes} news_form = MainPageNews(initial={'main_page_news':','.join(['%d'%item.id for item in news])}) a = [{'id': int(item.id), 'text': item.main_title} for item in news] news_form.fields['main_page_news'].widget.attrs['data-init-text'] = json.dumps(a) article_form = MainPageArticle(initial={'article' : blogs}) event_data = {'expositions': ','.join(['%s:%s'%(item.id, item.name) for item in expositions])} event_form = MainPageEvent(initial=event_data) args = {'event_form' : event_form, 'theme_form' : MainPageThemes(initial=themes), 'article_form' : article_form, 'news_form' : news_form, 'photoreport_form' : MainPagePhotoreport(),} args.update(csrf(request)) return render_to_response('admin/settings/main_page.html', args)