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.
79 lines
2.7 KiB
79 lines
2.7 KiB
# -*- coding: utf-8 -*-
|
|
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
|
|
import datetime
|
|
|
|
def main_page(request):
|
|
now = datetime.datetime.now()
|
|
expositions = Exposition.objects.filter(main_page__gt=0)
|
|
conferences = Conference.objects.filter(main_page__gt=0)
|
|
seminars = Seminar.objects.filter(main_page__gt=0)
|
|
webinars = Webinar.objects.filter(main_page__gt=0)
|
|
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)
|
|
|
|
themes = {'exposition_themes': exposition_themes, 'conference_themes': confrence_themes,
|
|
'seminar_themes':seminar_themes}
|
|
args = {'event_form':MainPageEvent(initial=events), 'theme_form':MainPageThemes(initial=themes), 'article_form':MainPageArticle(),
|
|
'news_form':MainPageNews(), 'photoreport_form':MainPagePhotoreport(),}
|
|
args.update(csrf(request))
|
|
return render_to_response('admin/settings/main_page.html', args) |