]> git.0d.be Git - panikdb.git/blobdiff - panikdb/urls.py
use native django reset email message
[panikdb.git] / panikdb / urls.py
index f4ce0105adc385a6c4cbc78db3419f5eeb38cacd..6457da84be1685184c7bfe652db292ba9e0a724c 100644 (file)
@@ -1,20 +1,91 @@
-from django.conf.urls import patterns, include, url
+from django.conf.urls import include, url
 from django.conf import settings
+from django.views.generic import RedirectView
+from django.core.urlresolvers import reverse_lazy
+from django.contrib.auth.decorators import login_required
+from django.contrib.auth import views as auth_views
 
 from django.contrib import admin
-admin.autodiscover()
 
-from haystack.views import SearchView, search_view_factory
-from haystack.forms import SearchForm
+from ckeditor.views import upload as ckeditor_upload
+from ckeditor.views import browse as ckeditor_browse
+from haystack.views import search_view_factory
+from haystack.forms import FacetedSearchForm
+from haystack.query import SearchQuerySet
 
-urlpatterns = patterns('',
-    # url(r'^$', 'panikdb.views.home', name='home'),
-    (r'^ckeditor/', include('ckeditor.urls')),
-    url(r'^search/', search_view_factory(view_class=SearchView, form_class=SearchForm), name='haystack_search'),
-    url(r'^panikdb/', include('panikdb.emissions.urls')),
+from emissions.views import FacetedSearchView
+from emissions.urls import urlpatterns as emissions_urlpatterns
+from emissions.models import Emission, Episode, NewsItem
+from newsletter.urls import management_patterns as newsletter_urlpatterns
+from matos.urls import urlpatterns as matos_urlpatterns
+from nonstop.urls import urlpatterns as nonstop_urlpatterns
+import panikombo.views
+
+from .poll import views as poll_views
+from . import views
+
+from combo.manager.urls import urlpatterns as combo_manager_urls
+
+from .urls_utils import decorated_includes, cms_permission_required
+
+
+sqs = SearchQuerySet().models(Emission, Episode, NewsItem).facet('categories').facet('tags')
+
+urlpatterns = [
+    url(r'^$', views.home, name='home'),
+    url(r'^ckeditor/upload/', login_required(ckeditor_upload)),
+    url(r'^ckeditor/browse/', login_required(ckeditor_browse)),
+    url(r'^search/', search_view_factory(view_class=FacetedSearchView,
+        form_class=FacetedSearchForm, searchqueryset=sqs), name='haystack_search'),
+
+    url(r'^emissions/$', views.emissions_list, name='emission-list'),
+
+    url(r'^emissions/',
+        decorated_includes(login_required, include(emissions_urlpatterns))),
+
+    url(r'^matos/',
+        decorated_includes(login_required, include(matos_urlpatterns))),
+
+    url(r'^nonstop/',
+        decorated_includes(login_required, include(nonstop_urlpatterns))),
+
+    url(r'^newsletters/add$', views.newsletter_create, name='newsletter-create'),
+    url(r'^newsletters/',
+        decorated_includes(login_required, include(newsletter_urlpatterns))),
+
+    url(r'^cms/',
+        decorated_includes(cms_permission_required, include(combo_manager_urls))),
+
+    url(r'^news/$', views.news, name='news-list'),
+
+    url(r'^focus/set/(?P<object_type>[\w,-]+)/(?P<object_id>\d+)$',
+        views.focus_set, name='focus-set'),
+    url(r'^focus/unset/(?P<object_type>[\w,-]+)/(?P<object_id>\d+)$',
+        views.focus_unset, name='focus-unset'),
+
+    url(r'^cms/pages/(?P<page_pk>\w+)/make-topik$', views.make_topik,
+        name='make-topik'),
+    url(r'^cms/pages/topik/(?P<pk>\w+)/edit-topik$', panikombo.views.topik_edit,
+        name='edit-topik'),
+
+    url(r'^accounts/logout/', auth_views.logout_then_login, name='logout'),
+    url(r'^accounts/password/reset/$',
+        auth_views.password_reset,
+        {'post_reset_redirect': 'auth_password_reset_done',
+         'email_template_name': 'registration/password_reset_email.html'}),
+    url(r'^accounts/', include('registration.backends.default.urls')),
+
+    url(r'^combok/soundfiles/', panikombo.views.soundfiles),
+    url(r'^combok/episodes/', panikombo.views.episodes),
+
+    url(r'^vote/$', poll_views.vote, name='vote'),
+    url(r'^vote/results/$', poll_views.vote_results, name='vote-results'),
 
     url(r'^admin/', include(admin.site.urls)),
-)
+]
+
+from combo import plugins
+urlpatterns = plugins.register_plugins_urls(urlpatterns)
 
 from django.contrib.staticfiles.urls import staticfiles_urlpatterns
 urlpatterns += staticfiles_urlpatterns()