"""Root Site URL Processing
"""
from django.conf import settings
from pycon import core
from django.views.generic.simple import direct_to_template, redirect_to
from django.conf.urls.defaults import *
from pycon.usermgr.views import login, logout
from pycon.restructuredtext.views import rststatic, rstpage, rstrecent, rstindex
from pycon.cachemgr.views import cache_list

urlpatterns = patterns('',
    ## redirect the root to /root/about/ to make the menu behave like we want.
    ('^%s$'%settings.ROOT_URL[1:], redirect_to, {'url': settings.ROOT_URL + 'about/'}),

    #('^%s(?P<url>wiki/.*)$'%settings.ROOT_URL[1:], rstpage, {'login_type': 'anonymous'}),

# Account Management
    ('^%s?$'%settings.LOGIN_URL[1:],   login),
    ('^%s?$'%settings.LOGOUT_URL[1:],  logout,
        {'template_name':'registration/logged_out2.html'}),
    ('^%s'%settings.PROFILE_URL[1:],   include('pycon.usermgr.urls')),

## Site Applications
    ('^%sconference/proposals/'%settings.ROOT_URL[1:], include('pycon.propmgr.urls')),
    url('^%sconference/talks/'%settings.ROOT_URL[1:],     'pycon.propmgr.views.accepted_talks', name='accepted-talks'),
    ('^%ssurvey/'%settings.ROOT_URL[1:], include('pycon.survey.urls')),
    ('^%sconference/schedule/'%settings.ROOT_URL[1:],  include('pycon.schedule.urls')),
    #('^%sregistration/'%settings.ROOT_URL[1:],  include('pycon.registration.urls')),
    ('^%sregistration/'%settings.ROOT_URL[1:],  include('pycon.attendeereg.urls')),
    ('^%smailer/'%settings.ROOT_URL[1:],  include('pycon.mailer.urls')),
    ('^%sbadges/'%settings.ROOT_URL[1:],  include('pycon.badges.urls')),
    ('^%sjobboard/'%settings.ROOT_URL[1:],  include('jobboard.urls')),

# Django Admin:
    ('^%s' % settings.ADMIN_URL[1:],   include('django.contrib.admin.urls')),

# Cache Manager:
    ('^%ssite/cache/$'%settings.ROOT_URL[1:], cache_list),

# Catch all turning the rest of the site into a wiki (but requires staff access)
    ('^%sindex/$'%settings.ROOT_URL[1:], rstindex, {'login_type': 'staff',
                                                     'url': settings.ROOT_URL}),
    ('^%srecent/$'%settings.ROOT_URL[1:], rstrecent, {'login_type': 'staff',
                                                       'url': settings.ROOT_URL}),
    ('^%s.*$'%settings.ROOT_URL[1:], rstpage, {'login_type': 'staff',
                                               'help_url': settings.ROOT_URL + 'site/howto/'}),
)
