from django.conf.urls.defaults import *
from django.conf import settings
from django.views.generic.simple import direct_to_template
from django.contrib.auth import views as auth_views
from django.contrib import admin
from django.contrib.syndication import views
from weblog import views as weblog_views
from weblog.feeds import feeds
from accounts.forms import DjangohqRegistrationForm
from registration.views import activate
#===============================================================================
# News
#===============================================================================
urlpatterns = patterns('',
url(r'^$', weblog_views.overview, name='homepage'),
(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
url(r'^archive/$', weblog_views.archive, name='weblog_archive'),
url(r'^archive/by-tags/(?P<tag>[-\w]+)/$$', weblog_views.archive_by_tag, name='weblog_tag_details'),
# Add or Edit
url(r'^add/$', weblog_views.add_entry, name='weblog_entry_add'),
# Details
url(r'^(?P<id>[\d]+)-(?P<slug>[-\w]+)/$', weblog_views.details, name='weblog_details'),
url(r'^(?P<id>[\d]+)-(?P<slug>[-\w]+)/set-(?P<status>draft|open)/$', weblog_views.set_status, name='weblog_set_status'),
url(r'^(?P<id>[\d]+)-(?P<slug>[-\w]+)/edit/$', weblog_views.edit_entry, name='weblog_edit'),
url(r'^(?P<id>[\d]+)-(?P<slug>[-\w]+)/print/$', weblog_views.details, {'template_name': 'weblog/details_print.html'}, name='weblog_details_print'),
)
#===============================================================================
# Resource Template
#===============================================================================
urlpatterns += patterns('',
url(r'^resources/', direct_to_template, {'template': 'resources.html'}, name='resources_overview'),
)
#===============================================================================
# Registration and Password Stuff
#===============================================================================
urlpatterns += patterns('',
url(r'^accounts/profile/$', direct_to_template, {'template': 'accounts/edit.html'}),
url(r'^accounts/register/$', 'registration.views.register', {'form_class': DjangohqRegistrationForm}, name='registration_register'),
url(r'^accounts/register/complete/$', 'accounts.views.complete', name='registration_complete'),
url(r'^activate/(?P<activation_key>\w+)/$', activate, name='registration_activate'),
url(r'^accounts/login/$', auth_views.login, name='auth_login'),
url(r'^accounts/logout/$', auth_views.logout, {'next_page': '/'}, name='auth_logout'),
url(r'^password/change/$', auth_views.password_change, name='auth_password_change'),
url(r'^password/change/done/$', auth_views.password_change_done, name='auth_password_change_done'),
url(r'^password/reset/$', auth_views.password_reset, name='auth_password_reset'),
url(r'^password/reset/done/$', auth_views.password_reset_done, name='auth_password_reset_done'),
)
#===============================================================================
# Django Admin
#===============================================================================
admin.autodiscover()
urlpatterns += patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/(.*)', admin.site.root, name='admin_index'),
)
#===============================================================================
# Debug Settings
#===============================================================================
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^rosetta-i18n/',include('rosetta.urls')),
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT,'show_indexes': True }),
)