from django.conf.urls import include, patterns, url from django.contrib.auth.decorators import login_required from ava.core_auth.decorators import system_admin_required from ava.core_identity import views urlpatterns = patterns( '', url(r'^$', login_required(views.IdentityIndex.as_view()), name='identity-dashboard'), url(r'^search/', login_required(include('haystack.urls'))), url(r'^identity/$', login_required(views.IdentityIndex.as_view()), name='identity-index'), url(r'^identity/new/$', system_admin_required(views.IdentityCreate.as_view()), name='identity-create'), url(r'^identity/(?P<pk>\d+)/$', login_required(views.IdentityDetail.as_view()), name='identity-detail'), url(r'^identity/(?P<pk>\d+)/update/$', system_admin_required(views.IdentityUpdate.as_view()), name='identity-update'), url(r'^identity/(?P<pk>\d+)/delete/$', system_admin_required(views.IdentityDelete.as_view()), name='identity-delete'), url(r'^person/$', login_required(views.PersonIndex.as_view()), name='person-index'), url(r'^person/new/$', login_required(views.PersonCreate.as_view()), name='person-create'), url(r'^person/(?P<pk>\d+)/$', login_required(views.PersonDetail.as_view()), name='person-detail'), url(r'^person/(?P<pk>\d+)/update/$', login_required(views.PersonUpdate.as_view()), name='person-update'), url(r'^person/(?P<pk>\d+)/delete/$', login_required(views.PersonDelete.as_view()), name='person-delete'), # Note: The value below is <identity> not <pk> because it refers to the parent identity, not an identifier. url(r'^identity/(?P<identity>\d+)/new-identifier/$', login_required(views.IdentifierCreate.as_view()), name='identifier-create'), url(r'^identifier/(?P<pk>\d+)/update/$', login_required(views.IdentifierUpdate.as_view()), name='identifier-update'), url(r'^identifier/(?P<pk>\d+)/delete/$', login_required(views.IdentifierDelete.as_view()),
), url( '^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'auth/password-reset-confirm.html'}, name='password_reset_confirm' ), url( '^reset/done/', 'django.contrib.auth.views.password_reset_complete', {'template_name': 'auth/password-reset-complete.html'}, name='password_reset_complete' ), # AVA user management url('^user/$', system_admin_required(views.UserIndex.as_view()), name='user-index'), url('^user/new/$', system_admin_required(views.UserCreate.as_view()), name='user-create'), url('^user/(?P<pk>\d+)/$', system_admin_required(views.UserDetail.as_view()), name='user-detail'), url('^user/(?P<pk>\d+)/update/$', system_admin_required(views.UserUpdate.as_view()), name='user-update'), url('^user/(?P<pk>\d+)/delete/$', system_admin_required(views.UserDelete.as_view()), name='user-delete'), # AVA team management url('^team/$', system_admin_required(views.TeamIndex.as_view()), name='team-index'), url('^team/new/$', system_admin_required(views.TeamCreate.as_view()), name='team-create'), url('^team/(?P<pk>\d+)/$', system_admin_required(views.TeamDetail.as_view()), name='team-detail'), url('^team/(?P<pk>\d+)/update/$', system_admin_required(views.TeamUpdate.as_view()), name='team-update'), url('^team/(?P<pk>\d+)/delete/$', system_admin_required(views.TeamDelete.as_view()), name='team-delete'), url('^team/(?P<pk>\d+)/add/$', system_admin_required(views.TeamAddMembers.as_view()), name='team-add-members'), url('^team/(?P<pk>\d+)/remove/(?:(?P<user>\d+)/)?$', system_admin_required(views.TeamRemoveMembers.as_view()), name='team-remove-members'), )