├── .gitignore ├── .idea ├── .gitignore ├── LMS.iml ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml └── modules.xml ├── LICENSE ├── LMS ├── LMS │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-39.pyc │ │ ├── settings.cpython-39.pyc │ │ ├── urls.cpython-39.pyc │ │ └── wsgi.cpython-39.pyc │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── db.sqlite3 ├── library │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-39.pyc │ │ ├── admin.cpython-39.pyc │ │ ├── apps.cpython-39.pyc │ │ ├── forms.cpython-39.pyc │ │ ├── models.cpython-39.pyc │ │ ├── urls.cpython-39.pyc │ │ └── views.cpython-39.pyc │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_book_issue_return_date.py │ │ ├── 0003_auto_20220903_2323.py │ │ ├── 0004_auto_20220903_2324.py │ │ ├── 0005_alter_book_issue_return_date.py │ │ ├── 0006_auto_20220904_0745.py │ │ ├── 0007_auto_20220904_1532.py │ │ ├── 0008_auto_20220905_2104.py │ │ ├── 0009_alter_book_issue_return_date.py │ │ ├── 0010_alter_book_issue_return_date.py │ │ ├── 0011_auto_20220907_1223.py │ │ ├── 0012_auto_20220908_1708.py │ │ ├── 0013_auto_20220908_2011.py │ │ ├── 0014_alter_book_issue_due_date.py │ │ ├── 0015_alter_book_issue_due_date.py │ │ ├── 0016_alter_book_issue_due_date.py │ │ ├── 0017_alter_book_issue_due_date.py │ │ ├── 0018_auto_20220910_0920.py │ │ ├── __init__.py │ │ └── __pycache__ │ │ │ ├── 0001_initial.cpython-39.pyc │ │ │ └── __init__.cpython-39.pyc │ ├── models.py │ ├── static │ │ ├── css │ │ │ ├── all.css │ │ │ ├── bootstrap.min.css │ │ │ └── style.css │ │ ├── icon │ │ │ ├── LICENSE.txt │ │ │ ├── css │ │ │ │ └── all.css │ │ │ └── webfonts │ │ │ │ ├── fa-brands-400.eot │ │ │ │ ├── fa-brands-400.svg │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ ├── fa-brands-400.woff │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ ├── fa-regular-400.eot │ │ │ │ ├── fa-regular-400.svg │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ ├── fa-regular-400.woff │ │ │ │ ├── fa-regular-400.woff2 │ │ │ │ ├── fa-solid-900.eot │ │ │ │ ├── fa-solid-900.svg │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ ├── fa-solid-900.woff │ │ │ │ └── fa-solid-900.woff2 │ │ ├── images │ │ │ ├── Quotes │ │ │ │ ├── Quote-1.jpeg │ │ │ │ ├── Quote-10.png │ │ │ │ ├── Quote-11.png │ │ │ │ ├── Quote-12.png │ │ │ │ ├── Quote-2.png │ │ │ │ ├── Quote-3.jpeg │ │ │ │ ├── Quote-4.png │ │ │ │ ├── Quote-5.png │ │ │ │ ├── Quote-6.png │ │ │ │ ├── Quote-7.png │ │ │ │ ├── Quote-8.png │ │ │ │ └── Quote-9.png │ │ │ └── bg_library.jpg │ │ └── js │ │ │ ├── bootstrap.min.js │ │ │ └── jquery.min.js │ ├── templates │ │ ├── add_book_issue.html │ │ ├── add_new_book.html │ │ ├── add_new_student.html │ │ ├── base.html │ │ ├── edit_student_data.html │ │ ├── index.html │ │ ├── issue_records.html │ │ ├── view_books.html │ │ └── view_students.html │ ├── tests.py │ ├── urls.py │ └── views.py └── manage.py ├── Library Management System ├── README.md └── main.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/LMS.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Agha Muqarib Khan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LMS/LMS/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/LMS/__init__.py -------------------------------------------------------------------------------- /LMS/LMS/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/LMS/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/LMS/__pycache__/settings.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/LMS/__pycache__/settings.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/LMS/__pycache__/urls.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/LMS/__pycache__/urls.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/LMS/__pycache__/wsgi.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/LMS/__pycache__/wsgi.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/LMS/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for LMS project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'LMS.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /LMS/LMS/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for LMS project. 3 | 4 | Generated by 'django-admin startproject' using Django 3.2.8. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/3.2/ref/settings/ 11 | """ 12 | 13 | from pathlib import Path 14 | import os 15 | 16 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 17 | BASE_DIR = Path(__file__).resolve().parent.parent 18 | 19 | 20 | # Quick-start development settings - unsuitable for production 21 | # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ 22 | 23 | # SECURITY WARNING: keep the secret key used in production secret! 24 | SECRET_KEY = 'django-insecure-cmap$+ara@#wfb=84l9kqsvm*$$wxyq8m385z4p_k@wgtypq=^' 25 | 26 | # SECURITY WARNING: don't run with debug turned on in production! 27 | DEBUG = True 28 | 29 | ALLOWED_HOSTS = [] 30 | 31 | 32 | # Application definition 33 | 34 | INSTALLED_APPS = [ 35 | 'django.contrib.admin', 36 | 'django.contrib.auth', 37 | 'django.contrib.contenttypes', 38 | 'django.contrib.sessions', 39 | 'django.contrib.messages', 40 | 'django.contrib.staticfiles', 41 | 'library', 42 | ] 43 | 44 | MIDDLEWARE = [ 45 | 'django.middleware.security.SecurityMiddleware', 46 | 'django.contrib.sessions.middleware.SessionMiddleware', 47 | 'django.middleware.common.CommonMiddleware', 48 | 'django.middleware.csrf.CsrfViewMiddleware', 49 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 50 | 'django.contrib.messages.middleware.MessageMiddleware', 51 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 52 | ] 53 | 54 | ROOT_URLCONF = 'LMS.urls' 55 | 56 | TEMPLATES = [ 57 | { 58 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 59 | 'DIRS': [], 60 | 'APP_DIRS': True, 61 | 'OPTIONS': { 62 | 'context_processors': [ 63 | 'django.template.context_processors.debug', 64 | 'django.template.context_processors.request', 65 | 'django.contrib.auth.context_processors.auth', 66 | 'django.contrib.messages.context_processors.messages', 67 | ], 68 | }, 69 | }, 70 | ] 71 | 72 | WSGI_APPLICATION = 'LMS.wsgi.application' 73 | 74 | 75 | # Database 76 | # https://docs.djangoproject.com/en/3.2/ref/settings/#databases 77 | 78 | DATABASES = { 79 | 'default': { 80 | 'ENGINE': 'django.db.backends.sqlite3', 81 | 'NAME': BASE_DIR / 'db.sqlite3', 82 | } 83 | } 84 | 85 | 86 | # Password validation 87 | # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators 88 | 89 | AUTH_PASSWORD_VALIDATORS = [ 90 | { 91 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 92 | }, 93 | { 94 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 95 | }, 96 | { 97 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 98 | }, 99 | { 100 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 101 | }, 102 | ] 103 | 104 | 105 | # Internationalization 106 | # https://docs.djangoproject.com/en/3.2/topics/i18n/ 107 | 108 | LANGUAGE_CODE = 'en-us' 109 | 110 | TIME_ZONE = 'UTC' 111 | 112 | USE_I18N = True 113 | 114 | USE_L10N = True 115 | 116 | USE_TZ = True 117 | 118 | 119 | # Static files (CSS, JavaScript, Images) 120 | # https://docs.djangoproject.com/en/3.2/howto/static-files/ 121 | 122 | STATIC_URL = '/static/' 123 | STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),] 124 | 125 | # Default primary key field type 126 | # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field 127 | 128 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 129 | -------------------------------------------------------------------------------- /LMS/LMS/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path, include 2 | urlpatterns = [ 3 | path('', include('library.urls')) 4 | ] -------------------------------------------------------------------------------- /LMS/LMS/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for LMS project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'LMS.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /LMS/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/db.sqlite3 -------------------------------------------------------------------------------- /LMS/library/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__init__.py -------------------------------------------------------------------------------- /LMS/library/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/admin.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/admin.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/apps.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/apps.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/forms.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/forms.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/models.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/models.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/urls.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/urls.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/__pycache__/views.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/__pycache__/views.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /LMS/library/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class LibraryConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'library' 7 | -------------------------------------------------------------------------------- /LMS/library/forms.py: -------------------------------------------------------------------------------- 1 | from django import forms 2 | from .models import Students, Book, Book_Issue,BookInstance 3 | 4 | class StudentsForm(forms.ModelForm): 5 | class Meta: 6 | model = Students 7 | fields = '__all__' 8 | 9 | class BookForm(forms.ModelForm): 10 | class Meta: 11 | model = Book 12 | fields = '__all__' 13 | 14 | class Book_instanceForm(forms.ModelForm): 15 | class Meta: 16 | model=BookInstance 17 | fields = ['book','book_number'] 18 | 19 | class Book_IssueForm(forms.ModelForm): 20 | class Meta: 21 | model=Book_Issue 22 | exclude = ['issue_date', 'due_date','remarks_on_return','date_returned'] -------------------------------------------------------------------------------- /LMS/library/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.8 on 2021-10-19 09:44 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | import django.db.models.deletion 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | initial = True 11 | 12 | dependencies = [ 13 | ] 14 | 15 | operations = [ 16 | migrations.CreateModel( 17 | name='Book', 18 | fields=[ 19 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 20 | ('book_title', models.CharField(max_length=200)), 21 | ('book_author', models.CharField(max_length=100)), 22 | ('book_pages', models.IntegerField(max_length=1000)), 23 | ], 24 | ), 25 | migrations.CreateModel( 26 | name='Students', 27 | fields=[ 28 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 29 | ('std_rn', models.CharField(max_length=100)), 30 | ('std_name', models.CharField(max_length=100)), 31 | ('std_address', models.CharField(max_length=100)), 32 | ('std_study_pro', models.CharField(max_length=100)), 33 | ], 34 | ), 35 | migrations.CreateModel( 36 | name='Book_Issue', 37 | fields=[ 38 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 39 | ('issue_date', models.DateTimeField(auto_now=True)), 40 | ('return_date', models.DateTimeField(default=datetime.datetime(2021, 10, 27, 9, 44, 34, 986902))), 41 | ('remarks', models.CharField(default='Some Remarks', max_length=100)), 42 | ('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='library.book')), 43 | ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='library.students')), 44 | ], 45 | ), 46 | ] 47 | -------------------------------------------------------------------------------- /LMS/library/migrations/0002_alter_book_issue_return_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-03 06:41 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='return_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 11, 6, 41, 32, 433795)), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0003_auto_20220903_2323.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-03 23:23 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0002_alter_book_issue_return_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book', 16 | name='book_pages', 17 | field=models.IntegerField(max_length=100), 18 | ), 19 | migrations.AlterField( 20 | model_name='book_issue', 21 | name='return_date', 22 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 11, 23, 23, 1, 769824)), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /LMS/library/migrations/0004_auto_20220903_2324.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-03 23:24 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0003_auto_20220903_2323'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book', 16 | name='book_pages', 17 | field=models.IntegerField(), 18 | ), 19 | migrations.AlterField( 20 | model_name='book_issue', 21 | name='return_date', 22 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 11, 23, 24, 3, 991491)), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /LMS/library/migrations/0005_alter_book_issue_return_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-03 23:25 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0004_auto_20220903_2324'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='return_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 11, 23, 25, 4, 271802)), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0006_auto_20220904_0745.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-04 07:45 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0005_alter_book_issue_return_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RenameField( 15 | model_name='students', 16 | old_name='std_address', 17 | new_name='address', 18 | ), 19 | migrations.RenameField( 20 | model_name='students', 21 | old_name='std_name', 22 | new_name='fullname', 23 | ), 24 | migrations.RenameField( 25 | model_name='students', 26 | old_name='std_rn', 27 | new_name='program', 28 | ), 29 | migrations.RenameField( 30 | model_name='students', 31 | old_name='std_study_pro', 32 | new_name='roll_number', 33 | ), 34 | migrations.AddField( 35 | model_name='book', 36 | name='summary', 37 | field=models.TextField(blank=True, help_text='Summary about the book', max_length=500, null=True), 38 | ), 39 | migrations.AddField( 40 | model_name='book_issue', 41 | name='borrowed', 42 | field=models.BooleanField(default=False), 43 | ), 44 | migrations.AddField( 45 | model_name='book_issue', 46 | name='returned', 47 | field=models.BooleanField(default=True), 48 | ), 49 | migrations.AddField( 50 | model_name='students', 51 | name='Guardian_name', 52 | field=models.CharField(default='Guardian name', help_text='parent/guardian full name', max_length=100), 53 | preserve_default=False, 54 | ), 55 | migrations.AlterField( 56 | model_name='book_issue', 57 | name='return_date', 58 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 12, 7, 44, 40, 874707)), 59 | ), 60 | ] 61 | -------------------------------------------------------------------------------- /LMS/library/migrations/0007_auto_20220904_1532.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-04 15:32 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0006_auto_20220904_0745'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AddField( 15 | model_name='students', 16 | name='Email', 17 | field=models.EmailField(default='none@gmail.com', help_text='Guardian/parent e-mail', max_length=100), 18 | preserve_default=False, 19 | ), 20 | migrations.AlterField( 21 | model_name='book_issue', 22 | name='return_date', 23 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 12, 15, 30, 2, 352794)), 24 | ), 25 | ] 26 | -------------------------------------------------------------------------------- /LMS/library/migrations/0008_auto_20220905_2104.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-05 21:04 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0007_auto_20220904_1532'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='return_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 13, 21, 4, 34, 312252)), 18 | ), 19 | migrations.AlterField( 20 | model_name='students', 21 | name='roll_number', 22 | field=models.CharField(max_length=100, unique=True), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /LMS/library/migrations/0009_alter_book_issue_return_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-05 21:35 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0008_auto_20220905_2104'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='return_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 13, 21, 35, 1, 529061)), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0010_alter_book_issue_return_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-05 22:18 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0009_alter_book_issue_return_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='return_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 13, 22, 18, 18, 203882)), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0011_auto_20220907_1223.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-07 12:23 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0010_alter_book_issue_return_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.RenameField( 15 | model_name='book_issue', 16 | old_name='borrowed', 17 | new_name='Is_borrowed', 18 | ), 19 | migrations.RemoveField( 20 | model_name='book_issue', 21 | name='returned', 22 | ), 23 | migrations.AlterField( 24 | model_name='book_issue', 25 | name='return_date', 26 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 15, 12, 23, 54, 414185)), 27 | ), 28 | ] 29 | -------------------------------------------------------------------------------- /LMS/library/migrations/0012_auto_20220908_1708.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-08 17:08 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | import django.db.models.deletion 6 | import uuid 7 | 8 | 9 | class Migration(migrations.Migration): 10 | 11 | dependencies = [ 12 | ('library', '0011_auto_20220907_1223'), 13 | ] 14 | 15 | operations = [ 16 | migrations.RemoveField( 17 | model_name='book_issue', 18 | name='Is_borrowed', 19 | ), 20 | migrations.RemoveField( 21 | model_name='book_issue', 22 | name='book', 23 | ), 24 | migrations.RemoveField( 25 | model_name='book_issue', 26 | name='remarks', 27 | ), 28 | migrations.RemoveField( 29 | model_name='book_issue', 30 | name='return_date', 31 | ), 32 | migrations.AddField( 33 | model_name='book_issue', 34 | name='date_returned', 35 | field=models.DateField(blank=True, help_text='Date the book is returned', null=True), 36 | ), 37 | migrations.AddField( 38 | model_name='book_issue', 39 | name='due_date', 40 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 16, 17, 8, 45, 905171), help_text='Date the book is due to'), 41 | ), 42 | migrations.AddField( 43 | model_name='book_issue', 44 | name='remarks_on_issue', 45 | field=models.CharField(default='Some Remarks', help_text='Book remarks/condition during issue', max_length=100), 46 | ), 47 | migrations.AddField( 48 | model_name='book_issue', 49 | name='remarks_on_return', 50 | field=models.CharField(default='Some Remarks', help_text='Book remarks/condition during return', max_length=100), 51 | ), 52 | migrations.AlterField( 53 | model_name='book_issue', 54 | name='issue_date', 55 | field=models.DateTimeField(auto_now=True, help_text='Date the book is issued'), 56 | ), 57 | migrations.CreateModel( 58 | name='BookInstance', 59 | fields=[ 60 | ('id', models.UUIDField(default=uuid.uuid4, help_text='Book unique id across the Library', primary_key=True, serialize=False)), 61 | ('Is_borrowed', models.BooleanField(default=False)), 62 | ('book', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='library.book')), 63 | ], 64 | ), 65 | migrations.AddField( 66 | model_name='book_issue', 67 | name='book_instance', 68 | field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='library.bookinstance'), 69 | preserve_default=False, 70 | ), 71 | ] 72 | -------------------------------------------------------------------------------- /LMS/library/migrations/0013_auto_20220908_2011.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-08 20:11 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0012_auto_20220908_1708'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AddField( 15 | model_name='bookinstance', 16 | name='book_number', 17 | field=models.PositiveIntegerField(help_text='Book number', null=True), 18 | ), 19 | migrations.AlterField( 20 | model_name='book', 21 | name='book_pages', 22 | field=models.PositiveIntegerField(), 23 | ), 24 | migrations.AlterField( 25 | model_name='book_issue', 26 | name='due_date', 27 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 16, 20, 11, 6, 390132), help_text='Date the book is due to'), 28 | ), 29 | ] 30 | -------------------------------------------------------------------------------- /LMS/library/migrations/0014_alter_book_issue_due_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-08 20:29 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0013_auto_20220908_2011'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='due_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 16, 20, 29, 18, 163085), help_text='Date the book is due to'), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0015_alter_book_issue_due_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-08 20:31 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0014_alter_book_issue_due_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='due_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 16, 20, 31, 15, 598860), help_text='Date the book is due to'), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0016_alter_book_issue_due_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-09 09:05 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0015_alter_book_issue_due_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='due_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 17, 9, 5, 47, 42218), help_text='Date the book is due to'), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0017_alter_book_issue_due_date.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-09 09:13 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0016_alter_book_issue_due_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='due_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 17, 9, 13, 48, 664054), help_text='Date the book is due to'), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /LMS/library/migrations/0018_auto_20220910_0920.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.12 on 2022-09-10 09:20 2 | 3 | import datetime 4 | from django.db import migrations, models 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('library', '0017_alter_book_issue_due_date'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='book_issue', 16 | name='due_date', 17 | field=models.DateTimeField(default=datetime.datetime(2022, 9, 18, 9, 20, 53, 551953), help_text='Date the book is due to'), 18 | ), 19 | migrations.AlterField( 20 | model_name='book_issue', 21 | name='remarks_on_issue', 22 | field=models.CharField(default='Book in good condition', help_text='Book remarks/condition during issue', max_length=100), 23 | ), 24 | migrations.AlterField( 25 | model_name='book_issue', 26 | name='remarks_on_return', 27 | field=models.CharField(default='Book in good condition', help_text='Book remarks/condition during return', max_length=100), 28 | ), 29 | ] 30 | -------------------------------------------------------------------------------- /LMS/library/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/migrations/__init__.py -------------------------------------------------------------------------------- /LMS/library/migrations/__pycache__/0001_initial.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/migrations/__pycache__/0001_initial.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/migrations/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/migrations/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /LMS/library/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from datetime import datetime,timedelta 3 | import uuid 4 | 5 | class Students(models.Model): 6 | roll_number = models.CharField(max_length=100,unique=True) 7 | fullname = models.CharField(max_length=100) 8 | address = models.CharField(max_length=100) 9 | program = models.CharField(max_length=100) 10 | Guardian_name=models.CharField(max_length=100,help_text="parent/guardian full name") 11 | Email=models.EmailField(max_length=100,help_text="Guardian/parent e-mail") 12 | def __str__(self): 13 | return self.fullname 14 | 15 | class Book(models.Model): 16 | book_title = models.CharField(max_length=200) 17 | book_author = models.CharField(max_length=100) 18 | book_pages = models.PositiveIntegerField() 19 | summary=models.TextField(max_length=500, help_text="Summary about the book",null=True,blank=True) 20 | def __str__(self): 21 | return self.book_title 22 | 23 | class BookInstance(models.Model): 24 | id=models.UUIDField(primary_key=True,default=uuid.uuid4,help_text="Book unique id across the Library") 25 | book=models.ForeignKey('Book', on_delete=models.CASCADE,null=True) 26 | book_number=models.PositiveIntegerField(null=True,help_text="Book number for books of the save kind") 27 | Is_borrowed = models.BooleanField(default=False) 28 | def __str__(self): 29 | return f"{self.id} {self.book}" 30 | 31 | def get_returndate(): 32 | return datetime.today() + timedelta(days=8) 33 | 34 | class Book_Issue(models.Model): 35 | student = models.ForeignKey('Students', on_delete=models.CASCADE) 36 | book_instance = models.ForeignKey('BookInstance', on_delete=models.CASCADE) 37 | issue_date = models.DateTimeField(auto_now=True,help_text="Date the book is issued") 38 | due_date = models.DateTimeField(default=get_returndate(),help_text="Date the book is due to") 39 | date_returned=models.DateField(null=True, blank=True,help_text="Date the book is returned") 40 | remarks_on_issue = models.CharField(max_length=100, default="Book in good condition", help_text="Book remarks/condition during issue") 41 | remarks_on_return = models.CharField(max_length=100, default="Book in good condition", help_text="Book remarks/condition during return") 42 | 43 | def __str__(self): 44 | return self.student.fullname + " borrowed " + self.book.book_title -------------------------------------------------------------------------------- /LMS/library/static/css/style.css: -------------------------------------------------------------------------------- 1 | form{ 2 | margin-left:30%; 3 | border: black solid 5px; 4 | border-radius:8px; 5 | background-color: rgb(167, 183, 183); 6 | padding:10px; 7 | width: 45%; 8 | } 9 | #view_searched{ 10 | display:none; 11 | position: absolute; 12 | margin-left:2%; 13 | border-radius:5px ; 14 | font-size: 2rem; 15 | background-color: rgba(240, 245, 245, 0.944); 16 | 17 | } 18 | .search{ 19 | padding:5px; 20 | } 21 | #student_search_input{ 22 | width:30%; 23 | } 24 | 25 | li{ 26 | padding:2px; 27 | margin-left:3px; 28 | } 29 | #new_book ,#new_book_instance{ 30 | display:none; 31 | } 32 | .tablinks{ 33 | background-color: rgb(167, 183, 183); 34 | width:30%; 35 | margin-left:35%; 36 | padding:2px; 37 | border-radius:5px; 38 | } 39 | .tablinks button{ 40 | padding:10px; 41 | color:black; 42 | /* background-color: */ 43 | } 44 | #book_searched{ 45 | display:none; 46 | } 47 | 48 | #student_selection div{ 49 | float:left; 50 | padding-left:4px; 51 | } 52 | #quick_student_search_view, #quick_book_search_view{ 53 | display:none; 54 | position:fixed; 55 | background-color:rgb(220, 217, 217); 56 | overflow: auto; 57 | border-radius:5px; 58 | padding:3px; 59 | 60 | /* background-color: rgb(0,0,0); */ 61 | } 62 | #quick_student_search_view label, #quick_book_search_view label{ 63 | display:block; 64 | color:rgb(48, 77, 77); 65 | padding:2px; 66 | } 67 | #student_selection{ 68 | margin-left:5%; 69 | } 70 | #additional_data, #multi{ 71 | display:none; 72 | } -------------------------------------------------------------------------------- /LMS/library/static/icon/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font Awesome Free License 2 | ------------------------- 3 | 4 | Font Awesome Free is free, open source, and GPL friendly. You can use it for 5 | commercial projects, open source projects, or really almost whatever you want. 6 | Full Font Awesome Free license: https://fontawesome.com/license/free. 7 | 8 | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) 9 | In the Font Awesome Free download, the CC BY 4.0 license applies to all icons 10 | packaged as SVG and JS file types. 11 | 12 | # Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) 13 | In the Font Awesome Free download, the SIL OFL license applies to all icons 14 | packaged as web and desktop font files. 15 | 16 | # Code: MIT License (https://opensource.org/licenses/MIT) 17 | In the Font Awesome Free download, the MIT license applies to all non-font and 18 | non-icon files. 19 | 20 | # Attribution 21 | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font 22 | Awesome Free files already contain embedded comments with sufficient 23 | attribution, so you shouldn't need to do anything additional when using these 24 | files normally. 25 | 26 | We've kept attribution comments terse, so we ask that you do not actively work 27 | to remove them from files, especially code. They're a great way for folks to 28 | learn about Font Awesome. 29 | 30 | # Brand Icons 31 | All brand icons are trademarks of their respective owners. The use of these 32 | trademarks does not indicate endorsement of the trademark holder by Font 33 | Awesome, nor vice versa. **Please do not use brand logos for any purpose except 34 | to represent the company, product, or service to which they refer.** 35 | -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /LMS/library/static/icon/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/icon/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-1.jpeg -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-10.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-11.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-12.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-2.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-3.jpeg -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-4.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-5.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-6.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-7.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-8.png -------------------------------------------------------------------------------- /LMS/library/static/images/Quotes/Quote-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/Quotes/Quote-9.png -------------------------------------------------------------------------------- /LMS/library/static/images/bg_library.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Agha-Muqarib/Library-Management-System/6cb91d0d64b7e31d9bd88e7e049e99d80835f5a3/LMS/library/static/images/bg_library.jpg -------------------------------------------------------------------------------- /LMS/library/static/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.4.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2019 Twitter, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(idocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-dc.width?"left":"left"==s&&l.left-ha.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(n[t+1]===undefined||e .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="x",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"",""],col:[2,"",""],tr:[2,"",""],td:[3,"",""],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0Add Book Issue 2 | {% extends 'base.html' %} 3 | 4 | 5 | {% block content %} 6 | 7 | 8 | {% csrf_token %} 9 | Student Details(Name) 10 | 11 | {{form.student}} 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Book Details(Name/UUID) 21 | 22 | 23 | 24 | 25 | 26 | --------- 27 | {%for i in book%} 28 | {{i.book.book_title}} (: {{i.id}}) 29 | {%endfor%} 30 | 31 | 32 | 33 | Remarks {{form.remarks_on_issue}} 34 | 35 | Issue Book 36 | 37 | 38 | 39 | 40 | 114 | {% endblock %} 115 | 116 |