You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
from aldryn_search.views import AldrynSearchView
from cms.models import Page
from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView
from django.views.generic.edit import FormView
from project.forms import NewsletterSubscriptionForm
class SearchView(AldrynSearchView):
template_name = 'project/search.html'
context_object_name = 'search_results'
def get_context_data(self, **kwargs):
context = super(SearchView, self).get_context_data(**kwargs)
search_form = context['form']
context['search_form'] = search_form
del context['form']
return context
class NewsletterSubscriptionView(FormView):
template_name = 'project/newsletter/subscription.html'
form_class = NewsletterSubscriptionForm
success_url = reverse_lazy('newsletter_subscription_success')
class LoginRedirectView(RedirectView):
def get_redirect_url(self, *args, **kwargs):
fallback_url = '/'
try:
portal_page = Page.objects.public().get(reverse_id='portal')
portal_url = portal_page.get_public_url()
if portal_url:
return portal_url
else:
return fallback_url
except Page.DoesNotExist:
return fallback_url