
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import TemplateView

from vigour_app import views, HodViews, DoctorViews, PatientViews, HospitalViews
from vigour_system import settings

urlpatterns = [
    path('', views.showHome, name="show_home"),
    path('contact', views.contact, name="contact"),
    path('about', views.about, name="about"),
    path('signup_admin',views.signup_admin,name="signup_admin"),
    path('signup_patient',views.signup_patient,name="signup_patient"),
    path('signup_doctor',views.signup_doctor,name="signup_doctor"),
    path('signup_hospital',views.signup_hospital,name="signup_hospital"),
    path('do_admin_signup',views.do_admin_signup,name="do_admin_signup"),
    path('do_doctor_signup',views.do_doctor_signup,name="do_doctor_signup"),
    path('do_signup_patient',views.do_signup_patient,name="do_signup_patient"),
    path('do_hospital_signup',views.do_hospital_signup,name="do_hospital_signup"),
    path('admin/', admin.site.urls),
    path('accounts/',include('django.contrib.auth.urls')),
    path('login',views.ShowLoginPage,name="show_login"),
    path('get_user_details', views.GetUserDetails),
    path('logout_user', views.logout_user,name="logout"),
    path('doLogin',views.doLogin,name="do_login"),
    path('admin_home',HodViews.admin_home,name="admin_home"),
    path('add_doctor',HodViews.add_doctor,name="add_doctor"),
    path('add_doctor_save',HodViews.add_doctor_save,name="add_doctor_save"),
    path('add_patient', HodViews.add_patient,name="add_patient"),
    path('add_patient_save', HodViews.add_patient_save,name="add_patient_save"),
    path('manage_doctor', HodViews.manage_doctor,name="manage_doctor"),
    path('manage_patient', HodViews.manage_patient,name="manage_patient"),
    path('edit_doctor/<str:doctor_id>', HodViews.edit_doctor,name="edit_doctor"),
    path('edit_doctor_save', HodViews.edit_doctor_save,name="edit_doctor_save"),
    path('edit_patient/<str:patient_id>', HodViews.edit_patient,name="edit_patient"),
    path('edit_patient_save', HodViews.edit_patient_save,name="edit_patient_save"),
    path('check_email_exist', HodViews.check_email_exist,name="check_email_exist"),
    path('check_username_exist', HodViews.check_username_exist,name="check_username_exist"),
    path('patient_feedback_message', HodViews.patient_feedback_message,name="patient_feedback_message"),
    path('patient_feedback_message_replied', HodViews.patient_feedback_message_replied,name="patient_feedback_message_replied"),
    path('doctor_feedback_message', HodViews.doctor_feedback_message,name="doctor_feedback_message"),
    path('doctor_feedback_message_replied', HodViews.doctor_feedback_message_replied,name="doctor_feedback_message_replied"),
    path('patient_appointment_view', HodViews.patient_appointment_view,name="patient_appointment_view"),
    path('doctor_leave_view', HodViews.doctor_leave_view,name="doctor_leave_view"),
    path('patient_approve_appointment/<str:leave_id>', HodViews.patient_approve_appointment,name="patient_approve_appointment"),
    path('patient_disapprove_appointment/<str:leave_id>', HodViews.patient_disapprove_appointment,name="patient_disapprove_appointment"),
    path('doctor_disapprove_leave/<str:leave_id>', HodViews.doctor_disapprove_leave,name="doctor_disapprove_leave"),
    path('doctor_approve_leave/<str:leave_id>', HodViews.doctor_approve_leave,name="doctor_approve_leave"),
    path('admin_profile', HodViews.admin_profile,name="admin_profile"),
    path('admin_profile_save', HodViews.admin_profile_save,name="admin_profile_save"),
    path('admin_send_notification_doctor', HodViews.admin_send_notification_doctor,name="admin_send_notification_doctor"),
    path('admin_send_notification_patient', HodViews.admin_send_notification_patient,name="admin_send_notification_patient"),
    path('admin_send_notification_hospital', HodViews.admin_send_notification_hospital,name="admin_send_notification_hospital"),
    path('send_patient_notification', HodViews.send_patient_notification,name="send_patient_notification"),
    path('send_doctor_notification', HodViews.send_doctor_notification,name="send_doctor_notification"),
    path('send_hospital_notification', HodViews.send_hospital_notification,name="send_hospital_notification"),
    path('manage_all_feedback', HodViews.manage_all_feedback,name="manage_all_feedback"),
    path('manage_all_notifications', HodViews.manage_all_notifications,name="manage_all_notifications"),
    path('hospital_feedback_message', HodViews.hospital_feedback_message,name="hospital_feedback_message"),
    path('hospital_feedback_message_replied', HodViews.hospital_feedback_message_replied,name="hospital_feedback_message_replied"),

                  
    path('doctor_home', DoctorViews.doctor_home, name="doctor_home"),
    path('get_patients', DoctorViews.get_patients, name="get_patients"),
    path('doctor_apply_leave', DoctorViews.doctor_apply_leave, name="doctor_apply_leave"),
    path('doctor_apply_leave_save', DoctorViews.doctor_apply_leave_save, name="doctor_apply_leave_save"),
    path('doctor_feedback', DoctorViews.doctor_feedback, name="doctor_feedback"),
    path('doctor_feedback_save', DoctorViews.doctor_feedback_save, name="doctor_feedback_save"),
    path('doctor_profile', DoctorViews.doctor_profile, name="doctor_profile"),
    path('doctor_profile_save', DoctorViews.doctor_profile_save, name="doctor_profile_save"),
    path('doctor_fcmtoken_save', DoctorViews.doctor_fcmtoken_save, name="doctor_fcmtoken_save"),
    path('doctor_all_notification', DoctorViews.doctor_all_notification, name="doctor_all_notification"),
    path('doctor_appointment_view', DoctorViews.doctor_appointment_view,name="doctor_appointment_view"),
    path('doctor_appointment_approve/<str:leave_id>', DoctorViews.doctor_appointment_approve,name="doctor_appointment_approve"),
    path('doctor_appointment_disapprove/<str:leave_id>', DoctorViews.doctor_appointment_disapprove,name="doctor_appointment_disapprove"),
    path('doctor_send_notification', DoctorViews.doctor_send_notification,name="doctor_send_notification"),
    path('send_patient_notification', DoctorViews.send_patient_notification,name="send_patient_notification"),
    path('doctor_read_notification/<str:notification_id>', DoctorViews.doctor_read_notification,name="doctor_read_notification"),

    path('patient_home', PatientViews.patient_home, name="patient_home"),
    path('patient_appointment', PatientViews.patient_appointment, name="patient_appointment"),
    path('patient_appointment_history', PatientViews.patient_appointment_history, name="patient_appointment_history"),
    path('patient_appointment_save', PatientViews.patient_appointment_save, name="patient_appointment_save"),
    path('patient_feedback', PatientViews.patient_feedback, name="patient_feedback"),
    path('patient_feedback_save', PatientViews.patient_feedback_save, name="patient_feedback_save"),
    path('patient_profile', PatientViews.patient_profile, name="patient_profile"),
    path('patient_read_notification/<str:notification_id>', PatientViews.patient_read_notification,name="patient_read_notification"),
    path('patient_profile_save', PatientViews.patient_profile_save, name="patient_profile_save"),
    path('patient_all_notification',PatientViews.patient_all_notification,name="patient_all_notification"),
    path('patient_view_bed', PatientViews.patient_view_bed, name="patient_view_bed"),
    path('patient_view_bed_click', PatientViews.patient_view_bed_click, name="patient_view_bed_click"),

    path('hospital_home', HospitalViews.hospital_home, name="hospital_home"),
    path('hospital_feedback', HospitalViews.hospital_feedback, name="hospital_feedback"),
    path('hospital_feedback_save', HospitalViews.hospital_feedback_save, name="hospital_feedback_save"),
    path('hospital_profile', HospitalViews.hospital_profile, name="hospital_profile"),
    path('hospital_read_notification/<str:notification_id>', HospitalViews.hospital_read_notification,name="hospital_read_notification"),
    path('hospital_profile_save', HospitalViews.hospital_profile_save, name="hospital_profile_save"),
    path('hospital_all_notification',HospitalViews.hospital_all_notification,name="hospital_all_notification"),
    path('hospital_bed', HospitalViews.hospital_bed, name="hospital_bed"),
    path('hospital_bed_save', HospitalViews.hospital_bed_save, name="hospital_bed_save"),
]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)+static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
