From ddce8c494eec651f0aedc7a70801231b8a7ad932 Mon Sep 17 00:00:00 2001 From: sumit Date: Sat, 13 Feb 2021 20:42:31 +0530 Subject: [PATCH] m --- .gitignore | 6 + LICENSE | 21 + README.md | 79 ++ blood/__init__.py | 0 blood/admin.py | 3 + blood/apps.py | 5 + blood/forms.py | 14 + blood/migrations/0001_initial.py | 22 + blood/migrations/0002_bloodrequest.py | 27 + blood/migrations/0003_auto_20210213_1053.py | 44 ++ blood/migrations/0004_bloodrequest_date.py | 18 + blood/migrations/__init__.py | 0 blood/models.py | 23 + blood/tests.py | 3 + blood/views.py | 236 ++++++ bloodbankmanagement/__init__.py | 0 bloodbankmanagement/asgi.py | 16 + bloodbankmanagement/settings.py | 149 ++++ bloodbankmanagement/urls.py | 49 ++ bloodbankmanagement/wsgi.py | 16 + donor/__init__.py | 0 donor/admin.py | 3 + donor/apps.py | 5 + donor/forms.py | 22 + donor/migrations/0001_initial.py | 30 + donor/migrations/0002_auto_20210213_1602.py | 35 + donor/migrations/__init__.py | 0 donor/models.py | 33 + donor/tests.py | 3 + donor/urls.py | 13 + donor/views.py | 80 ++ manage.py | 21 + patient/__init__.py | 0 patient/admin.py | 3 + patient/apps.py | 5 + patient/forms.py | 18 + patient/migrations/0001_initial.py | 31 + patient/migrations/__init__.py | 0 patient/models.py | 23 + patient/tests.py | 3 + patient/urls.py | 11 + patient/views.py | 63 ++ requirements.txt | 6 + static/css/main.css | 770 ++++++++++++++++++++ static/css/main.min.css | 1 + static/image/homepage.jpg | Bin 0 -> 126395 bytes static/image/homepage.png | Bin 0 -> 71828 bytes static/image/logout.png | Bin 0 -> 4117 bytes static/vendor/select2/select2.min.css | 1 + static/vendor/select2/select2.min.js | 1 + templates/blood/admin_blood.html | 149 ++++ templates/blood/admin_dashboard.html | 165 +++++ templates/blood/admin_donation.html | 65 ++ templates/blood/admin_donor.html | 41 ++ templates/blood/admin_patient.html | 43 ++ templates/blood/admin_request.html | 61 ++ templates/blood/admin_request_history.html | 72 ++ templates/blood/adminbase.html | 210 ++++++ templates/blood/adminlogin.html | 76 ++ templates/blood/footer.html | 29 + templates/blood/index.html | 44 ++ templates/blood/logout.html | 72 ++ templates/blood/navbar.html | 70 ++ templates/blood/update_donor.html | 127 ++++ templates/blood/update_patient.html | 152 ++++ templates/donor/donate_blood.html | 89 +++ templates/donor/donation_history.html | 64 ++ templates/donor/donor_dashboard.html | 70 ++ templates/donor/donorbase.html | 209 ++++++ templates/donor/donorlogin.html | 76 ++ templates/donor/donorsignup.html | 151 ++++ templates/donor/makerequest.html | 99 +++ templates/donor/request_history.html | 64 ++ templates/patient/makerequest.html | 99 +++ templates/patient/my_request.html | 64 ++ templates/patient/patient_dashboard.html | 75 ++ templates/patient/patientbase.html | 206 ++++++ templates/patient/patientlogin.html | 77 ++ templates/patient/patientsignup.html | 176 +++++ 79 files changed, 4807 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 blood/__init__.py create mode 100644 blood/admin.py create mode 100644 blood/apps.py create mode 100644 blood/forms.py create mode 100644 blood/migrations/0001_initial.py create mode 100644 blood/migrations/0002_bloodrequest.py create mode 100644 blood/migrations/0003_auto_20210213_1053.py create mode 100644 blood/migrations/0004_bloodrequest_date.py create mode 100644 blood/migrations/__init__.py create mode 100644 blood/models.py create mode 100644 blood/tests.py create mode 100644 blood/views.py create mode 100644 bloodbankmanagement/__init__.py create mode 100644 bloodbankmanagement/asgi.py create mode 100644 bloodbankmanagement/settings.py create mode 100644 bloodbankmanagement/urls.py create mode 100644 bloodbankmanagement/wsgi.py create mode 100644 donor/__init__.py create mode 100644 donor/admin.py create mode 100644 donor/apps.py create mode 100644 donor/forms.py create mode 100644 donor/migrations/0001_initial.py create mode 100644 donor/migrations/0002_auto_20210213_1602.py create mode 100644 donor/migrations/__init__.py create mode 100644 donor/models.py create mode 100644 donor/tests.py create mode 100644 donor/urls.py create mode 100644 donor/views.py create mode 100644 manage.py create mode 100644 patient/__init__.py create mode 100644 patient/admin.py create mode 100644 patient/apps.py create mode 100644 patient/forms.py create mode 100644 patient/migrations/0001_initial.py create mode 100644 patient/migrations/__init__.py create mode 100644 patient/models.py create mode 100644 patient/tests.py create mode 100644 patient/urls.py create mode 100644 patient/views.py create mode 100644 requirements.txt create mode 100644 static/css/main.css create mode 100644 static/css/main.min.css create mode 100644 static/image/homepage.jpg create mode 100644 static/image/homepage.png create mode 100644 static/image/logout.png create mode 100644 static/vendor/select2/select2.min.css create mode 100644 static/vendor/select2/select2.min.js create mode 100644 templates/blood/admin_blood.html create mode 100644 templates/blood/admin_dashboard.html create mode 100644 templates/blood/admin_donation.html create mode 100644 templates/blood/admin_donor.html create mode 100644 templates/blood/admin_patient.html create mode 100644 templates/blood/admin_request.html create mode 100644 templates/blood/admin_request_history.html create mode 100644 templates/blood/adminbase.html create mode 100644 templates/blood/adminlogin.html create mode 100644 templates/blood/footer.html create mode 100644 templates/blood/index.html create mode 100644 templates/blood/logout.html create mode 100644 templates/blood/navbar.html create mode 100644 templates/blood/update_donor.html create mode 100644 templates/blood/update_patient.html create mode 100644 templates/donor/donate_blood.html create mode 100644 templates/donor/donation_history.html create mode 100644 templates/donor/donor_dashboard.html create mode 100644 templates/donor/donorbase.html create mode 100644 templates/donor/donorlogin.html create mode 100644 templates/donor/donorsignup.html create mode 100644 templates/donor/makerequest.html create mode 100644 templates/donor/request_history.html create mode 100644 templates/patient/makerequest.html create mode 100644 templates/patient/my_request.html create mode 100644 templates/patient/patient_dashboard.html create mode 100644 templates/patient/patientbase.html create mode 100644 templates/patient/patientlogin.html create mode 100644 templates/patient/patientsignup.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..724dc46a --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# Django # +*.log +*.pot +*.pyc +__pycache__ +db.sqlite3 diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3f6be7b4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 sumit kumar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..c54c7ab5 --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# Online Quiz +![developer](https://img.shields.io/badge/Developed%20By%20%3A-Sumit%20Kumar-red) +--- +## screenshots +### Homepage +![homepage snap](https://github.com/sumitkumar1503/onlinequiz/blob/master/static/screenshots/homepage.png?raw=true) +### Admin Dashboard +![dashboard snap](https://github.com/sumitkumar1503/onlinequiz/blob/master/static/screenshots/adminhomepage.png?raw=true) +### Exam Rules +![invoice snap](https://github.com/sumitkumar1503/onlinequiz/blob/master/static/screenshots/rules.png?raw=true) +### Exam +![doctor snap](https://github.com/sumitkumar1503/onlinequiz/blob/master/static/screenshots/exam.png?raw=true) +### Teacher +![doctor snap](https://github.com/sumitkumar1503/onlinequiz/blob/master/static/screenshots/teacher.png?raw=true) +--- +## Functions +### Admin +- Create Admin account using command +``` +py manage.py createsuperuser +``` +- After Login, can see Total Number Of Student, Teacher, Course, Questions are there in system on Dashboard. +- Can View, Update, Delete, Approve Teacher. +- Can View, Update, Delete Student. +- Can Also See Student Marks. +- Can Add, View, Delete Course/Exams. +- Can Add Questions To Respective Courses With Options, Correct Answer, And Marks. +- Can View And Delete Questions Too. + +### Teacher +- Apply for job in System. Then Login (Approval required by system admin, Then only teacher can login). +- After Login, can see Total Number Of Student, Course, Questions are there in system on Dashboard. +- Can Add, View, Delete Course/Exams. +- Can Add Questions To Respective Courses With Options, Correct Answer, And Marks. +- Can View And Delete Questions Too. +> **_NOTE:_** Basically Admin Will Hire Teachers To Manage Courses and Questions. + +### Student +- Create account (No Approval Required By Admin, Can Login After Signup) +- After Login, Can See How Many Courses/Exam And Questions Are There In System On Dashboard. +- Can Give Exam Any Time, There Is No Limit On Number Of Attempt. +- Can View Marks Of Each Attempt Of Each Exam. +- Question Pattern Is MCQ With 4 Options And 1 Correct Answer. +--- + +## HOW TO RUN THIS PROJECT +- Install Python(3.7.6) (Dont Forget to Tick Add to Path while installing Python) +- Open Terminal and Execute Following Commands : +``` +python -m pip install -r requirements. txt +``` +- Download This Project Zip Folder and Extract it +- Move to project folder in Terminal. Then run following Commands : +``` +py manage.py makemigrations +py manage.py migrate +py manage.py runserver +``` +- Now enter following URL in Your Browser Installed On Your Pc +``` +http://127.0.0.1:8000/ +``` + +## CHANGES REQUIRED FOR CONTACT US PAGE +- In settins.py file, You have to give your email and password +``` +EMAIL_HOST_USER = 'youremail@gmail.com' +EMAIL_HOST_PASSWORD = 'your email password' +EMAIL_RECEIVING_USER = 'youremail@gmail.com' +``` + +## Drawbacks/LoopHoles +- Admin/Teacher can add any number of questions to any course, But while adding course, admin provide question number. + + +## Feedback +Any suggestion and feedback is welcome. You can message me on facebook +- [Contact on Facebook](https://fb.com/sumit.luv) +- [Subscribe my Channel LazyCoder On Youtube](https://youtube.com/lazycoders) diff --git a/blood/__init__.py b/blood/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/blood/admin.py b/blood/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/blood/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/blood/apps.py b/blood/apps.py new file mode 100644 index 00000000..013e59cd --- /dev/null +++ b/blood/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class BloodConfig(AppConfig): + name = 'blood' diff --git a/blood/forms.py b/blood/forms.py new file mode 100644 index 00000000..603b25ac --- /dev/null +++ b/blood/forms.py @@ -0,0 +1,14 @@ +from django import forms + +from . import models + + +class BloodForm(forms.ModelForm): + class Meta: + model=models.Stock + fields=['bloodgroup','unit'] + +class RequestForm(forms.ModelForm): + class Meta: + model=models.BloodRequest + fields=['patient_name','patient_age','reason','bloodgroup','unit'] diff --git a/blood/migrations/0001_initial.py b/blood/migrations/0001_initial.py new file mode 100644 index 00000000..e9bb3874 --- /dev/null +++ b/blood/migrations/0001_initial.py @@ -0,0 +1,22 @@ +# Generated by Django 3.0.5 on 2021-01-17 13:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Stock', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('bloodgroup', models.CharField(max_length=10)), + ('unit', models.PositiveIntegerField(default=0)), + ], + ), + ] diff --git a/blood/migrations/0002_bloodrequest.py b/blood/migrations/0002_bloodrequest.py new file mode 100644 index 00000000..dcb23c27 --- /dev/null +++ b/blood/migrations/0002_bloodrequest.py @@ -0,0 +1,27 @@ +# Generated by Django 3.0.5 on 2021-01-18 16:17 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('blood', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='BloodRequest', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=30)), + ('age', models.PositiveIntegerField()), + ('mobile', models.CharField(max_length=20)), + ('disease', models.CharField(max_length=100)), + ('reason', models.CharField(max_length=500)), + ('bloodgroup', models.CharField(max_length=10)), + ('unit', models.PositiveIntegerField(default=0)), + ('status', models.CharField(default='Pending', max_length=20)), + ], + ), + ] diff --git a/blood/migrations/0003_auto_20210213_1053.py b/blood/migrations/0003_auto_20210213_1053.py new file mode 100644 index 00000000..ab369fa0 --- /dev/null +++ b/blood/migrations/0003_auto_20210213_1053.py @@ -0,0 +1,44 @@ +# Generated by Django 3.0.5 on 2021-02-13 05:23 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('patient', '0001_initial'), + ('donor', '0001_initial'), + ('blood', '0002_bloodrequest'), + ] + + operations = [ + migrations.RenameField( + model_name='bloodrequest', + old_name='age', + new_name='patient_age', + ), + migrations.RenameField( + model_name='bloodrequest', + old_name='name', + new_name='patient_name', + ), + migrations.RemoveField( + model_name='bloodrequest', + name='disease', + ), + migrations.RemoveField( + model_name='bloodrequest', + name='mobile', + ), + migrations.AddField( + model_name='bloodrequest', + name='request_by_donor', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='donor.Donor'), + ), + migrations.AddField( + model_name='bloodrequest', + name='request_by_patient', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='patient.Patient'), + ), + ] diff --git a/blood/migrations/0004_bloodrequest_date.py b/blood/migrations/0004_bloodrequest_date.py new file mode 100644 index 00000000..b2269912 --- /dev/null +++ b/blood/migrations/0004_bloodrequest_date.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2021-02-13 06:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('blood', '0003_auto_20210213_1053'), + ] + + operations = [ + migrations.AddField( + model_name='bloodrequest', + name='date', + field=models.DateField(auto_now=True), + ), + ] diff --git a/blood/migrations/__init__.py b/blood/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/blood/models.py b/blood/models.py new file mode 100644 index 00000000..703c6108 --- /dev/null +++ b/blood/models.py @@ -0,0 +1,23 @@ +from django.db import models +from patient import models as pmodels +from donor import models as dmodels +class Stock(models.Model): + bloodgroup=models.CharField(max_length=10) + unit=models.PositiveIntegerField(default=0) + def __str__(self): + return self.bloodgroup + +class BloodRequest(models.Model): + request_by_patient=models.ForeignKey(pmodels.Patient,null=True,on_delete=models.CASCADE) + request_by_donor=models.ForeignKey(dmodels.Donor,null=True,on_delete=models.CASCADE) + patient_name=models.CharField(max_length=30) + patient_age=models.PositiveIntegerField() + reason=models.CharField(max_length=500) + bloodgroup=models.CharField(max_length=10) + unit=models.PositiveIntegerField(default=0) + status=models.CharField(max_length=20,default="Pending") + date=models.DateField(auto_now=True) + def __str__(self): + return self.bloodgroup + + \ No newline at end of file diff --git a/blood/tests.py b/blood/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/blood/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/blood/views.py b/blood/views.py new file mode 100644 index 00000000..8c4193dd --- /dev/null +++ b/blood/views.py @@ -0,0 +1,236 @@ +from django.shortcuts import render,redirect,reverse +from . import forms,models +from django.db.models import Sum,Q +from django.contrib.auth.models import Group +from django.http import HttpResponseRedirect +from django.contrib.auth.decorators import login_required,user_passes_test +from django.conf import settings +from datetime import date, timedelta +from django.core.mail import send_mail +from django.contrib.auth.models import User +from donor import models as dmodels +from patient import models as pmodels +from donor import forms as dforms +from patient import forms as pforms + +def home_view(request): + x=models.Stock.objects.all() + print(x) + if len(x)==0: + blood1=models.Stock() + blood1.bloodgroup="A+" + blood1.save() + + blood2=models.Stock() + blood2.bloodgroup="A-" + blood2.save() + + blood3=models.Stock() + blood3.bloodgroup="B+" + blood3.save() + + blood4=models.Stock() + blood4.bloodgroup="B-" + blood4.save() + + blood5=models.Stock() + blood5.bloodgroup="AB+" + blood5.save() + + blood6=models.Stock() + blood6.bloodgroup="AB-" + blood6.save() + + blood7=models.Stock() + blood7.bloodgroup="O+" + blood7.save() + + blood8=models.Stock() + blood8.bloodgroup="O-" + blood8.save() + + if request.user.is_authenticated: + return HttpResponseRedirect('afterlogin') + return render(request,'blood/index.html') + +def is_donor(user): + return user.groups.filter(name='DONOR').exists() + +def is_patient(user): + return user.groups.filter(name='PATIENT').exists() + + +def afterlogin_view(request): + if is_donor(request.user): + return redirect('donor/donor-dashboard') + + elif is_patient(request.user): + return redirect('patient/patient-dashboard') + else: + return redirect('admin-dashboard') + + +def admin_dashboard_view(request): + totalunit=models.Stock.objects.aggregate(Sum('unit')) + dict={ + + 'A1':models.Stock.objects.get(bloodgroup="A+"), + 'A2':models.Stock.objects.get(bloodgroup="A-"), + 'B1':models.Stock.objects.get(bloodgroup="B+"), + 'B2':models.Stock.objects.get(bloodgroup="B-"), + 'AB1':models.Stock.objects.get(bloodgroup="AB+"), + 'AB2':models.Stock.objects.get(bloodgroup="AB-"), + 'O1':models.Stock.objects.get(bloodgroup="O+"), + 'O2':models.Stock.objects.get(bloodgroup="O-"), + 'totaldonors':dmodels.Donor.objects.all().count(), + 'totalbloodunit':totalunit['unit__sum'], + 'totalrequest':models.BloodRequest.objects.all().count(), + 'totalapprovedrequest':models.BloodRequest.objects.all().filter(status='Approved').count() + } + return render(request,'blood/admin_dashboard.html',context=dict) + +def admin_blood_view(request): + dict={ + 'bloodForm':forms.BloodForm(), + 'A1':models.Stock.objects.get(bloodgroup="A+"), + 'A2':models.Stock.objects.get(bloodgroup="A-"), + 'B1':models.Stock.objects.get(bloodgroup="B+"), + 'B2':models.Stock.objects.get(bloodgroup="B-"), + 'AB1':models.Stock.objects.get(bloodgroup="AB+"), + 'AB2':models.Stock.objects.get(bloodgroup="AB-"), + 'O1':models.Stock.objects.get(bloodgroup="O+"), + 'O2':models.Stock.objects.get(bloodgroup="O-"), + } + if request.method=='POST': + bloodForm=forms.BloodForm(request.POST) + if bloodForm.is_valid() : + bloodgroup=bloodForm.cleaned_data['bloodgroup'] + stock=models.Stock.objects.get(bloodgroup=bloodgroup) + stock.unit=bloodForm.cleaned_data['unit'] + stock.save() + return HttpResponseRedirect('admin-blood') + return render(request,'blood/admin_blood.html',context=dict) + + +def admin_donor_view(request): + donors=dmodels.Donor.objects.all() + return render(request,'blood/admin_donor.html',{'donors':donors}) + +def update_donor_view(request,pk): + donor=dmodels.Donor.objects.get(id=pk) + user=dmodels.User.objects.get(id=donor.user_id) + userForm=dforms.DonorUserForm(instance=user) + donorForm=dforms.DonorForm(request.FILES,instance=donor) + mydict={'userForm':userForm,'donorForm':donorForm} + if request.method=='POST': + userForm=dforms.DonorUserForm(request.POST,instance=user) + donorForm=dforms.DonorForm(request.POST,request.FILES,instance=donor) + if userForm.is_valid() and donorForm.is_valid(): + user=userForm.save() + user.set_password(user.password) + user.save() + donor=donorForm.save(commit=False) + donor.user=user + donor.bloodgroup=donorForm.cleaned_data['bloodgroup'] + donor.save() + return redirect('admin-donor') + return render(request,'blood/update_donor.html',context=mydict) + + + +def delete_donor_view(request,pk): + donor=dmodels.Donor.objects.get(id=pk) + user=User.objects.get(id=donor.user_id) + user.delete() + donor.delete() + return HttpResponseRedirect('/admin-donor') + +def admin_patient_view(request): + patients=pmodels.Patient.objects.all() + return render(request,'blood/admin_patient.html',{'patients':patients}) + + +def update_patient_view(request,pk): + patient=pmodels.Patient.objects.get(id=pk) + user=pmodels.User.objects.get(id=patient.user_id) + userForm=pforms.PatientUserForm(instance=user) + patientForm=pforms.PatientForm(request.FILES,instance=patient) + mydict={'userForm':userForm,'patientForm':patientForm} + if request.method=='POST': + userForm=pforms.PatientUserForm(request.POST,instance=user) + patientForm=pforms.PatientForm(request.POST,request.FILES,instance=patient) + if userForm.is_valid() and patientForm.is_valid(): + user=userForm.save() + user.set_password(user.password) + user.save() + patient=patientForm.save(commit=False) + patient.user=user + patient.bloodgroup=patientForm.cleaned_data['bloodgroup'] + patient.save() + return redirect('admin-patient') + return render(request,'blood/update_patient.html',context=mydict) + + + +def delete_patient_view(request,pk): + patient=pmodels.Patient.objects.get(id=pk) + user=User.objects.get(id=patient.user_id) + user.delete() + patient.delete() + return HttpResponseRedirect('/admin-patient') + +def admin_request_view(request): + requests=models.BloodRequest.objects.all().filter(status='Pending') + return render(request,'blood/admin_request.html',{'requests':requests}) + +def admin_request_history_view(request): + requests=models.BloodRequest.objects.all().exclude(status='Pending') + return render(request,'blood/admin_request_history.html',{'requests':requests}) + +def admin_donation_view(request): + donations=dmodels.BloodDonate.objects.all() + return render(request,'blood/admin_donation.html',{'donations':donations}) + +def update_approve_status_view(request,pk): + req=models.BloodRequest.objects.get(id=pk) + message=None + bloodgroup=req.bloodgroup + unit=req.unit + stock=models.Stock.objects.get(bloodgroup=bloodgroup) + if stock.unit > unit: + stock.unit=stock.unit-unit + stock.save() + req.status="Approved" + + else: + message="Stock Doest Not Have Enough Blood To Approve This Request, Only "+str(stock.unit)+" Unit Available" + req.save() + + requests=models.BloodRequest.objects.all().filter(status='Pending') + return render(request,'blood/admin_request.html',{'requests':requests,'message':message}) + + +def update_reject_status_view(request,pk): + req=models.BloodRequest.objects.get(id=pk) + req.status="Rejected" + req.save() + return HttpResponseRedirect('/admin-request') + +def approve_donation_view(request,pk): + donation=dmodels.BloodDonate.objects.get(id=pk) + donation_blood_group=donation.bloodgroup + donation_blood_unit=donation.unit + + stock=models.Stock.objects.get(bloodgroup=donation_blood_group) + stock.unit=stock.unit+donation_blood_unit + stock.save() + + donation.status='Approved' + donation.save() + return HttpResponseRedirect('/admin-donation') + +def reject_donation_view(request,pk): + donation=dmodels.BloodDonate.objects.get(id=pk) + donation.status='Rejected' + donation.save() + return HttpResponseRedirect('/admin-donation') \ No newline at end of file diff --git a/bloodbankmanagement/__init__.py b/bloodbankmanagement/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bloodbankmanagement/asgi.py b/bloodbankmanagement/asgi.py new file mode 100644 index 00000000..e3bc59b4 --- /dev/null +++ b/bloodbankmanagement/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for bloodbankmanagement project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bloodbankmanagement.settings') + +application = get_asgi_application() diff --git a/bloodbankmanagement/settings.py b/bloodbankmanagement/settings.py new file mode 100644 index 00000000..305b6201 --- /dev/null +++ b/bloodbankmanagement/settings.py @@ -0,0 +1,149 @@ +""" +Django settings for bloodbankmanagement project. + +Generated by 'django-admin startproject' using Django 3.0.5. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.0/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +TEMPLATE_DIR = os.path.join(BASE_DIR,'templates') +STATIC_DIR=os.path.join(BASE_DIR,'static') +MEDIA_ROOT=os.path.join(BASE_DIR,'static') + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '+zy!9k=9pql5gz9bkqjore)k6r!%w0atk(@(!(!zvp5e(t2i8n' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'widget_tweaks', + 'blood', + 'donor', + 'patient', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] +CSRF_COOKIE_SECURE=False +ROOT_URLCONF = 'bloodbankmanagement.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [TEMPLATE_DIR,], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'bloodbankmanagement.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'blood', + 'USER': 'root', + 'PASSWORD': 'root', + 'HOST': 'localhost', + 'PORT': '3306', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' +STATICFILES_DIRS=[ +STATIC_DIR, + ] +LOGIN_REDIRECT_URL='/afterlogin' + +#for contact us give your gmail id and password +EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend' +EMAIL_HOST = 'smtp.gmail.com' +EMAIL_USE_TLS = True +EMAIL_PORT = 587 +EMAIL_HOST_USER = 'from@gmail.com' # this email will be used to send emails +EMAIL_HOST_PASSWORD = 'xyz' # host email password required +# now sign in with your host gmail account in your browser +# open following link and turn it ON +# https://myaccount.google.com/lesssecureapps +# otherwise you will get SMTPAuthenticationError at /contactus +# this process is required because google blocks apps authentication by default +EMAIL_RECEIVING_USER = ['to@gmail.com'] # email on which you will receive messages sent from website + diff --git a/bloodbankmanagement/urls.py b/bloodbankmanagement/urls.py new file mode 100644 index 00000000..cc5f4ab5 --- /dev/null +++ b/bloodbankmanagement/urls.py @@ -0,0 +1,49 @@ +"""bloodbankmanagement URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path,include +from django.contrib.auth.views import LogoutView,LoginView +from blood import views +urlpatterns = [ + path('admin/', admin.site.urls), + + + path('donor/',include('donor.urls')), + path('patient/',include('patient.urls')), + + + path('',views.home_view,name=''), + path('logout', LogoutView.as_view(template_name='blood/logout.html'),name='logout'), + + path('afterlogin', views.afterlogin_view,name='afterlogin'), + path('adminlogin', LoginView.as_view(template_name='blood/adminlogin.html'),name='adminlogin'), + path('admin-dashboard', views.admin_dashboard_view,name='admin-dashboard'), + path('admin-blood', views.admin_blood_view,name='admin-blood'), + path('admin-donor', views.admin_donor_view,name='admin-donor'), + path('admin-patient', views.admin_patient_view,name='admin-patient'), + path('update-donor/', views.update_donor_view,name='update-donor'), + path('delete-donor/', views.delete_donor_view,name='delete-donor'), + path('admin-request', views.admin_request_view,name='admin-request'), + path('update-patient/', views.update_patient_view,name='update-patient'), + path('delete-patient/', views.delete_patient_view,name='delete-patient'), + path('admin-donation', views.admin_donation_view,name='admin-donation'), + path('approve-donation/', views.approve_donation_view,name='approve-donation'), + path('reject-donation/', views.reject_donation_view,name='reject-donation'), + path('admin-request-history', views.admin_request_history_view,name='admin-request-history'), + path('update-approve-status/', views.update_approve_status_view,name='update-approve-status'), + path('update-reject-status/', views.update_reject_status_view,name='update-reject-status'), + +] diff --git a/bloodbankmanagement/wsgi.py b/bloodbankmanagement/wsgi.py new file mode 100644 index 00000000..6c93e289 --- /dev/null +++ b/bloodbankmanagement/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for bloodbankmanagement project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bloodbankmanagement.settings') + +application = get_wsgi_application() diff --git a/donor/__init__.py b/donor/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/donor/admin.py b/donor/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/donor/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/donor/apps.py b/donor/apps.py new file mode 100644 index 00000000..54ef02d0 --- /dev/null +++ b/donor/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class DonorConfig(AppConfig): + name = 'donor' diff --git a/donor/forms.py b/donor/forms.py new file mode 100644 index 00000000..31d3ab49 --- /dev/null +++ b/donor/forms.py @@ -0,0 +1,22 @@ +from django import forms +from django.contrib.auth.models import User +from . import models + + +class DonorUserForm(forms.ModelForm): + class Meta: + model=User + fields=['first_name','last_name','username','password'] + widgets = { + 'password': forms.PasswordInput() + } + +class DonorForm(forms.ModelForm): + class Meta: + model=models.Donor + fields=['bloodgroup','address','mobile','profile_pic'] + +class DonationForm(forms.ModelForm): + class Meta: + model=models.BloodDonate + fields=['age','bloodgroup','disease','unit'] diff --git a/donor/migrations/0001_initial.py b/donor/migrations/0001_initial.py new file mode 100644 index 00000000..a869484c --- /dev/null +++ b/donor/migrations/0001_initial.py @@ -0,0 +1,30 @@ +# Generated by Django 3.0.5 on 2021-01-17 10:51 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Donor', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('profile_pic', models.ImageField(blank=True, null=True, upload_to='profile_pic/Donor/')), + ('age', models.PositiveIntegerField()), + ('bloodgroup', models.CharField(max_length=10)), + ('disease', models.CharField(default='Nothing', max_length=100)), + ('address', models.CharField(max_length=40)), + ('mobile', models.CharField(max_length=20)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/donor/migrations/0002_auto_20210213_1602.py b/donor/migrations/0002_auto_20210213_1602.py new file mode 100644 index 00000000..04568b10 --- /dev/null +++ b/donor/migrations/0002_auto_20210213_1602.py @@ -0,0 +1,35 @@ +# Generated by Django 3.0.5 on 2021-02-13 10:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('donor', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='donor', + name='age', + ), + migrations.RemoveField( + model_name='donor', + name='disease', + ), + migrations.CreateModel( + name='BloodDonate', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('disease', models.CharField(default='Nothing', max_length=100)), + ('age', models.PositiveIntegerField()), + ('bloodgroup', models.CharField(max_length=10)), + ('unit', models.PositiveIntegerField(default=0)), + ('status', models.CharField(default='Pending', max_length=20)), + ('date', models.DateField(auto_now=True)), + ('donor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='donor.Donor')), + ], + ), + ] diff --git a/donor/migrations/__init__.py b/donor/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/donor/models.py b/donor/models.py new file mode 100644 index 00000000..770013d2 --- /dev/null +++ b/donor/models.py @@ -0,0 +1,33 @@ +from django.db import models +from django.contrib.auth.models import User + +class Donor(models.Model): + user=models.OneToOneField(User,on_delete=models.CASCADE) + profile_pic= models.ImageField(upload_to='profile_pic/Donor/',null=True,blank=True) + + + bloodgroup=models.CharField(max_length=10) + + + address = models.CharField(max_length=40) + mobile = models.CharField(max_length=20,null=False) + + @property + def get_name(self): + return self.user.first_name+" "+self.user.last_name + @property + def get_instance(self): + return self + def __str__(self): + return self.user.first_name + +class BloodDonate(models.Model): + donor=models.ForeignKey(Donor,on_delete=models.CASCADE) + disease=models.CharField(max_length=100,default="Nothing") + age=models.PositiveIntegerField() + bloodgroup=models.CharField(max_length=10) + unit=models.PositiveIntegerField(default=0) + status=models.CharField(max_length=20,default="Pending") + date=models.DateField(auto_now=True) + def __str__(self): + return self.donor \ No newline at end of file diff --git a/donor/tests.py b/donor/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/donor/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/donor/urls.py b/donor/urls.py new file mode 100644 index 00000000..3210167a --- /dev/null +++ b/donor/urls.py @@ -0,0 +1,13 @@ +from django.urls import path + +from django.contrib.auth.views import LoginView +from . import views +urlpatterns = [ + path('donorlogin', LoginView.as_view(template_name='donor/donorlogin.html'),name='donorlogin'), + path('donorsignup', views.donor_signup_view,name='donorsignup'), + path('donor-dashboard', views.donor_dashboard_view,name='donor-dashboard'), + path('donate-blood', views.donate_blood_view,name='donate-blood'), + path('donation-history', views.donation_history_view,name='donation-history'), + path('make-request', views.make_request_view,name='make-request'), + path('request-history', views.request_history_view,name='request-history'), +] \ No newline at end of file diff --git a/donor/views.py b/donor/views.py new file mode 100644 index 00000000..6a9756a8 --- /dev/null +++ b/donor/views.py @@ -0,0 +1,80 @@ +from django.shortcuts import render,redirect,reverse +from . import forms,models +from django.db.models import Sum,Q +from django.contrib.auth.models import Group +from django.http import HttpResponseRedirect +from django.contrib.auth.decorators import login_required,user_passes_test +from django.conf import settings +from datetime import date, timedelta +from django.core.mail import send_mail +from django.contrib.auth.models import User +from blood import forms as bforms +from blood import models as bmodels + +def donor_signup_view(request): + userForm=forms.DonorUserForm() + donorForm=forms.DonorForm() + mydict={'userForm':userForm,'donorForm':donorForm} + if request.method=='POST': + userForm=forms.DonorUserForm(request.POST) + donorForm=forms.DonorForm(request.POST,request.FILES) + if userForm.is_valid() and donorForm.is_valid(): + user=userForm.save() + user.set_password(user.password) + user.save() + donor=donorForm.save(commit=False) + donor.user=user + donor.bloodgroup=donorForm.cleaned_data['bloodgroup'] + donor.save() + my_donor_group = Group.objects.get_or_create(name='DONOR') + my_donor_group[0].user_set.add(user) + return HttpResponseRedirect('donorlogin') + return render(request,'donor/donorsignup.html',context=mydict) + + +def donor_dashboard_view(request): + donor= models.Donor.objects.get(user_id=request.user.id) + dict={ + 'requestpending': bmodels.BloodRequest.objects.all().filter(request_by_donor=donor).filter(status='Pending').count(), + 'requestapproved': bmodels.BloodRequest.objects.all().filter(request_by_donor=donor).filter(status='Approved').count(), + 'requestmade': bmodels.BloodRequest.objects.all().filter(request_by_donor=donor).count(), + 'requestrejected': bmodels.BloodRequest.objects.all().filter(request_by_donor=donor).filter(status='Rejected').count(), + } + return render(request,'donor/donor_dashboard.html',context=dict) + + +def donate_blood_view(request): + donation_form=forms.DonationForm() + if request.method=='POST': + donation_form=forms.DonationForm(request.POST) + if donation_form.is_valid(): + blood_donate=donation_form.save(commit=False) + blood_donate.bloodgroup=donation_form.cleaned_data['bloodgroup'] + donor= models.Donor.objects.get(user_id=request.user.id) + blood_donate.donor=donor + blood_donate.save() + return HttpResponseRedirect('donation-history') + return render(request,'donor/donate_blood.html',{'donation_form':donation_form}) + +def donation_history_view(request): + donor= models.Donor.objects.get(user_id=request.user.id) + donations=models.BloodDonate.objects.all().filter(donor=donor) + return render(request,'donor/donation_history.html',{'donations':donations}) + +def make_request_view(request): + request_form=bforms.RequestForm() + if request.method=='POST': + request_form=bforms.RequestForm(request.POST) + if request_form.is_valid(): + blood_request=request_form.save(commit=False) + blood_request.bloodgroup=request_form.cleaned_data['bloodgroup'] + donor= models.Donor.objects.get(user_id=request.user.id) + blood_request.request_by_donor=donor + blood_request.save() + return HttpResponseRedirect('request-history') + return render(request,'donor/makerequest.html',{'request_form':request_form}) + +def request_history_view(request): + donor= models.Donor.objects.get(user_id=request.user.id) + blood_request=bmodels.BloodRequest.objects.all().filter(request_by_donor=donor) + return render(request,'donor/request_history.html',{'blood_request':blood_request}) diff --git a/manage.py b/manage.py new file mode 100644 index 00000000..590fc297 --- /dev/null +++ b/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bloodbankmanagement.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/patient/__init__.py b/patient/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/patient/admin.py b/patient/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/patient/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/patient/apps.py b/patient/apps.py new file mode 100644 index 00000000..bd0da01c --- /dev/null +++ b/patient/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class PatientConfig(AppConfig): + name = 'patient' diff --git a/patient/forms.py b/patient/forms.py new file mode 100644 index 00000000..f8ab4a68 --- /dev/null +++ b/patient/forms.py @@ -0,0 +1,18 @@ +from django import forms +from django.contrib.auth.models import User +from . import models + + +class PatientUserForm(forms.ModelForm): + class Meta: + model=User + fields=['first_name','last_name','username','password'] + widgets = { + 'password': forms.PasswordInput() + } + +class PatientForm(forms.ModelForm): + + class Meta: + model=models.Patient + fields=['age','bloodgroup','disease','address','doctorname','mobile','profile_pic'] diff --git a/patient/migrations/0001_initial.py b/patient/migrations/0001_initial.py new file mode 100644 index 00000000..afed657c --- /dev/null +++ b/patient/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# Generated by Django 3.0.5 on 2021-01-17 10:51 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Patient', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('profile_pic', models.ImageField(blank=True, null=True, upload_to='profile_pic/Patient/')), + ('age', models.PositiveIntegerField()), + ('bloodgroup', models.CharField(max_length=10)), + ('disease', models.CharField(max_length=100)), + ('doctorname', models.CharField(max_length=50)), + ('address', models.CharField(max_length=40)), + ('mobile', models.CharField(max_length=20)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/patient/migrations/__init__.py b/patient/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/patient/models.py b/patient/models.py new file mode 100644 index 00000000..4663d526 --- /dev/null +++ b/patient/models.py @@ -0,0 +1,23 @@ +from django.db import models +from django.contrib.auth.models import User + +class Patient(models.Model): + user=models.OneToOneField(User,on_delete=models.CASCADE) + profile_pic= models.ImageField(upload_to='profile_pic/Patient/',null=True,blank=True) + + age=models.PositiveIntegerField() + bloodgroup=models.CharField(max_length=10) + disease=models.CharField(max_length=100) + doctorname=models.CharField(max_length=50) + + address = models.CharField(max_length=40) + mobile = models.CharField(max_length=20,null=False) + + @property + def get_name(self): + return self.user.first_name+" "+self.user.last_name + @property + def get_instance(self): + return self + def __str__(self): + return self.user.first_name \ No newline at end of file diff --git a/patient/tests.py b/patient/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/patient/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/patient/urls.py b/patient/urls.py new file mode 100644 index 00000000..f441b00a --- /dev/null +++ b/patient/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from django.contrib.auth.views import LoginView +from . import views +urlpatterns = [ + path('patientlogin', LoginView.as_view(template_name='patient/patientlogin.html'),name='patientlogin'), + path('patientsignup', views.patient_signup_view,name='patientsignup'), + path('patient-dashboard', views.patient_dashboard_view,name='patient-dashboard'), + path('make-request', views.make_request_view,name='make-request'), + path('my-request', views.my_request_view,name='my-request'), +] \ No newline at end of file diff --git a/patient/views.py b/patient/views.py new file mode 100644 index 00000000..d2561daf --- /dev/null +++ b/patient/views.py @@ -0,0 +1,63 @@ +from django.shortcuts import render,redirect,reverse +from . import forms,models +from django.db.models import Sum,Q +from django.contrib.auth.models import Group +from django.http import HttpResponseRedirect +from django.contrib.auth.decorators import login_required,user_passes_test +from django.conf import settings +from datetime import date, timedelta +from django.core.mail import send_mail +from django.contrib.auth.models import User +from blood import forms as bforms +from blood import models as bmodels + + +def patient_signup_view(request): + userForm=forms.PatientUserForm() + patientForm=forms.PatientForm() + mydict={'userForm':userForm,'patientForm':patientForm} + if request.method=='POST': + userForm=forms.PatientUserForm(request.POST) + patientForm=forms.PatientForm(request.POST,request.FILES) + if userForm.is_valid() and patientForm.is_valid(): + user=userForm.save() + user.set_password(user.password) + user.save() + patient=patientForm.save(commit=False) + patient.user=user + patient.bloodgroup=patientForm.cleaned_data['bloodgroup'] + patient.save() + my_patient_group = Group.objects.get_or_create(name='PATIENT') + my_patient_group[0].user_set.add(user) + return HttpResponseRedirect('patientlogin') + return render(request,'patient/patientsignup.html',context=mydict) + +def patient_dashboard_view(request): + patient= models.Patient.objects.get(user_id=request.user.id) + dict={ + 'requestpending': bmodels.BloodRequest.objects.all().filter(request_by_patient=patient).filter(status='Pending').count(), + 'requestapproved': bmodels.BloodRequest.objects.all().filter(request_by_patient=patient).filter(status='Approved').count(), + 'requestmade': bmodels.BloodRequest.objects.all().filter(request_by_patient=patient).count(), + 'requestrejected': bmodels.BloodRequest.objects.all().filter(request_by_patient=patient).filter(status='Rejected').count(), + + } + + return render(request,'patient/patient_dashboard.html',context=dict) + +def make_request_view(request): + request_form=bforms.RequestForm() + if request.method=='POST': + request_form=bforms.RequestForm(request.POST) + if request_form.is_valid(): + blood_request=request_form.save(commit=False) + blood_request.bloodgroup=request_form.cleaned_data['bloodgroup'] + patient= models.Patient.objects.get(user_id=request.user.id) + blood_request.request_by_patient=patient + blood_request.save() + return HttpResponseRedirect('my-request') + return render(request,'patient/makerequest.html',{'request_form':request_form}) + +def my_request_view(request): + patient= models.Patient.objects.get(user_id=request.user.id) + blood_request=bmodels.BloodRequest.objects.all().filter(request_by_patient=patient) + return render(request,'patient/my_request.html',{'blood_request':blood_request}) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..40cadf3b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +asgiref==3.2.7 +Django==3.0.5 +django-widget-tweaks==1.4.8 +pytz==2020.1 +sqlparse==0.3.1 + diff --git a/static/css/main.css b/static/css/main.css new file mode 100644 index 00000000..57ea25af --- /dev/null +++ b/static/css/main.css @@ -0,0 +1,770 @@ + +/* ========================================================================== + #FONT + ========================================================================== */ +.font-robo { + font-family: "Roboto", "Arial", "Helvetica Neue", sans-serif; +} + +.font-poppins { + font-family: "Poppins", "Arial", "Helvetica Neue", sans-serif; +} + +.font-opensans { + font-family: "Open Sans", "Arial", "Helvetica Neue", sans-serif; +} + +/* ========================================================================== + #GRID + ========================================================================== */ +.row { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.row .col-2:last-child .input-group-desc { + margin-bottom: 0; +} + +.row-space { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -moz-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.row-refine { + margin: 0 -15px; +} + +.row-refine .col-3 .input-group-desc, +.row-refine .col-9 .input-group-desc { + margin-bottom: 0; +} + +.col-2 { + width: -webkit-calc((100% - 30px) / 2); + width: -moz-calc((100% - 30px) / 2); + width: calc((100% - 30px) / 2); +} + +@media (max-width: 767px) { + .col-2 { + width: 100%; + } +} + +.form-row { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 40px; +} + +.form-row .name { + width: 125px; + color: #555; + font-size: 15px; + font-weight: 700; +} + +.form-row .value { + width: -webkit-calc(100% - 125px); + width: -moz-calc(100% - 125px); + width: calc(100% - 125px); +} + +@media (max-width: 767px) { + .form-row { + display: block; + } + .form-row .name, + .form-row .value { + display: block; + width: 100%; + } + .form-row .name { + margin-bottom: 7px; + } +} + +.col-3, +.col-9 { + padding: 0 15px; + position: relative; + width: 100%; + min-height: 1px; +} + +.col-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -moz-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +@media (max-width: 767px) { + .col-3 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 35%; + -moz-box-flex: 0; + -ms-flex: 0 0 35%; + flex: 0 0 35%; + max-width: 35%; + } +} + +.col-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -moz-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +@media (max-width: 767px) { + .col-9 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 65%; + -moz-box-flex: 0; + -ms-flex: 0 0 65%; + flex: 0 0 65%; + max-width: 65%; + } +} + +/* ========================================================================== + #BOX-SIZING + ========================================================================== */ +/** + * More sensible default box-sizing: + * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice + */ +html { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +* { + padding: 0; + margin: 0; +} + +*, *:before, *:after { + -webkit-box-sizing: inherit; + -moz-box-sizing: inherit; + box-sizing: inherit; +} + +/* ========================================================================== + #RESET + ========================================================================== */ +/** + * A very simple reset that sits on top of Normalize.css. + */ +body, +h1, h2, h3, h4, h5, h6, +blockquote, p, pre, +dl, dd, ol, ul, +figure, +hr, +fieldset, legend { + margin: 0; + padding: 0; +} + +/** + * Remove trailing margins from nested lists. + */ +li > ol, +li > ul { + margin-bottom: 0; +} + +/** + * Remove default table spacing. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +/** + * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;` + * on fieldsets. + */ +fieldset { + min-width: 0; + /* [1] */ + border: 0; +} + +button { + outline: none; + background: none; + border: none; +} + +/* ========================================================================== + #PAGE WRAPPER + ========================================================================== */ +.page-wrapper { + min-height: 100vh; +} + +body { + font-family: "Open Sans", "Arial", "Helvetica Neue", sans-serif; + font-weight: 400; + font-size: 14px; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 400; +} + +h1 { + font-size: 36px; +} + +h2 { + font-size: 30px; +} + +h3 { + font-size: 24px; +} + +h4 { + font-size: 18px; +} + +h5 { + font-size: 15px; +} + +h6 { + font-size: 13px; +} + +/* ========================================================================== + #BACKGROUND + ========================================================================== */ +.bg-blue { + background: #2c6ed5; +} + +.bg-red { + background: #fa4251; +} + +.bg-gra-01 { + background: -webkit-gradient(linear, left bottom, left top, from(#fbc2eb), to(#a18cd1)); + background: -webkit-linear-gradient(bottom, #fbc2eb 0%, #a18cd1 100%); + background: -moz-linear-gradient(bottom, #fbc2eb 0%, #a18cd1 100%); + background: -o-linear-gradient(bottom, #fbc2eb 0%, #a18cd1 100%); + background: linear-gradient(to top, #fbc2eb 0%, #a18cd1 100%); +} + +.bg-gra-02 { + background: -webkit-gradient(linear, left bottom, right top, from(#fc2c77), to(#6c4079)); + background: -webkit-linear-gradient(bottom left, #fc2c77 0%, #6c4079 100%); + background: -moz-linear-gradient(bottom left, #fc2c77 0%, #6c4079 100%); + background: -o-linear-gradient(bottom left, #fc2c77 0%, #6c4079 100%); + background: linear-gradient(to top right, #fc2c77 0%, #6c4079 100%); +} + +.bg-gra-03 { + background: -webkit-gradient(linear, left bottom, right top, from(#08aeea), to(#b721ff)); + background: -webkit-linear-gradient(bottom left, #08aeea 0%, #b721ff 100%); + background: -moz-linear-gradient(bottom left, #08aeea 0%, #b721ff 100%); + background: -o-linear-gradient(bottom left, #08aeea 0%, #b721ff 100%); + background: linear-gradient(to top right, #08aeea 0%, #b721ff 100%); +} + +/* ========================================================================== + #SPACING + ========================================================================== */ +.p-t-100 { + padding-top: 100px; +} + +.p-t-130 { + padding-top: 130px; +} + +.p-t-180 { + padding-top: 180px; +} + +.p-t-45 { + padding-top: 45px; +} + +.p-t-20 { + padding-top: 20px; +} + +.p-t-15 { + padding-top: 15px; +} + +.p-t-10 { + padding-top: 10px; +} + +.p-t-30 { + padding-top: 30px; +} + +.p-b-100 { + padding-bottom: 100px; +} + +.p-b-50 { + padding-bottom: 50px; +} + +.m-r-45 { + margin-right: 45px; +} + +.m-r-55 { + margin-right: 55px; +} + +.m-b-55 { + margin-bottom: 55px; +} + +/* ========================================================================== + #WRAPPER + ========================================================================== */ +.wrapper { + margin: 0 auto; +} + +.wrapper--w960 { + max-width: 960px; +} + +.wrapper--w790 { + max-width: 790px; +} + +.wrapper--w780 { + max-width: 780px; +} + +.wrapper--w680 { + max-width: 680px; +} + +/* ========================================================================== + #BUTTON + ========================================================================== */ +.btn { + display: inline-block; + line-height: 50px; + padding: 0 50px; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + -moz-transition: all 0.4s ease; + transition: all 0.4s ease; + cursor: pointer; + font-size: 15px; + text-transform: uppercase; + font-weight: 700; + color: #fff; + font-family: inherit; +} + +.btn--radius { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn--radius-2 { + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.btn--pill { + -webkit-border-radius: 20px; + -moz-border-radius: 20px; + border-radius: 20px; +} + +.btn--green { + background: #57b846; +} + +.btn--green:hover { + background: #4dae3c; +} + +.btn--blue { + background: #4272d7; +} + +.btn--blue:hover { + background: #3868cd; +} + +.btn--red { + background: #ff4b5a; +} + +.btn--red:hover { + background: #eb3746; +} + +/* ========================================================================== + #DATE PICKER + ========================================================================== */ +td.active { + background-color: #2c6ed5; +} + +input[type="date" i] { + padding: 14px; +} + +.table-condensed td, .table-condensed th { + font-size: 14px; + font-family: "Roboto", "Arial", "Helvetica Neue", sans-serif; + font-weight: 400; +} + +.daterangepicker td { + width: 40px; + height: 30px; +} + +.daterangepicker { + border: none; + -webkit-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + display: none; + border: 1px solid #e0e0e0; + margin-top: 5px; +} + +.daterangepicker::after, .daterangepicker::before { + display: none; +} + +.daterangepicker thead tr th { + padding: 10px 0; +} + +.daterangepicker .table-condensed th select { + border: 1px solid #ccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + font-size: 14px; + padding: 5px; + outline: none; +} + +/* ========================================================================== + #FORM + ========================================================================== */ +input { + outline: none; + margin: 0; + border: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + width: 100%; + font-size: 14px; + font-family: inherit; +} + +.radio-container { + display: inline-block; + position: relative; + padding-left: 30px; + cursor: pointer; + font-size: 16px; + color: #666; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.radio-container input { + position: absolute; + opacity: 0; + cursor: pointer; +} + +.radio-container input:checked ~ .checkmark { + background-color: #e5e5e5; +} + +.radio-container input:checked ~ .checkmark:after { + display: block; +} + +.radio-container .checkmark:after { + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 12px; + height: 12px; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + background: #57b846; +} + +.checkmark { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + left: 0; + height: 20px; + width: 20px; + background-color: #e5e5e5; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; + -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.08); + -moz-box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.08); + box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.08); +} + +.checkmark:after { + content: ""; + position: absolute; + display: none; +} + +.input--style-5 { + background: #e5e5e5; + line-height: 50px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 0 22px; + font-size: 16px; + color: #555; +} + +.input-group-desc { + position: relative; +} + +@media (max-width: 767px) { + .input-group-desc { + margin-bottom: 40px; + } +} + +.input-group { + position: relative; + margin: 0; +} + +.label { + color: #555; + font-size: 15px; + font-weight: 700; +} + +.label--block { + width: 100%; +} + +.label--desc { + position: absolute; + text-transform: capitalize; + display: block; + color: #999; + font-size: 14px; + margin: 0; + margin-top: 7px; + left: 0; +} + +/* ========================================================================== + #SELECT2 + ========================================================================== */ +.select--no-search .select2-search { + display: none !important; +} + +.select2-container--open .select2-dropdown--below { + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + border: 1px solid #e0e0e0; + margin-top: 5px; + overflow: hidden; +} + +.select2-container--default .select2-results__option { + padding-left: 22px; +} + +.rs-select2 .select2-container { + width: 100% !important; + outline: none; + background: #e5e5e5; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.rs-select2 .select2-container .select2-selection--single { + outline: none; + border: none; + height: 50px; + background: transparent; +} + +.rs-select2 .select2-container .select2-selection--single .select2-selection__rendered { + line-height: 50px; + padding-left: 0; + color: #555; + font-size: 16px; + font-family: inherit; + padding-left: 22px; + padding-right: 50px; +} + +.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow { + height: 50px; + right: 15px; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -moz-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow b { + display: none; +} + +.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow:after { + font-family: "Material-Design-Iconic-Font"; + content: '\f2f9'; + font-size: 24px; + color: #999; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + -moz-transition: all 0.4s ease; + transition: all 0.4s ease; +} + +.rs-select2 .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::after { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + transform: rotate(-180deg); +} + +/* ========================================================================== + #TITLE + ========================================================================== */ +.title { + font-size: 24px; + text-transform: uppercase; + font-weight: 700; + text-align: center; + color: #fff; +} + +/* ========================================================================== + #CARD + ========================================================================== */ +.card { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background: #fff; +} + +.card-5 { + background: #fff; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + -webkit-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); + box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); +} + +.card-5 .card-heading { + padding: 20px 0; + background: #1a1a1a; + -webkit-border-top-left-radius: 10px; + -moz-border-radius-topleft: 10px; + border-top-left-radius: 10px; + -webkit-border-top-right-radius: 10px; + -moz-border-radius-topright: 10px; + border-top-right-radius: 10px; +} + +.card-5 .card-body { + padding: 52px 85px; + padding-bottom: 73px; +} + +@media (max-width: 767px) { + .card-5 .card-body { + padding: 40px 30px; + padding-bottom: 50px; + } +} diff --git a/static/css/main.min.css b/static/css/main.min.css new file mode 100644 index 00000000..a85c922a --- /dev/null +++ b/static/css/main.min.css @@ -0,0 +1 @@ +.daterangepicker,.select2-container--open .select2-dropdown--below{-webkit-box-shadow:0 8px 20px 0 rgba(0,0,0,.15);-moz-box-shadow:0 8px 20px 0 rgba(0,0,0,.15)}.font-robo{font-family:Roboto,Arial,"Helvetica Neue",sans-serif}.font-poppins{font-family:Poppins,Arial,"Helvetica Neue",sans-serif}.font-opensans,body{font-family:"Open Sans",Arial,"Helvetica Neue",sans-serif}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.row .col-2:last-child .input-group-desc{margin-bottom:0}.row-space{-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.row-refine{margin:0 -15px}.row-refine .col-3 .input-group-desc,.row-refine .col-9 .input-group-desc{margin-bottom:0}.col-2{width:-webkit-calc((100% - 30px)/ 2);width:-moz-calc((100% - 30px)/ 2);width:calc((100% - 30px)/ 2)}@media (max-width:767px){.col-2{width:100%}}.form-row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:40px}.form-row .name{width:125px;color:#555;font-size:15px;font-weight:700}body,h1,h2,h3,h4,h5,h6{font-weight:400}.form-row .value{width:-webkit-calc(100% - 125px);width:-moz-calc(100% - 125px);width:calc(100% - 125px)}@media (max-width:767px){.form-row{display:block}.form-row .name,.form-row .value{display:block;width:100%}.form-row .name{margin-bottom:7px}}.col-3,.col-9{padding:0 15px;position:relative;width:100%;min-height:1px}*,blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,legend,ol,p,pre,ul{margin:0;padding:0}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-moz-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}@media (max-width:767px){.col-3{-webkit-box-flex:0;-webkit-flex:0 0 35%;-moz-box-flex:0;-ms-flex:0 0 35%;flex:0 0 35%;max-width:35%}}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-moz-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}@media (max-width:767px){.col-9{-webkit-box-flex:0;-webkit-flex:0 0 65%;-moz-box-flex:0;-ms-flex:0 0 65%;flex:0 0 65%;max-width:65%}}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}li>ol,li>ul{margin-bottom:0}table{border-collapse:collapse;border-spacing:0}fieldset{min-width:0;border:0}button{outline:0;background:0 0;border:none}.page-wrapper{min-height:100vh}body{font-size:14px}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:18px}h5{font-size:15px}h6{font-size:13px}.bg-blue{background:#2c6ed5}.bg-red{background:#fa4251}.bg-gra-01{background:-webkit-gradient(linear,left bottom,left top,from(#fbc2eb),to(#a18cd1));background:-webkit-linear-gradient(bottom,#fbc2eb 0,#a18cd1 100%);background:-moz-linear-gradient(bottom,#fbc2eb 0,#a18cd1 100%);background:-o-linear-gradient(bottom,#fbc2eb 0,#a18cd1 100%);background:linear-gradient(to top,#fbc2eb 0,#a18cd1 100%)}.bg-gra-02{background:-webkit-gradient(linear,left bottom,right top,from(#fc2c77),to(#6c4079));background:-webkit-linear-gradient(bottom left,#fc2c77 0,#6c4079 100%);background:-moz-linear-gradient(bottom left,#fc2c77 0,#6c4079 100%);background:-o-linear-gradient(bottom left,#fc2c77 0,#6c4079 100%);background:linear-gradient(to top right,#fc2c77 0,#6c4079 100%)}.bg-gra-03{background:-webkit-gradient(linear,left bottom,right top,from(#08aeea),to(#b721ff));background:-webkit-linear-gradient(bottom left,#08aeea 0,#b721ff 100%);background:-moz-linear-gradient(bottom left,#08aeea 0,#b721ff 100%);background:-o-linear-gradient(bottom left,#08aeea 0,#b721ff 100%);background:linear-gradient(to top right,#08aeea 0,#b721ff 100%)}.p-t-100{padding-top:100px}.p-t-130{padding-top:130px}.p-t-180{padding-top:180px}.p-t-45{padding-top:45px}.p-t-20{padding-top:20px}.p-t-15{padding-top:15px}.p-t-10{padding-top:10px}.p-t-30{padding-top:30px}.p-b-100{padding-bottom:100px}.p-b-50{padding-bottom:50px}.m-r-45{margin-right:45px}.m-r-55{margin-right:55px}.m-b-55{margin-bottom:55px}.wrapper{margin:0 auto}.wrapper--w960{max-width:960px}.wrapper--w790{max-width:790px}.wrapper--w780{max-width:780px}.wrapper--w680{max-width:680px}.btn{display:inline-block;line-height:50px;padding:0 50px;-webkit-transition:all .4s ease;-o-transition:all .4s ease;-moz-transition:all .4s ease;transition:all .4s ease;cursor:pointer;font-size:15px;text-transform:uppercase;font-weight:700;color:#fff;font-family:inherit}.btn--radius{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn--radius-2{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn--pill{-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px}.btn--green{background:#57b846}.btn--green:hover{background:#4dae3c}.btn--blue{background:#4272d7}.btn--blue:hover{background:#3868cd}.btn--red{background:#ff4b5a}.btn--red:hover{background:#eb3746}td.active{background-color:#2c6ed5}input[type=datei]{padding:14px}.table-condensed td,.table-condensed th{font-size:14px;font-family:Roboto,Arial,"Helvetica Neue",sans-serif;font-weight:400}.label,.title{font-weight:700}.daterangepicker td{width:40px;height:30px}.daterangepicker{box-shadow:0 8px 20px 0 rgba(0,0,0,.15);display:none;border:1px solid #e0e0e0;margin-top:5px}.daterangepicker::after,.daterangepicker::before{display:none}.daterangepicker thead tr th{padding:10px 0}.daterangepicker .table-condensed th select{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font-size:14px;padding:5px;outline:0}input{outline:0;margin:0;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;width:100%;font-size:14px;font-family:inherit}.radio-container{display:inline-block;position:relative;padding-left:30px;cursor:pointer;font-size:16px;color:#666;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-container input{position:absolute;opacity:0;cursor:pointer}.radio-container input:checked~.checkmark{background-color:#e5e5e5}.radio-container input:checked~.checkmark:after{display:block}.radio-container .checkmark:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:#57b846}.checkmark{position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);left:0;height:20px;width:20px;background-color:#e5e5e5;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-shadow:inset 0 1px 3px 0 rgba(0,0,0,.08);-moz-box-shadow:inset 0 1px 3px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 3px 0 rgba(0,0,0,.08)}.checkmark:after{content:"";position:absolute;display:none}.input-group,.input-group-desc{position:relative}.input--style-5{background:#e5e5e5;line-height:50px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:0 22px;font-size:16px;color:#555}@media (max-width:767px){.input-group-desc{margin-bottom:40px}}.input-group{margin:0}.label{color:#555;font-size:15px}.label--block{width:100%}.label--desc{position:absolute;text-transform:capitalize;display:block;color:#999;font-size:14px;margin:7px 0 0;left:0}.select--no-search .select2-search{display:none!important}.select2-container--open .select2-dropdown--below{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;box-shadow:0 8px 20px 0 rgba(0,0,0,.15);border:1px solid #e0e0e0;margin-top:5px;overflow:hidden}.select2-container--default .select2-results__option{padding-left:22px}.rs-select2 .select2-container{width:100%!important;outline:0;background:#e5e5e5;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.rs-select2 .select2-container .select2-selection--single{outline:0;border:none;height:50px;background:0 0}.card,.card-5{background:#fff}.rs-select2 .select2-container .select2-selection--single .select2-selection__rendered{line-height:50px;color:#555;font-size:16px;font-family:inherit;padding-left:22px;padding-right:50px}.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow{height:50px;right:15px;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow b{display:none}.rs-select2 .select2-container .select2-selection--single .select2-selection__arrow:after{font-family:Material-Design-Iconic-Font;content:'\f2f9';font-size:24px;color:#999;-webkit-transition:all .4s ease;-o-transition:all .4s ease;-moz-transition:all .4s ease;transition:all .4s ease}.rs-select2 .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::after{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg)}.title{font-size:24px;text-transform:uppercase;text-align:center;color:#fff}.card{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.card-5{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 8px 20px 0 rgba(0,0,0,.15);-moz-box-shadow:0 8px 20px 0 rgba(0,0,0,.15);box-shadow:0 8px 20px 0 rgba(0,0,0,.15)}.card-5 .card-heading{padding:20px 0;background:#1a1a1a;-webkit-border-top-left-radius:10px;-moz-border-radius-topleft:10px;border-top-left-radius:10px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.card-5 .card-body{padding:52px 85px 73px}@media (max-width:767px){.card-5 .card-body{padding:40px 30px 50px}} \ No newline at end of file diff --git a/static/image/homepage.jpg b/static/image/homepage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1dbbfc80db6d0df4770b1163d3887af069be90b4 GIT binary patch literal 126395 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

<>>h8!=8rxY6_=<{0a~RX^hed&w2A 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 literal 0 HcmV?d00001 diff --git a/static/image/homepage.png b/static/image/homepage.png new file mode 100644 index 0000000000000000000000000000000000000000..859d63a742e622e2c98c5089ca3a3aa8601c015c GIT binary patch literal 71828 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 literal 0 HcmV?d00001 diff --git a/static/image/logout.png b/static/image/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ba681e9e0766837a609fde8430635d8ced964c GIT binary patch literal 4117 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.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/static/vendor/select2/select2.min.js b/static/vendor/select2/select2.min.js new file mode 100644 index 00000000..7ef2fda8 --- /dev/null +++ b/static/vendor/select2/select2.min.js @@ -0,0 +1 @@ +/*! Select2 4.0.5 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('

    ');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('
  • '),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()});b.$results.find(".select2-results__option[aria-selected]").each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j",{class:"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):h-g<0&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");if("true"===c.attr("aria-selected"))return void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{}));d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2");a(".select2.select2-container--open").each(function(){var b=a(this);this!=d[0]&&b.data("element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html(''),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('
      '),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('
    • ×
    • ')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e0||0===c.length)){var d=a('×');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===e.$search.val()){var b=e.$searchContainer.prev(".select2-selection__choice");if(b.length>0){var d=b.data("data");e.searchRemoveChoice(d),a.preventDefault()}}});var f=document.documentMode,g=f&&f<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(g)return void e.$selection.off("input.search input.searchcheck");e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
    • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/templates/blood/admin_blood.html b/templates/blood/admin_blood.html new file mode 100644 index 00000000..e7af9d00 --- /dev/null +++ b/templates/blood/admin_blood.html @@ -0,0 +1,149 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} + +

      +
      + +
      +
      +
      +
      +
      +

      A+

      +


      +
      + {{A1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      B+

      +


      +
      + {{B1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      O+

      +


      +
      + {{O1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      AB+

      +


      +
      + {{AB1.unit}} +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +

      A-

      +


      +
      + {{A2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      B-

      +


      +
      + {{B2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      O-

      +


      +
      + {{O2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      AB-

      +


      +
      + {{AB2.unit}} +
      +
      +
      +
      +
      +
      +
      +

      Update Blood Unit


      +
      + +
      + {% csrf_token %} +
      + + +
      +
      + + +
      + +
      +
      + + +
      + + +{% endblock content %} diff --git a/templates/blood/admin_dashboard.html b/templates/blood/admin_dashboard.html new file mode 100644 index 00000000..c9c4d248 --- /dev/null +++ b/templates/blood/admin_dashboard.html @@ -0,0 +1,165 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +

      +
      + +
      +
      +
      +
      +
      +

      A+

      +


      +
      + {{A1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      B+

      +


      +
      + {{B1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      O+

      +


      +
      + {{O1.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      AB+

      +


      +
      + {{AB1.unit}} +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +

      A-

      +


      +
      + {{A2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      B-

      +


      +
      + {{B2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      O-

      +


      +
      + {{O2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +

      AB-

      +


      +
      + {{AB2.unit}} +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Total Donors
      + {{totaldonors}} +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Total Requests
      + {{totalrequest}} +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Approved Requests
      + {{totalapprovedrequest}} +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Total Blood Unit (in ml)
      + {{totalbloodunit}} +
      +
      +
      +
      +
      +
      + + +{% endblock content %} diff --git a/templates/blood/admin_donation.html b/templates/blood/admin_donation.html new file mode 100644 index 00000000..51586bae --- /dev/null +++ b/templates/blood/admin_donation.html @@ -0,0 +1,65 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + +

      +
      +

      BLOOD DONATION DETAILS


      + + + + + + + + + + + + + + + {% for t in donations %} + + + + + + + + + {% if t.status == 'Pending' %} + + {% elif t.status == 'Approved' %} + + + {% else %} + + {% endif %} + + {% endfor %} + + + +
      Donor NameDiseaseAgeBlood GroupUnitRequest DateStatusAction
      {{t.donor}} {{t.disease}} {{t.age}}{{t.bloodgroup}}{{t.unit}}{{t.date}}{{t.status}} + + + {{t.unit}} Unit Added To Stock0 Unit Added To Stock
      +
      + + +{% endblock content %} diff --git a/templates/blood/admin_donor.html b/templates/blood/admin_donor.html new file mode 100644 index 00000000..ae04355a --- /dev/null +++ b/templates/blood/admin_donor.html @@ -0,0 +1,41 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} +

      +
      +

      DONOR DETAILS


      + + + + + + + + + + + + + {% for t in donors %} + + + + + + + + + + {% endfor %} + + + +
      NameProfileBlood GroupAddressMobileAction
      {{t.get_name}} Profile Pic{{t.bloodgroup}}{{t.address}}{{t.mobile}} + + +
      +
      + + +{% endblock content %} diff --git a/templates/blood/admin_patient.html b/templates/blood/admin_patient.html new file mode 100644 index 00000000..51779d0f --- /dev/null +++ b/templates/blood/admin_patient.html @@ -0,0 +1,43 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} +

      +
      +

      PATIENT DETAILS


      + + + + + + + + + + + + + + {% for t in patients %} + + + + + + + + + + + {% endfor %} + + + +
      NameProfileBlood GroupAgeDiseaseMobileAction
      {{t.get_name}} Profile Pic{{t.bloodgroup}}{{t.age}}{{t.disease}}{{t.mobile}} + + +
      +
      + + +{% endblock content %} diff --git a/templates/blood/admin_request.html b/templates/blood/admin_request.html new file mode 100644 index 00000000..2b05915f --- /dev/null +++ b/templates/blood/admin_request.html @@ -0,0 +1,61 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} +

      +
      + {% if requests %} +

      Blood Requested


      + {% if message %} +
      {{message}}

      +{% else %} + +{% endif %} + + + + + + + + + + + + + + + + {% for t in requests %} + + + + + + + + + + + + + + + {% endfor %} + + + +
      Patient NameAgeReasonBlood GroupUnit (in ml)DateStatusAction
      {{t.patient_name}}{{t.patient_age}}{{t.reason}}{{t.bloodgroup}}{{t.unit}}{{t.date}}{{t.status}} + + + + +
      +{% else %} +
      No Blood Request By Patient / Donor !
      +{% endif %} + +
      + + +{% endblock content %} diff --git a/templates/blood/admin_request_history.html b/templates/blood/admin_request_history.html new file mode 100644 index 00000000..6dcc4cba --- /dev/null +++ b/templates/blood/admin_request_history.html @@ -0,0 +1,72 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + +

      +
      +

      Blood Request History


      + {% if message %} +
      {{message}}

      +{% else %} + +{% endif %} + + + + + + + + + + + + + + + + + {% for t in requests %} + + + + + + + + + + {% if t.status == 'Approved' %} + + + {% else %} + + + {% endif %} + + + + + {% endfor %} + + + +
      Patient NameAgeReasonBlood GroupUnit (in ml)DateStatusStock Status
      {{t.patient_name}}{{t.patient_age}}{{t.reason}}{{t.bloodgroup}}{{t.unit}}{{t.date}} Approved {{t.unit}} Unit Deducted From StockRejected 0 Unit Deducted From Stock
      +
      + + +{% endblock content %} diff --git a/templates/blood/adminbase.html b/templates/blood/adminbase.html new file mode 100644 index 00000000..68c231c9 --- /dev/null +++ b/templates/blood/adminbase.html @@ -0,0 +1,210 @@ + + + + + + ADMIN + + + + + + + + + + +
      +

      +
      + +
      + + +{% block content %} + +{% endblock content %} + + + +
      +
      + + + + + + + + + \ No newline at end of file diff --git a/templates/blood/adminlogin.html b/templates/blood/adminlogin.html new file mode 100644 index 00000000..c669d10d --- /dev/null +++ b/templates/blood/adminlogin.html @@ -0,0 +1,76 @@ +{%load static%} +{% load widget_tweaks %} + + + + + + + + + + + + + + + + + {% include "blood/navbar.html" %} + + + + +
      +
      +


      +
      +
      +

      Admin Login

      +
      +
      +
      + {% csrf_token %} +
      +
      Username
      +
      +
      + + {% render_field form.username class="input--style-5"%} + +
      +
      +
      +
      +
      Password
      +
      +
      + + {% render_field form.password class="input--style-5" %} +
      +
      +
      + + + + +
      + +
      +
      +
      +
      +
      +
      + +{% include "blood/footer.html" %} + + + + + + + + diff --git a/templates/blood/footer.html b/templates/blood/footer.html new file mode 100644 index 00000000..e84eb2d5 --- /dev/null +++ b/templates/blood/footer.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/templates/blood/index.html b/templates/blood/index.html new file mode 100644 index 00000000..d144a7ce --- /dev/null +++ b/templates/blood/index.html @@ -0,0 +1,44 @@ +{% load static %} + + + + + + + + + + {% include "blood/navbar.html" %} +
      +
      +
      +













      + + +



      + +
      +
      + + +
      + +

      “Opportunities knock the door sometimes, so don’t let it go and donate blood.” +

      + +

      - LazyCoder

      + +
      + {% include "blood/footer.html" %} + + + + + diff --git a/templates/blood/logout.html b/templates/blood/logout.html new file mode 100644 index 00000000..48231fb7 --- /dev/null +++ b/templates/blood/logout.html @@ -0,0 +1,72 @@ +{%load static%} + + + + + + + + + {% include "blood/navbar.html" %} +




      +
      + + + +
      +
      +
      +
      +
      +
      + +
      +
      +
      + +

      You Have Been Logged Out

      +
      +
      +
      +

      Thank you for using our website

      + + +
      +
      + +
      +
      +
      + + +
      + + +
      + + +
      + +
      + +
      + + + + +
      +




      +


      +{% include "blood/footer.html" %} + + + diff --git a/templates/blood/navbar.html b/templates/blood/navbar.html new file mode 100644 index 00000000..20538da0 --- /dev/null +++ b/templates/blood/navbar.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + + \ No newline at end of file diff --git a/templates/blood/update_donor.html b/templates/blood/update_donor.html new file mode 100644 index 00000000..15f35f69 --- /dev/null +++ b/templates/blood/update_donor.html @@ -0,0 +1,127 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + + + + + + +
      +
      + +
      +
      +

      Update Donor

      +
      +
      +
      + {% csrf_token %} + +
      +
      First Name
      +
      +
      + {% render_field userForm.first_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Last Name
      +
      +
      + {% render_field userForm.last_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Username
      +
      +
      + {% render_field userForm.username|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Password
      +
      +
      + {% render_field userForm.password|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + + +
      +
      Address
      +
      +
      + {% render_field donorForm.address|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Mobile
      +
      +
      + {% render_field donorForm.mobile|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Profile Pic
      +
      +
      + {% render_field donorForm.profile_pic|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + +
      + +
      +
      +
      + + +
      +
      +
      +
      + +{% endblock content %} diff --git a/templates/blood/update_patient.html b/templates/blood/update_patient.html new file mode 100644 index 00000000..22cee42d --- /dev/null +++ b/templates/blood/update_patient.html @@ -0,0 +1,152 @@ +{% extends 'blood/adminbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + + + + + + +
      +
      + +
      +
      +

      Update Patient

      +
      +
      +
      + {% csrf_token %} + +
      +
      First Name
      +
      +
      + {% render_field userForm.first_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Last Name
      +
      +
      + {% render_field userForm.last_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Username
      +
      +
      + {% render_field userForm.username|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Password
      +
      +
      + {% render_field userForm.password|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Age
      +
      +
      + {% render_field patientForm.age|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + +
      +
      Disease(if any)
      +
      +
      + {% render_field patientForm.disease|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Doctor
      +
      +
      + {% render_field patientForm.doctorname|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Address
      +
      +
      + {% render_field patientForm.address|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Mobile
      +
      +
      + {% render_field patientForm.mobile|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Profile Pic
      +
      +
      + {% render_field patientForm.profile_pic|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + +
      + +
      +
      +
      + + +
      +
      +
      +
      + +{% endblock content %} diff --git a/templates/donor/donate_blood.html b/templates/donor/donate_blood.html new file mode 100644 index 00000000..6f07d45e --- /dev/null +++ b/templates/donor/donate_blood.html @@ -0,0 +1,89 @@ +{% extends 'donor/donorbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + + + + + + +
      +
      + +
      +
      +

      DONATE BLOOD

      +
      +
      +
      + {% csrf_token %} + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + +
      +
      Unit (in ml)
      +
      +
      + {% render_field donation_form.unit|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Disease (if any)
      +
      +
      + {% render_field donation_form.disease|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Age
      +
      +
      + {% render_field donation_form.age|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + + +
      + +
      +
      +
      + + +
      +
      +
      +
      + +{% endblock content %} diff --git a/templates/donor/donation_history.html b/templates/donor/donation_history.html new file mode 100644 index 00000000..5cf6672d --- /dev/null +++ b/templates/donor/donation_history.html @@ -0,0 +1,64 @@ +{% extends 'donor/donorbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + +

      +
      +

      My Donation History


      + + + + + + + + + + + + + + {% for t in donations %} + + + + + + + + + + {% if t.status == 'Approved' %} + + + {% elif t.status == 'Rejected' %} + + {% else %} + + {% endif %} + + + + {% endfor %} + + + +
      Donor AgeDisease (if any)Blood GroupUnitDateStatus
      {{t.age}} {{t.disease}}{{t.bloodgroup}}{{t.unit}}{{t.date}} ApprovedRejectedPending
      +
      + + +{% endblock content %} diff --git a/templates/donor/donor_dashboard.html b/templates/donor/donor_dashboard.html new file mode 100644 index 00000000..1c580f12 --- /dev/null +++ b/templates/donor/donor_dashboard.html @@ -0,0 +1,70 @@ +{% extends 'donor/donorbase.html' %} +{% block content %} +

      +
      + + +
      + +
      +
      +
      +
      + +

      +
      + Request Made
      + {{requestmade}} +
      +
      +
      +
      + +
      +
      +
      +
      + +

      +
      + Pending Request
      + {{requestpending}} +
      +
      +
      +
      + +
      +
      +
      +
      + +

      +
      + Approved Request
      + {{requestapproved}} +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Rejected Request
      + {{requestrejected}} +
      +
      +
      +
      + +
      + + +
      + + +{% endblock content %} diff --git a/templates/donor/donorbase.html b/templates/donor/donorbase.html new file mode 100644 index 00000000..98a2ce7a --- /dev/null +++ b/templates/donor/donorbase.html @@ -0,0 +1,209 @@ + + + + + + DONOR + + + + + + + + + + + +

      +
      + +
      + + +{% block content %} + +{% endblock content %} + + + +
      +
      + + + + + + + + + \ No newline at end of file diff --git a/templates/donor/donorlogin.html b/templates/donor/donorlogin.html new file mode 100644 index 00000000..3a0df87c --- /dev/null +++ b/templates/donor/donorlogin.html @@ -0,0 +1,76 @@ +{%load static%} +{% load widget_tweaks %} + + + + + + + + + + + + + + + + + {% include "blood/navbar.html" %} + + + + +
      +
      +


      +
      +
      +

      Donor Login

      +
      +
      +
      + {% csrf_token %} +
      +
      Username
      +
      +
      + {% render_field form.username class="input--style-5"%} +
      +
      +
      +
      +
      Password
      +
      +
      + {% render_field form.password class="input--style-5" %} +
      +
      +
      + + + + +
      + +
      +
      +
      +

      Does not have an account ? Click here to register

      + +
      +
      +
      +
      + +{% include "blood/footer.html" %} + + + + + + + + diff --git a/templates/donor/donorsignup.html b/templates/donor/donorsignup.html new file mode 100644 index 00000000..d26be225 --- /dev/null +++ b/templates/donor/donorsignup.html @@ -0,0 +1,151 @@ +{%load static%} +{% load widget_tweaks %} + + + + + + + + + + + + + + + + + + {% include "blood/navbar.html" %} + + + + +
      +
      +


      +
      +
      +

      Donor Signup

      +
      +
      +
      + {% csrf_token %} + +
      +
      First Name
      +
      +
      + {% render_field userForm.first_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Last Name
      +
      +
      + {% render_field userForm.last_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Username
      +
      +
      + {% render_field userForm.username|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Password
      +
      +
      + {% render_field userForm.password|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + + + +
      +
      Address
      +
      +
      + {% render_field donorForm.address|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Mobile
      +
      +
      + {% render_field donorForm.mobile|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Profile Pic
      +
      +
      + {% render_field donorForm.profile_pic|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + +
      + +
      +
      +
      +

      Already have an account ? Click here to login

      + +
      +
      +
      +
      + +{% include "blood/footer.html" %} + + + + + + + + diff --git a/templates/donor/makerequest.html b/templates/donor/makerequest.html new file mode 100644 index 00000000..3e97c8ca --- /dev/null +++ b/templates/donor/makerequest.html @@ -0,0 +1,99 @@ +{% extends 'donor/donorbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + + + + + + +
      +
      + +
      +
      +

      MAKE BLOOD REQUEST

      +
      +
      +
      + {% csrf_token %} + +
      +
      Patient Name
      +
      +
      + {% render_field request_form.patient_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Patient Age
      +
      +
      + {% render_field request_form.patient_age|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Reason
      +
      +
      + {% render_field request_form.reason|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + +
      +
      Unit (in ml)
      +
      +
      + {% render_field request_form.unit|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + + + +
      + +
      +
      +
      + + +
      +
      +
      +
      + +{% endblock content %} diff --git a/templates/donor/request_history.html b/templates/donor/request_history.html new file mode 100644 index 00000000..aba403d6 --- /dev/null +++ b/templates/donor/request_history.html @@ -0,0 +1,64 @@ +{% extends 'donor/donorbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + +

      +
      +

      My Blood Request


      + + + + + + + + + + + + + + + {% for t in blood_request %} + + + + + + + + + {% if t.status == 'Approved' %} + + + {% elif t.status == 'Rejected' %} + + {% else %} + + {% endif %} + + + + {% endfor %} + + + +
      Patient NamePatient AgeReasonBlood GroupUnitDateStatus
      {{t.patient_name}}{{t.patient_age}}{{t.reason}}{{t.bloodgroup}}{{t.unit}}{{t.date}} ApprovedRejectedPending
      +
      + + +{% endblock content %} diff --git a/templates/patient/makerequest.html b/templates/patient/makerequest.html new file mode 100644 index 00000000..4b1e282f --- /dev/null +++ b/templates/patient/makerequest.html @@ -0,0 +1,99 @@ +{% extends 'patient/patientbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + + + + + + +
      +
      + +
      +
      +

      MAKE BLOOD REQUEST

      +
      +
      +
      + {% csrf_token %} + +
      +
      Patient Name
      +
      +
      + {% render_field request_form.patient_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Patient Age
      +
      +
      + {% render_field request_form.patient_age|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Reason
      +
      +
      + {% render_field request_form.reason|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + +
      +
      Unit (in ml)
      +
      +
      + {% render_field request_form.unit|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + + + +
      + +
      +
      +
      + + +
      +
      +
      +
      + +{% endblock content %} diff --git a/templates/patient/my_request.html b/templates/patient/my_request.html new file mode 100644 index 00000000..aa2f0953 --- /dev/null +++ b/templates/patient/my_request.html @@ -0,0 +1,64 @@ +{% extends 'patient/patientbase.html' %} +{% block content %} +{% load widget_tweaks %} +{%load static%} + + + +

      +
      +

      My Blood Request


      + + + + + + + + + + + + + + + {% for t in blood_request %} + + + + + + + + + {% if t.status == 'Approved' %} + + + {% elif t.status == 'Rejected' %} + + {% else %} + + {% endif %} + + + + {% endfor %} + + + +
      Patient NamePatient AgeReasonBlood GroupUnitDateStatus
      {{t.patient_name}}{{t.patient_age}}{{t.reason}}{{t.bloodgroup}}{{t.unit}}{{t.date}} ApprovedRejectedPending
      +
      + + +{% endblock content %} diff --git a/templates/patient/patient_dashboard.html b/templates/patient/patient_dashboard.html new file mode 100644 index 00000000..f49be68c --- /dev/null +++ b/templates/patient/patient_dashboard.html @@ -0,0 +1,75 @@ +{% extends 'patient/patientbase.html' %} +{% block content %} + + + +

      +
      + + +
      +
      +
      +
      +
      + +

      +
      + Request Made
      + {{requestmade}} +
      +
      +
      +
      + +
      +
      +
      +
      + +

      +
      + Pending Request
      + {{requestpending}} +
      +
      +
      +
      + +
      +
      +
      +
      + +

      +
      + Approved Request
      + {{requestapproved}} +
      +
      +
      +
      +
      +
      +
      +
      + +

      +
      + Rejected Request
      + {{requestrejected}} +
      +
      +
      +
      + +
      +
      + + +{% endblock content %} diff --git a/templates/patient/patientbase.html b/templates/patient/patientbase.html new file mode 100644 index 00000000..e19f2e01 --- /dev/null +++ b/templates/patient/patientbase.html @@ -0,0 +1,206 @@ + + + + + + PATIENT + + + + + + + + + + + +

      +
      + +
      + + +{% block content %} + +{% endblock content %} + + + +
      +
      + + + + + + + + + \ No newline at end of file diff --git a/templates/patient/patientlogin.html b/templates/patient/patientlogin.html new file mode 100644 index 00000000..0b9f72c7 --- /dev/null +++ b/templates/patient/patientlogin.html @@ -0,0 +1,77 @@ +{%load static%} +{% load widget_tweaks %} + + + + + + + + + + + + + + + + + {% include "blood/navbar.html" %} + + + + +
      +
      +


      +
      +
      +

      Patient Login

      +
      +
      +
      + {% csrf_token %} +
      +
      Username
      +
      +
      + {% render_field form.username class="input--style-5"%} + +
      +
      +
      +
      +
      Password
      +
      +
      + {% render_field form.password class="input--style-5" %} +
      +
      +
      + + + + +
      + +
      +
      +
      +

      Does not have an account ? Click here to register

      + +
      +
      +
      +
      + +{% include "blood/footer.html" %} + + + + + + + + diff --git a/templates/patient/patientsignup.html b/templates/patient/patientsignup.html new file mode 100644 index 00000000..c48c51f7 --- /dev/null +++ b/templates/patient/patientsignup.html @@ -0,0 +1,176 @@ +{%load static%} +{% load widget_tweaks %} + + + + + + + + + + + + + + + + + + {% include "blood/navbar.html" %} + + + + +
      +
      +


      +
      +
      +

      Patient Signup

      +
      +
      +
      + {% csrf_token %} + +
      +
      First Name
      +
      +
      + {% render_field userForm.first_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Last Name
      +
      +
      + {% render_field userForm.last_name|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Username
      +
      +
      + {% render_field userForm.username|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Password
      +
      +
      + {% render_field userForm.password|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Age
      +
      +
      + {% render_field patientForm.age|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + +
      +
      Blood Group
      +
      +
      + +
      +
      +
      + +
      +
      Disease
      +
      +
      + {% render_field patientForm.disease|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Doctor Name
      +
      +
      + {% render_field patientForm.doctorname|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Address
      +
      +
      + {% render_field patientForm.address|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Mobile
      +
      +
      + {% render_field patientForm.mobile|attr:'required:true' class="input--style-5" %} +
      +
      +
      + +
      +
      Profile Pic
      +
      +
      + {% render_field patientForm.profile_pic|attr:'required:true' class="input--style-5" %} +
      +
      +
      + + + + + +
      + +
      +
      +
      +

      Already have an account ? Click here to login

      + +
      +
      +
      +
      + +{% include "blood/footer.html" %} + + + + + + + +