"""File containing Member application URLs.""" from django.conf.urls import url from django.contrib.auth.decorators import login_required, permission_required from django.views.generic.base import RedirectView # members from members.views import member_list, payment_add, payment_submit from members.views import application_delete_confirm, application_delete from members.views import application_accept, import_csv, export_csv from members.views import settings_page, payment_edit from members.views import payment_delete_confirm from members.views import payment_delete, payment_update from members.views import member_add from members.views import member_add_many from members.views import member_edit from members.views import member_submit from members.views import member_update from members.views import member_delete_confirm from members.views import member_delete from members.views import payment_list from members.views import add_many_confirm # autocomplete view from members.views import MemberAutoComplete # rest api from members.views import MemberDetail, CheckByEmail from rest_framework.authtoken import views # application from members.views import application_form from members.views import application_list from members.views import application_edit from members.views import application_submit # email validation # from members.views import validateEmail, validate_success, validate_fail favicon_view = RedirectView.as_view( url='static/img/favicon.ico', permanent=True) member_autocomplete_view = login_required( permission_required('members.change_member', login_url='/login')(MemberAutoComplete.as_view()) ) urlpatterns = [ # landing page url(r'^$', member_list), url(r'^list$', member_list), # add member form view url(r'^add$', member_add), # add many members view url(r'^add_many$', member_add_many), # edit member information view url(r'^edit/(?P\d+)$', member_edit), # delete confirmation view url(r'^delete_member_confirm/(?P\d+)$', member_delete_confirm), # list all member applications url(r'^applications$', application_list), # edit member application url(r'^edit_application/(?P\d+)$', application_edit), # post request targets url(r'^submit_member$', member_submit), url(r'^update_member$', member_update), url(r'^delete_member$', member_delete), url(r'^submit_payment$', payment_submit), url(r'^update_payment$', payment_update), url(r'^delete_payment$', payment_delete), url(r'^submit_application$', application_submit), url(r'^accept_application$', application_accept), url(r'^delete_application$', application_delete), # the actual member application form url(r'^application/$', application_form), # delete confirmation view for applications url(r'^delete_application_confirm/(?P\d+)$', application_delete_confirm), # list all payment events url(r'^payments$', payment_list), # add payment event url(r'^add_payment$', payment_add), # edit payment event url(r'^edit_payment/(?P\d+)$', payment_edit), # delete confirmation view url(r'^delete_payment_confirm/(?P\d+)$', payment_delete_confirm), # post endpoint for confirming multiple entries url(r'^add_many_confirm$', add_many_confirm), # settings page url(r'^settings$', settings_page), # send CSV member data by POST url(r'^import_csv', import_csv), # download CSV member data url(r'^export_csv', export_csv), # favourite icon url(r'^favicon\.ico$', favicon_view), # rest api url url(r'^api/members/(?P\d+)$', MemberDetail.as_view()), # member select autocomplete view url( r'^member-autocomplete/$', member_autocomplete_view, name='member-autocomplete', ), url(r'^check', CheckByEmail.as_view()) ]