X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/bc0197a17cdecdb9e320c2be84d6e1c5b9b71f4d..3f560301f4b16f82439bed8cc30588dbc150eb50:/edumed/views.py?ds=sidebyside diff --git a/edumed/views.py b/edumed/views.py old mode 100755 new mode 100644 index f2fa91f..866bce1 --- a/edumed/views.py +++ b/edumed/views.py @@ -1,26 +1,35 @@ -import os.path +# -*- coding: utf-8 -*- from django.conf import settings +from django.contrib.flatpages.models import FlatPage +from django.contrib.flatpages.views import render_flatpage +from django.contrib.sites.models import get_current_site +from django.http.response import Http404, HttpResponsePermanentRedirect +from django.shortcuts import get_object_or_404 from django.views.generic import TemplateView -from django.views.defaults import page_not_found -from pybb.views import ProfileEditView -from .forms import AvatarlessEditProfileForm -class HomeView(TemplateView): - template_name="home.html" +def flatpage_with_template(request, url, template_name): + """ + Public interface to the flat page view. - def get_context_data(self, **kwargs): - context = super(HomeView, self).get_context_data(**kwargs) - context['package_url'] = os.path.join(settings.MEDIA_URL, settings.CATALOGUE_PACKAGE) - context['package_student_url'] = os.path.join(settings.MEDIA_URL, settings.CATALOGUE_PACKAGE_STUDENT) - return context - - -class MILHomeView(TemplateView): - template_name = 'home_mil.html' - -def mil_404_view(request): - return page_not_found(request, '404_mil.html') - -class AvatarlessProfileEditView(ProfileEditView): - form_class = AvatarlessEditProfileForm + Models: `flatpages.flatpages` + Templates: Uses the template defined by the ``template_name`` field, + or :template:`flatpages/default.html` if template_name is not defined. + Context: + flatpage + `flatpages.flatpages` object + """ + if not url.startswith('/'): + url = '/' + url + site_id = get_current_site(request).id + try: + f = get_object_or_404(FlatPage, url__exact=url, sites__id__exact=site_id) + except Http404: + if not url.endswith('/') and settings.APPEND_SLASH: + url += '/' + get_object_or_404(FlatPage, url__exact=url, sites__id__exact=site_id) + return HttpResponsePermanentRedirect('%s/' % request.path) + else: + raise + f.template_name = template_name + return render_flatpage(request, f)