from django.conf import settings
from django.conf.urls.defaults import *
from ghestalt.i18n.utils import *

urlpatterns = patterns('',
    (r'^intl/\w\w(?P<url>/intl/.*)$', 'django.views.generic.simple.direct_to_template',
     {'template':'site_404.html','message':'Page seems unavailable. Please check URL browser is pointing at.'}),
    (r'^intl/\w\w/', include('ghestalt.urls')),
    (r'^i18ninfo/', 'ghestalt.i18n.views.i18ninfo'),
    (r'^intl', 'ghestalt.i18n.views.i18n_chooselang'),
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^(?P<page>user/[\w\-_][\w\-_]*)$', 'ghestalt.app.views.wiki_showpage'),
    (r'^$','ghestalt.i18n.views.redirectroot'),
)

urlpatterns += patterns('ghestalt.app.views',
    (r'^wiki/$',                            'wiki_homepage'),
    (r'^wiki/RecentChanges$',               'wiki_recent'),
    (r'^wiki/NewPage$',                     'wiki_new'),
    (r'^wiki/UserList$',                      'wiki_roster'),
    (r'^wiki/Index/$',                      'wiki_index'),
    (r'^wiki/(?P<idnum>[\d]+)/$',           'wiki_showid'),
    (r'^history/(?P<page>.+)$',             'wiki_showhistory'),
    (r'^edit/(?P<page>.+)$',                'wiki_editpage'),
    (r'^(?P<page>(wiki|bib)/.+)$',          'wiki_showpage'),
    (r'^(?P<page>.+/talk)$',                'wiki_showpage'),
    (r'^(?P<theorem>(mm|pax)/.+)$',         'show_theorem'),
)

urlpatterns += patterns('ghestalt.app',
    (r'^contact/$',                        'contact.form'),
    (r'^accounts/logout/$',                'accounts.site_logout'),
    (r'^accounts/info/$',                  'accounts.info'),
    (r'^accounts/profile/$',                  'accounts.info'),
    (r'^accounts/edit/$',                  'accounts.edit'),
    (r'^accounts/create/$',                'accounts.create'),
    (r'^accounts/RecentActions$',                'views.recent_actions'),
)

urlpatterns += patterns('django.views.generic',
    (r'^contact/thankyou$','simple.direct_to_template',{'template':'thanks.html'}),
    (r'^accounts/thankyou$','simple.direct_to_template',{'template':'account_thanks.html'}),
)

#Dictionary for authentication views
password_reset_dict = {
    'template_name': 'password_reset_form.html',
    'email_template_name': 'email/password_reset.txt',
}

urlpatterns += patterns('django.contrib.auth.views',
    (r'^accounts/login/$', 'login', {'template_name': 'login.html'}),
    (r'^accounts/password_reset/$','password_reset', password_reset_dict),
    (r'^accounts/password_reset/done/$', 'password_reset_done', {'template_name':'password_reset_done.html'}),
    (r'^accounts/password_change/$', 'password_change', {'template_name':'password_change_form.html'}),
    (r'^accounts/password_change/done/$', 'password_change_done', {'template_name':'password_change_done.html'}),
)

# serve static files when using internal development server
if settings.LOCAL_DEV:
    urlpatterns += patterns('',
        (r'^site_media/(.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)
