from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin
from django.views import defaults as default_views

urlpatterns = [
    url(r'', include('drdown.core.urls', namespace='core')),

    # Django Admin, use {% url 'admin:index' %}
    url(settings.ADMIN_URL, admin.site.urls),

    # User management
    url(r'^users/', include('drdown.users.urls', namespace='users')),
    url(r'^accounts/', include('allauth.urls')),

    # Your stuff: custom urls includes go here
    url(r'^forum/', include('drdown.forum.urls', namespace='forum')),
    url(r'^careline/', include('drdown.careline.urls', namespace='careline')),
    url(r'^medicalrecords/', include('drdown.medicalrecords.urls', namespace='medicalrecords')),
    url(r'^appointments/', include('drdown.appointments.urls', namespace='appointments')),
    url(r'^events/', include('drdown.events.urls', namespace='events')),
    url(r'^notifications/', include('drdown.notifications.urls', namespace='notifications')),
    url(r'^i18n/', include('django.conf.urls.i18n')),


] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

if settings.DEBUG:
    # This allows the error pages to be debugged during development, just visit
    # these url in browser to see how these error pages look like.
    urlpatterns += [
        url(r'^400/$', default_views.bad_request,
            kwargs={'exception': Exception('Bad Request!')}),
        url(r'^403/$', default_views.permission_denied,
            kwargs={'exception': Exception('Permission Denied')}),
        url(r'^404/$', default_views.page_not_found,
            kwargs={'exception': Exception('Page not Found')}),
        url(r'^500/$', default_views.server_error),
    ]
    if 'debug_toolbar' in settings.INSTALLED_APPS:
        import debug_toolbar
        urlpatterns = [
            url(r'^__debug__/', include(debug_toolbar.urls)),
        ] + urlpatterns
