From fd53b1e1f73975a316e95b58ba420a8c156b497e Mon Sep 17 00:00:00 2001 From: Harshvardhan Singh <73544247+Lawful2002@users.noreply.github.com> Date: Sat, 4 Mar 2023 13:01:04 +0530 Subject: [PATCH 001/141] (ac-4): week 4: fixed HOD leave module and some bugs in the student leave module. (#1100) --- FusionIIIT/applications/leave/forms.py | 77 ++++++++++++++++++----- FusionIIIT/applications/leave/handlers.py | 12 +++- FusionIIIT/applications/leave/helpers.py | 49 +++++++++------ FusionIIIT/applications/leave/models.py | 2 +- 4 files changed, 100 insertions(+), 40 deletions(-) diff --git a/FusionIIIT/applications/leave/forms.py b/FusionIIIT/applications/leave/forms.py index 73d939b89..ca503a78d 100644 --- a/FusionIIIT/applications/leave/forms.py +++ b/FusionIIIT/applications/leave/forms.py @@ -21,7 +21,7 @@ class StudentApplicationForm(forms.Form): end_date = forms.DateField(label='To') purpose = forms.CharField(label='Purpose', widget=forms.TextInput) address = forms.CharField(label='Address') - document = forms.FileField(label='Related Document', required=False) + document = forms.FileField(label='Related Document', required=False, widget=forms.ClearableFileInput(attrs={'multiple': True})) def __init__(self, *args, **kwargs): if 'user' in kwargs: @@ -32,32 +32,60 @@ def clean(self, *args, **kwargs): super(StudentApplicationForm, self).clean(*args, **kwargs) data = self.cleaned_data errors = dict() + + today = timezone.now().date() - """if data.get('start_date') < today: + if data.get('start_date') < today: errors['start_date'] = ['Past Dates are not allowed'] if data.get('end_date') < today: errors['end_date'] = ['Past Dates are not allowed'] -""" + + try: + fileS = data.get('document').size + if int(fileS) > 2048000: + errors['document'] = ['Documents must not be greater than 2Mb'] + except: + pass + + lt = LeaveType.objects.filter(name=data.get('leave_type')).first() + # if lt is None, use default + if lt is None: + lt = LeaveType() + if lt.requires_proof and not data.get('document'): errors['document'] = [f'{lt.name} Leave requires document proof'] - if data.get('start_date') > data.get('end_date'): - if 'start_date' in errors: - errors['start_date'].append('Start Date must be less than End Date') - else: - errors['start_date'] = ['Start Date must be less than End Date'] + try: + if data.get('start_date') > data.get('end_date'): + if 'start_date' in errors: + errors['start_date'].append('Start Date must be less than End Date') + else: + errors['start_date'] = ['Start Date must be less than End Date'] + except: + pass + + try: + leave_type = LeaveType.objects.get(name=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() - leave_type = LeaveType.objects.get(name=data.get('leave_type')) count = get_leave_days(data.get('start_date'), data.get('end_date'), leave_type, False, False) - remaining_leaves = LeavesCount.objects.get(user=self.user, leave_type=leave_type) \ + try: + remaining_leaves = LeavesCount.objects.get(user=self.user, leave_type=leave_type) \ .remaining_leaves - if remaining_leaves < count: - errors['leave_type'] = f'You have only {remaining_leaves} {leave_type.name} leaves' \ - ' remaining.' + except LeavesCount.DoesNotExist: + remaining_leaves = LeavesCount().remaining_leaves + + try: + if remaining_leaves < count: + errors['leave_type'] = f'You have only {remaining_leaves} {leave_type.name} leaves' \ + ' remaining.' + except: + pass raise VE(errors) @@ -117,7 +145,11 @@ def clean(self, *args, **kwargs): errors = dict() def check_special_leave_overlap(start_date, end_date, leave_type_id): - leave_type = LeaveType.objects.get(id=leave_type_id) + try: + leave_type = LeaveType.objects.get(id=leave_type_id) + except LeaveType.DoesNotExist: + leave_type = LeaveType() + if leave_type.name.lower() in ['restricted']: count = get_special_leave_count(start_date, end_date, leave_type.name.lower()) if count < 0: @@ -324,7 +356,11 @@ def clean(self): for form in self.forms: try: data = form.cleaned_data - leave_type = LeaveType.objects.get(id=data.get('leave_type')) + + try: + leave_type = LeaveType.objects.get(id=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() #if leave_type.is_station: # continue @@ -399,7 +435,11 @@ def clean(self, *args, **kwargs): errors = dict() def check_special_leave_overlap(start_date, end_date, leave_type_id): - leave_type = LeaveType.objects.get(id=leave_type_id) + try: + leave_type = LeaveType.objects.get(id=leave_type_id) + except LeaveType.DoesNotExist: + leave_type = LeaveType() + if leave_type.name.lower() in ['restricted']: count = get_special_leave_count(start_date, end_date, leave_type.name.lower()) if count < 0: @@ -575,7 +615,10 @@ def clean(self): for form in self.forms: try: data = form.cleaned_data - leave_type = LeaveType.objects.get(id=data.get('leave_type')) + try: + leave_type = LeaveType.objects.get(id=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() #if leave_type.is_station: # continue diff --git a/FusionIIIT/applications/leave/handlers.py b/FusionIIIT/applications/leave/handlers.py index 03488a35d..6e5c1ed94 100644 --- a/FusionIIIT/applications/leave/handlers.py +++ b/FusionIIIT/applications/leave/handlers.py @@ -275,8 +275,14 @@ def handle_student_leave_application(request): purpose=data.get('purpose'), extra_info=data.get('leave_info'), ) + leave.save() + + try: + leave_type = LeaveType.objects.get(name=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() - leave_type = LeaveType.objects.get(name=data.get('leave_type')) + leave_type.save() LeaveSegment.objects.create( leave=leave, @@ -285,7 +291,9 @@ def handle_student_leave_application(request): start_date=data.get('start_date'), end_date=data.get('end_date') ) - requested_from = request.user.leave_admins.authority.designees.first().user + + requested_from = request.user + LeaveRequest.objects.create( leave=leave, requested_from=requested_from diff --git a/FusionIIIT/applications/leave/helpers.py b/FusionIIIT/applications/leave/helpers.py index 542ac343f..9d42149b7 100644 --- a/FusionIIIT/applications/leave/helpers.py +++ b/FusionIIIT/applications/leave/helpers.py @@ -9,11 +9,17 @@ def get_designation(user): desig = list(HoldsDesignation.objects.all().filter(working = user).values_list('designation')) b = [i for sub in desig for i in sub] - c=str(Designation.objects.get(id=b[0])) - for i in b: - if str(Designation.objects.get(id=i))=='Assistant Registrar': - c='Assistant Registrar' - break + try: + c=str(Designation.objects.get(id=b[0])) + for i in b: + obj = Designation.objects.get(id=i) + if str(obj)=='Assistant Registrar': + c='Assistant Registrar' + elif str(obj)== 'administrative': + c='administrative' + except: + c = 'administrative' + print(c) return c @@ -94,21 +100,24 @@ def get_leave_days(start, end, leave_type, start_half, end_half): # TODO: Remove this hard code and make it database dependent # Maybe add one field in leave type, which tells that this has to be taken from # academic calendar - if leave_name.lower()=='restricted': - count = get_special_leave_count(start, end, leave_name.lower()) - elif leave_name.lower()=='vacation': - count = get_vacation_leave_count(start, end, leave_name.lower()) - else: - while start <= end: - if not start.weekday() in [5, 6]: - count += 1.0 - - start = start + datetime.timedelta(days=1) - - if start_half and start.weekday() not in [5, 6]: - count -= 0.5 - if end_half and end.weekday() not in [5, 6]: - count -= 0.5 + try: + if leave_name.lower()=='restricted': + count = get_special_leave_count(start, end, leave_name.lower()) + elif leave_name.lower()=='vacation': + count = get_vacation_leave_count(start, end, leave_name.lower()) + else: + while start <= end: + if not start.weekday() in [5, 6]: + count += 1.0 + + start = start + datetime.timedelta(days=1) + + if start_half and start.weekday() not in [5, 6]: + count -= 0.5 + if end_half and end.weekday() not in [5, 6]: + count -= 0.5 + except: + pass return count diff --git a/FusionIIIT/applications/leave/models.py b/FusionIIIT/applications/leave/models.py index 180f679bf..661509e57 100644 --- a/FusionIIIT/applications/leave/models.py +++ b/FusionIIIT/applications/leave/models.py @@ -32,7 +32,7 @@ class Constants: #@python_2_unicode_compatible class LeaveType(models.Model): - name = models.CharField(max_length=40, null=False) + name = models.CharField(max_length=40, null=False, default='casual') max_in_year = models.IntegerField(default=2) requires_proof = models.BooleanField(default=False) authority_forwardable = models.BooleanField(default=False) From e0425dfb59adbe77fb887684f35b90914c0f399e Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 3 Mar 2024 22:58:33 +0530 Subject: [PATCH 002/141] I added my module otheracademic from scratch all functionality is implemented just need to set designation --- .../academic_procedures/.DS_Store | Bin 0 -> 8196 bytes .../academic_procedures/._.DS_Store | Bin 0 -> 4096 bytes .../applications/academic_procedures/admin.py | 0 .../academic_procedures/api/serializers.py | 0 .../academic_procedures/api/urls.py | 0 .../academic_procedures/api/views.py | 0 .../applications/academic_procedures/apps.py | 0 .../applications/academic_procedures/forms.py | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_auto_20240219_0959.py | 49 ++++++++++++++++++ .../migrations/0003_auto_20240219_1004.py | 17 ++++++ .../migrations/__init__.py | 0 .../academic_procedures/models.py | 9 ++++ .../academic_procedures/scripts.py | 0 .../applications/academic_procedures/tests.py | 0 .../applications/academic_procedures/urls.py | 3 ++ .../applications/academic_procedures/views.py | 28 ++++++++-- 17 files changed, 103 insertions(+), 3 deletions(-) create mode 100755 FusionIIIT/applications/academic_procedures/.DS_Store create mode 100755 FusionIIIT/applications/academic_procedures/._.DS_Store mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/admin.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/serializers.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/urls.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/views.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/apps.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/forms.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/migrations/0001_initial.py create mode 100644 FusionIIIT/applications/academic_procedures/migrations/0002_auto_20240219_0959.py create mode 100644 FusionIIIT/applications/academic_procedures/migrations/0003_auto_20240219_1004.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/migrations/__init__.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/models.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/scripts.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/tests.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/urls.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/views.py diff --git a/FusionIIIT/applications/academic_procedures/.DS_Store b/FusionIIIT/applications/academic_procedures/.DS_Store new file mode 100755 index 0000000000000000000000000000000000000000..86478b96485f66930300802d02c7e300f715f886 GIT binary patch literal 8196 zcmeHMzi-n(6n@tha%lwW0HOjRSz61fXpx9Gs?`&Ck#(Q6n+SV#y z6*!Oz$n(KLm9}E+SX*^;piwCR>>Mtuf9n3Qnw|t!=FWR)J{+WbR%-w%(wSo+a}4#w}m0wtUe7 zLOxX2QI~$If?g)e@09DSq8BO*dwVh)*%P&zxj%pU@$AaG&98EfjMel+`!~>GH@=E* zaxom=Cfd{^j{;hfyWO?F_rS#WHw%17UJ}Jlr=wbJdvA3t;c+U>>@zZZz-QUjce z=KQ21`uC)Lfu7lN!iBVXVP_=nvaRnEmlB@E>D#s833n0w)jG3OwU3`RT!+p5CNmBb<4Cgh7a4 zNDUwraB&U?(gijHF9VJpjRjnehL|B^MKaV9XijTbjZ349)!_U|;H5UUSOxZ@z^o=M z%KZOk_V@q&+}d)i0#<>4L;*HetJkVn?DpS=yVosqZ3p!csw@&W)>cu_sB|1wrQ@)Z le;A_g04g~ZW5?R!3d$e<5D$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIhYCu0iY;W;207T z#K0gp5u$^k0;{4?!O;*H4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5TJ4hFapg3 zVK9&j$;d2LC`v8PFD*(=RY=P(%2vqCD@n~O$;{77%*m-#$Vp8rQAo;3%*zILb)mY3 QG==JaxL0Ht Date: Sun, 3 Mar 2024 23:09:05 +0530 Subject: [PATCH 003/141] I added my module otheracademic from scratch all functionality is implemented just need to set designation --- FusionIIIT/applications/bonafide/__init__.py | 0 FusionIIIT/applications/bonafide/admin.py | 3 + FusionIIIT/applications/bonafide/apps.py | 5 + .../bonafide/migrations/__init__.py | 0 FusionIIIT/applications/bonafide/models.py | 3 + FusionIIIT/applications/bonafide/tests.py | 3 + FusionIIIT/applications/bonafide/urls.py | 0 FusionIIIT/applications/bonafide/views.py | 3 + .../academic_procedures/acad_admin.html | 0 .../academic_procedures/acad_assis.html | 0 .../academic_procedures/academicfac.html | 0 .../academic_procedures/account_assis.html | 0 .../academic_procedures/allot_courses.html | 0 .../academic_procedures/approveassis.html | 0 .../academic_procedures/approvemtechsg.html | 0 .../academic_procedures/assis_hod.html | 0 .../assistantshipclaim.html | 432 ++++++++---------- .../academic_procedures/bonafide.html | 30 +- .../academic_procedures/bonafide_new.html | 63 +++ .../academic_procedures/bonafide_pdf.html | 0 .../academic_procedures/check_attendance.html | 0 .../course_marks_data.html | 0 .../templates/academic_procedures/dues.html | 0 .../academic_procedures/dues_pdf.html | 0 .../academic_procedures/gen_course_list.html | 0 .../academic_procedures/generate_pdf.html | 0 .../generate_result_pdf.html | 0 .../academic_procedures/generate_sheet.html | 0 .../academic_procedures/grade_submission.html | 0 .../templates/academic_procedures/leave.html | 0 .../manual_grade_submission.html | 0 .../academic_procedures/messdueassistant.html | 0 .../academic_procedures/messdueedit.html | 0 .../academic_procedures/messduehistory.html | 0 .../academic_procedures/mtechseminar.html | 0 .../academic_procedures/phdform.html | 0 .../academic_procedures/phdprogress.html | 0 .../academic_procedures/registeredCourse.html | 0 .../templates/academic_procedures/result.html | 0 .../academic_procedures/result_announce.html | 0 .../result_generation.html | 0 .../academic_procedures/studentCourses.html | 0 .../student_course_list.html | 0 .../academic_procedures/teaching_credit.html | 0 .../teaching_credit_register.html | 0 .../templates/academic_procedures/test.html | 0 .../academic_procedures/test_render.html | 0 .../academic_procedures/thesissupervise.html | 0 .../templates/academic_procedures/ug.html | 0 .../underconstruction.html | 0 .../academic_procedures/updatedues.html | 0 .../verify_course_marks_data.html | 0 .../academic_procedures/view_performance.html | 0 53 files changed, 284 insertions(+), 258 deletions(-) create mode 100644 FusionIIIT/applications/bonafide/__init__.py create mode 100644 FusionIIIT/applications/bonafide/admin.py create mode 100644 FusionIIIT/applications/bonafide/apps.py create mode 100644 FusionIIIT/applications/bonafide/migrations/__init__.py create mode 100644 FusionIIIT/applications/bonafide/models.py create mode 100644 FusionIIIT/applications/bonafide/tests.py create mode 100644 FusionIIIT/applications/bonafide/urls.py create mode 100644 FusionIIIT/applications/bonafide/views.py mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/acad_admin.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/acad_assis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/academicfac.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/account_assis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/allot_courses.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/approveassis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/approvemtechsg.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/assis_hod.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/assistantshipclaim.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/bonafide.html create mode 100644 FusionIIIT/templates/academic_procedures/bonafide_new.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/bonafide_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/check_attendance.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/course_marks_data.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/dues.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/dues_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/gen_course_list.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_result_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_sheet.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/grade_submission.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/leave.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/manual_grade_submission.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messdueassistant.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messdueedit.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messduehistory.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/mtechseminar.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/phdform.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/phdprogress.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/registeredCourse.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result_announce.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result_generation.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/studentCourses.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/student_course_list.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/teaching_credit.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/teaching_credit_register.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/test.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/test_render.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/thesissupervise.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/ug.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/underconstruction.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/updatedues.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/verify_course_marks_data.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/view_performance.html diff --git a/FusionIIIT/applications/bonafide/__init__.py b/FusionIIIT/applications/bonafide/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/FusionIIIT/applications/bonafide/admin.py b/FusionIIIT/applications/bonafide/admin.py new file mode 100644 index 000000000..8c38f3f3d --- /dev/null +++ b/FusionIIIT/applications/bonafide/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/FusionIIIT/applications/bonafide/apps.py b/FusionIIIT/applications/bonafide/apps.py new file mode 100644 index 000000000..52c6fd842 --- /dev/null +++ b/FusionIIIT/applications/bonafide/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class BonafideConfig(AppConfig): + name = 'bonafide' diff --git a/FusionIIIT/applications/bonafide/migrations/__init__.py b/FusionIIIT/applications/bonafide/migrations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/FusionIIIT/applications/bonafide/models.py b/FusionIIIT/applications/bonafide/models.py new file mode 100644 index 000000000..71a836239 --- /dev/null +++ b/FusionIIIT/applications/bonafide/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/FusionIIIT/applications/bonafide/tests.py b/FusionIIIT/applications/bonafide/tests.py new file mode 100644 index 000000000..7ce503c2d --- /dev/null +++ b/FusionIIIT/applications/bonafide/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/FusionIIIT/applications/bonafide/urls.py b/FusionIIIT/applications/bonafide/urls.py new file mode 100644 index 000000000..e69de29bb diff --git a/FusionIIIT/applications/bonafide/views.py b/FusionIIIT/applications/bonafide/views.py new file mode 100644 index 000000000..91ea44a21 --- /dev/null +++ b/FusionIIIT/applications/bonafide/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/FusionIIIT/templates/academic_procedures/acad_admin.html b/FusionIIIT/templates/academic_procedures/acad_admin.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/acad_assis.html b/FusionIIIT/templates/academic_procedures/acad_assis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/academicfac.html b/FusionIIIT/templates/academic_procedures/academicfac.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/account_assis.html b/FusionIIIT/templates/academic_procedures/account_assis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/allot_courses.html b/FusionIIIT/templates/academic_procedures/allot_courses.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/approveassis.html b/FusionIIIT/templates/academic_procedures/approveassis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/approvemtechsg.html b/FusionIIIT/templates/academic_procedures/approvemtechsg.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/assis_hod.html b/FusionIIIT/templates/academic_procedures/assis_hod.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/assistantshipclaim.html b/FusionIIIT/templates/academic_procedures/assistantshipclaim.html old mode 100644 new mode 100755 index c6576537e..6be59e239 --- a/FusionIIIT/templates/academic_procedures/assistantshipclaim.html +++ b/FusionIIIT/templates/academic_procedures/assistantshipclaim.html @@ -1,313 +1,243 @@ {% block applyform %} {% load static %} - {% comment %}The tab menu starts here!{% endcomment %} - - - -
-
- {% if assistantship_flag == "True" %} -
+ + + +
+
+ + {% csrf_token %} - {% comment %}The add a new skill Accordian starts here!{% endcomment %} -
-
-
- - -
- - -
- - +
+ +
+ + + +

-
- -
- - - - - - - - - - - - - - {% for obj in assistantship_list reversed%} - +
+
+ + +
+
MonthYearTA SupervisorThesis SupervisorAcademic departmentAccount department
+ + + + + + + + + + + + {% for obj in assistantship_list reversed %} + - + {% endfor %} - -
MonthYearTA SupervisorThesis SupervisorAcademic departmentAccount department
{{obj.month}} {{ obj.year }} {% if obj.ta_supervisor_remark == True %} -
+
{% elif obj.ta_supervisor_remark == False %} -
+
{% endif %}
{% if obj.thesis_supervisor_remark == True %} -
+
{% elif obj.thesis_supervisor_remark == False %} -
+
{% endif %}
{% if obj.ta_supervisor_remark == False or obj.thesis_supervisor_remark == False %} -
Not forwaded
+
Not forwarded
{% elif obj.acad_approval == True %} -
+
{% elif obj.acad_approval == False %} -
+
{% endif %}
{% if obj.acad_approval == False %} -
Not forwaded
+
Not forwarded
{% elif obj.account_approval == True %} -
+
{% elif obj.account_approval == False %} -
+
{% endif %}
- -
- + -
- - {% endblock %} {% block javascript %} - - + }); + } + {% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide.html b/FusionIIIT/templates/academic_procedures/bonafide.html old mode 100644 new mode 100755 index 7c0438667..447afefe7 --- a/FusionIIIT/templates/academic_procedures/bonafide.html +++ b/FusionIIIT/templates/academic_procedures/bonafide.html @@ -9,17 +9,33 @@
-
- {%csrf_token%} + + {% csrf_token %}
Apply for Bonafide:

+
+
+ Name: + Branch: +
+
+
+
+ Discipline: +
+
+ Roll No: +
+
+ Purpose: +
-
+ {% comment %}

- -
+ +
{% endcomment %}
@@ -49,7 +65,7 @@
\ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide_new.html b/FusionIIIT/templates/academic_procedures/bonafide_new.html new file mode 100644 index 000000000..6816bb568 --- /dev/null +++ b/FusionIIIT/templates/academic_procedures/bonafide_new.html @@ -0,0 +1,63 @@ +{% load static %} + + {% comment %}The tab menu starts here!{% endcomment %} + + +
+
+ + {% csrf_token %} +
+ Apply for Bonafide: +
+ +
+ + + +
+ + +
+ +
+ +
+ + + +
+
+ + + +
+
+
+
+ + \ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide_pdf.html b/FusionIIIT/templates/academic_procedures/bonafide_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/check_attendance.html b/FusionIIIT/templates/academic_procedures/check_attendance.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/course_marks_data.html b/FusionIIIT/templates/academic_procedures/course_marks_data.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/dues.html b/FusionIIIT/templates/academic_procedures/dues.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/dues_pdf.html b/FusionIIIT/templates/academic_procedures/dues_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/gen_course_list.html b/FusionIIIT/templates/academic_procedures/gen_course_list.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_pdf.html b/FusionIIIT/templates/academic_procedures/generate_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_result_pdf.html b/FusionIIIT/templates/academic_procedures/generate_result_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_sheet.html b/FusionIIIT/templates/academic_procedures/generate_sheet.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/grade_submission.html b/FusionIIIT/templates/academic_procedures/grade_submission.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/leave.html b/FusionIIIT/templates/academic_procedures/leave.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/manual_grade_submission.html b/FusionIIIT/templates/academic_procedures/manual_grade_submission.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messdueassistant.html b/FusionIIIT/templates/academic_procedures/messdueassistant.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messdueedit.html b/FusionIIIT/templates/academic_procedures/messdueedit.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messduehistory.html b/FusionIIIT/templates/academic_procedures/messduehistory.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/mtechseminar.html b/FusionIIIT/templates/academic_procedures/mtechseminar.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/phdform.html b/FusionIIIT/templates/academic_procedures/phdform.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/phdprogress.html b/FusionIIIT/templates/academic_procedures/phdprogress.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/registeredCourse.html b/FusionIIIT/templates/academic_procedures/registeredCourse.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result.html b/FusionIIIT/templates/academic_procedures/result.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result_announce.html b/FusionIIIT/templates/academic_procedures/result_announce.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result_generation.html b/FusionIIIT/templates/academic_procedures/result_generation.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/studentCourses.html b/FusionIIIT/templates/academic_procedures/studentCourses.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/student_course_list.html b/FusionIIIT/templates/academic_procedures/student_course_list.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/teaching_credit.html b/FusionIIIT/templates/academic_procedures/teaching_credit.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/teaching_credit_register.html b/FusionIIIT/templates/academic_procedures/teaching_credit_register.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/test.html b/FusionIIIT/templates/academic_procedures/test.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/test_render.html b/FusionIIIT/templates/academic_procedures/test_render.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/thesissupervise.html b/FusionIIIT/templates/academic_procedures/thesissupervise.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/ug.html b/FusionIIIT/templates/academic_procedures/ug.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/underconstruction.html b/FusionIIIT/templates/academic_procedures/underconstruction.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/updatedues.html b/FusionIIIT/templates/academic_procedures/updatedues.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/verify_course_marks_data.html b/FusionIIIT/templates/academic_procedures/verify_course_marks_data.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/view_performance.html b/FusionIIIT/templates/academic_procedures/view_performance.html old mode 100644 new mode 100755 From 0eb1310cd7aa1d29ca8654989d3afabffbb020cc Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 4 Mar 2024 00:23:07 +0530 Subject: [PATCH 004/141] I added my module otheracademic from scratch all functionality is implemented just need to set designation --- FusionIIIT/Fusion/settings/common.py | 1 + FusionIIIT/Fusion/urls.py | 2 + .../eis/migrations/0002_auto_20240303_2357.py | 53 ++++ .../migrations/0002_auto_20240303_2357.py | 18 ++ .../applications/otheracademic/__init__.py | 0 .../applications/otheracademic/admin.py | 11 + FusionIIIT/applications/otheracademic/apps.py | 5 + .../otheracademic/migrations/0001_initial.py | 36 +++ .../migrations/0002_graduateseminarform.py | 27 ++ .../migrations/0003_bonafideformtable.py | 33 +++ .../migrations/0004_auto_20240220_0947.py | 38 +++ .../0005_graduateseminarformtable.py | 25 ++ .../migrations/0006_assistantshipclaimform.py | 35 +++ .../otheracademic/migrations/__init__.py | 0 .../applications/otheracademic/models.py | 150 +++++++++++ .../applications/otheracademic/tests.py | 3 + FusionIIIT/applications/otheracademic/urls.py | 31 +++ .../applications/otheracademic/views.py | 246 ++++++++++++++++++ .../migrations/0002_auto_20240303_2357.py | 23 ++ .../migrations/0002_auto_20240303_2357.py | 18 ++ .../otheracademic/assistantship_approval.html | 93 +++++++ .../otheracademic/assistantshipclaimform.html | 93 +++++++ .../otheracademic/bonafideApprove.html | 128 +++++++++ .../templates/otheracademic/bonafideForm.html | 87 +++++++ .../otheracademic/bonafideStatus.html | 101 +++++++ .../otheracademic/graduateSeminarStatus.html | 85 ++++++ .../otheracademic/graduateseminarForm.html | 63 +++++ .../templates/otheracademic/leaveStatus.html | 105 ++++++++ .../templates/otheracademic/leaveform.html | 92 +++++++ .../otheracademic/leaveformreciever.html | 131 ++++++++++ .../otheracademic/noduesverification.html | 94 +++++++ 31 files changed, 1827 insertions(+) create mode 100644 FusionIIIT/applications/eis/migrations/0002_auto_20240303_2357.py create mode 100644 FusionIIIT/applications/globals/migrations/0002_auto_20240303_2357.py create mode 100644 FusionIIIT/applications/otheracademic/__init__.py create mode 100644 FusionIIIT/applications/otheracademic/admin.py create mode 100644 FusionIIIT/applications/otheracademic/apps.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0001_initial.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py create mode 100644 FusionIIIT/applications/otheracademic/migrations/__init__.py create mode 100644 FusionIIIT/applications/otheracademic/models.py create mode 100644 FusionIIIT/applications/otheracademic/tests.py create mode 100644 FusionIIIT/applications/otheracademic/urls.py create mode 100644 FusionIIIT/applications/otheracademic/views.py create mode 100644 FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py create mode 100644 FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py create mode 100644 FusionIIIT/templates/otheracademic/assistantship_approval.html create mode 100644 FusionIIIT/templates/otheracademic/assistantshipclaimform.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideApprove.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideForm.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideStatus.html create mode 100644 FusionIIIT/templates/otheracademic/graduateSeminarStatus.html create mode 100644 FusionIIIT/templates/otheracademic/graduateseminarForm.html create mode 100644 FusionIIIT/templates/otheracademic/leaveStatus.html create mode 100644 FusionIIIT/templates/otheracademic/leaveform.html create mode 100644 FusionIIIT/templates/otheracademic/leaveformreciever.html create mode 100644 FusionIIIT/templates/otheracademic/noduesverification.html diff --git a/FusionIIIT/Fusion/settings/common.py b/FusionIIIT/Fusion/settings/common.py index b98ea6960..46819fd35 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -127,6 +127,7 @@ 'applications.ps1', 'applications.programme_curriculum', 'applications.placement_cell', + # 'applications.otheracademic', 'applications.recruitment', 'applications.scholarships', 'applications.visitor_hostel', diff --git a/FusionIIIT/Fusion/urls.py b/FusionIIIT/Fusion/urls.py index 837bf776a..b20ca54b9 100755 --- a/FusionIIIT/Fusion/urls.py +++ b/FusionIIIT/Fusion/urls.py @@ -60,4 +60,6 @@ url(r'^income-expenditure/', include('applications.income_expenditure.urls')), url(r'^hr2/', include('applications.hr2.urls')), url(r'^recruitment/', include('applications.recruitment.urls')), + # url(r'^otheracademic/', include('applications.otheracademic.urls')), + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/FusionIIIT/applications/eis/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/eis/migrations/0002_auto_20240303_2357.py new file mode 100644 index 000000000..413f68cbe --- /dev/null +++ b/FusionIIIT/applications/eis/migrations/0002_auto_20240303_2357.py @@ -0,0 +1,53 @@ +# Generated by Django 3.1.5 on 2024-03-03 23:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('eis', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='emp_achievement', + name='a_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_confrence_organised', + name='k_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_expert_lectures', + name='l_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_keynote_address', + name='k_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_mtechphd_thesis', + name='s_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_patents', + name='p_year', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_published_books', + name='pyear', + field=models.IntegerField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], null=True, verbose_name='year'), + ), + migrations.AlterField( + model_name='emp_research_papers', + name='year', + field=models.CharField(blank=True, choices=[(1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018), (2019, 2019), (2020, 2020), (2021, 2021), (2022, 2022), (2023, 2023), (2024, 2024)], max_length=10, null=True), + ), + ] diff --git a/FusionIIIT/applications/globals/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/globals/migrations/0002_auto_20240303_2357.py new file mode 100644 index 000000000..0001ad0e1 --- /dev/null +++ b/FusionIIIT/applications/globals/migrations/0002_auto_20240303_2357.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.5 on 2024-03-03 23:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('globals', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='extrainfo', + name='user_status', + field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), + ), + ] diff --git a/FusionIIIT/applications/otheracademic/__init__.py b/FusionIIIT/applications/otheracademic/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/FusionIIIT/applications/otheracademic/admin.py b/FusionIIIT/applications/otheracademic/admin.py new file mode 100644 index 000000000..0c764c2fd --- /dev/null +++ b/FusionIIIT/applications/otheracademic/admin.py @@ -0,0 +1,11 @@ +from django.contrib import admin + +# Register your models here. +from applications.otheracademic.models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +admin.site.register(LeaveFormTable) +admin.site.register(GraduateSeminarForm) +admin.site.register(BonafideFormTable) +admin.site.register(BonafideFormTableUpdated) +admin.site.register(GraduateSeminarFormTable) +admin.site.register(AssistantshipClaimForm) + diff --git a/FusionIIIT/applications/otheracademic/apps.py b/FusionIIIT/applications/otheracademic/apps.py new file mode 100644 index 000000000..e8e30ffab --- /dev/null +++ b/FusionIIIT/applications/otheracademic/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class OtheracademicConfig(AppConfig): + name = 'applications.otheracademic' diff --git a/FusionIIIT/applications/otheracademic/migrations/0001_initial.py b/FusionIIIT/applications/otheracademic/migrations/0001_initial.py new file mode 100644 index 000000000..280ecf0b0 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0001_initial.py @@ -0,0 +1,36 @@ +# Generated by Django 3.1.5 on 2024-02-20 00:23 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('globals', '0004_auto_20240219_1004'), + ] + + operations = [ + migrations.CreateModel( + name='LeaveFormTable', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('student_name', models.CharField(max_length=100)), + ('date_from', models.DateField()), + ('date_to', models.DateField()), + ('date_of_application', models.DateField()), + ('upload_file', models.FileField(blank=True, upload_to='')), + ('address', models.CharField(max_length=100)), + ('purpose', models.TextField()), + ('leave_type', models.CharField(choices=[('Casual', 'Casual'), ('Medical', 'Medical')], max_length=20)), + ('approved', models.BooleanField()), + ('rejected', models.BooleanField()), + ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + ], + options={ + 'db_table': 'LeaveFormTable', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py b/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py new file mode 100644 index 000000000..38414fba0 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py @@ -0,0 +1,27 @@ +# Generated by Django 3.1.5 on 2024-02-20 07:18 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('globals', '0005_auto_20240220_0718'), + ('otheracademic', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='GraduateSeminarForm', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('semester', models.CharField(max_length=100)), + ('date_of_seminar', models.DateField()), + ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + ], + options={ + 'db_table': 'GraduateSeminarForm', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py b/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py new file mode 100644 index 000000000..923d96a16 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py @@ -0,0 +1,33 @@ +# Generated by Django 3.1.5 on 2024-02-20 09:01 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('globals', '0006_auto_20240220_0901'), + ('otheracademic', '0002_graduateseminarform'), + ] + + operations = [ + migrations.CreateModel( + name='BonafideFormTable', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('student_name', models.CharField(max_length=100)), + ('branch_type', models.CharField(choices=[('Computer Science and Engineering', 'Computer Science and Engineering'), ('Mechanical Engineering', 'Mechanical Engineering'), ('Smart Manufacturing', 'Smart Manufacturing'), ('Electroctics and Communication Engineering', 'Electronic and Communication Engineering'), ('Design', 'Design')], max_length=50)), + ('semester_type', models.CharField(choices=[('I', 'I'), ('II', 'II'), ('III', 'III'), ('IV', 'IV'), ('V', 'V'), ('VI', 'VI'), ('VII', 'VII'), ('VIII', 'VIII')], max_length=20)), + ('purpose', models.TextField()), + ('date_of_application', models.DateField()), + ('approved', models.BooleanField()), + ('rejected', models.BooleanField()), + ('download_file', models.FileField(blank=True, upload_to='')), + ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + ], + options={ + 'db_table': 'BonafideFormTable', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py b/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py new file mode 100644 index 000000000..e0f0c75e2 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py @@ -0,0 +1,38 @@ +# Generated by Django 3.1.5 on 2024-02-20 09:47 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('globals', '0007_auto_20240220_0947'), + ('otheracademic', '0003_bonafideformtable'), + ] + + operations = [ + migrations.AlterField( + model_name='bonafideformtable', + name='branch_type', + field=models.CharField(choices=[('CSE', 'CSE'), ('ME', 'ME'), ('SM', 'SM'), ('ECE', 'ECE'), ('Design', 'Design')], max_length=50), + ), + migrations.CreateModel( + name='BonafideFormTableUpdated', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('student_names', models.CharField(max_length=100)), + ('branch_types', models.CharField(max_length=50)), + ('semester_types', models.CharField(max_length=20)), + ('purposes', models.TextField()), + ('date_of_applications', models.DateField()), + ('approve', models.BooleanField()), + ('reject', models.BooleanField()), + ('download_file', models.FileField(blank=True, upload_to='')), + ('roll_nos', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + ], + options={ + 'db_table': 'BonafideFormTableUpdated', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py b/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py new file mode 100644 index 000000000..8e1ac537a --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py @@ -0,0 +1,25 @@ +# Generated by Django 3.1.5 on 2024-02-20 15:05 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('otheracademic', '0004_auto_20240220_0947'), + ] + + operations = [ + migrations.CreateModel( + name='GraduateSeminarFormTable', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('roll_no', models.CharField(max_length=20)), + ('semester', models.CharField(max_length=100)), + ('date_of_seminar', models.DateField()), + ], + options={ + 'db_table': 'GraduateSeminarFormTable', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py b/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py new file mode 100644 index 000000000..de00e1b0c --- /dev/null +++ b/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py @@ -0,0 +1,35 @@ +# Generated by Django 3.1.5 on 2024-02-20 15:45 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('globals', '0007_auto_20240220_0947'), + ('otheracademic', '0005_graduateseminarformtable'), + ] + + operations = [ + migrations.CreateModel( + name='AssistantshipClaimForm', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('student_name', models.CharField(max_length=100)), + ('discipline', models.CharField(max_length=100)), + ('month', models.CharField(max_length=50)), + ('year', models.CharField(max_length=50)), + ('bank_account', models.CharField(max_length=100)), + ('student_signature', models.CharField(max_length=100)), + ('ta_supervisor', models.CharField(max_length=100)), + ('thesis_supervisor', models.CharField(max_length=100)), + ('date', models.DateField()), + ('approved', models.BooleanField()), + ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + ], + options={ + 'db_table': 'AssistantshipClaimForm', + }, + ), + ] diff --git a/FusionIIIT/applications/otheracademic/migrations/__init__.py b/FusionIIIT/applications/otheracademic/migrations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/FusionIIIT/applications/otheracademic/models.py b/FusionIIIT/applications/otheracademic/models.py new file mode 100644 index 000000000..2fb9a0739 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/models.py @@ -0,0 +1,150 @@ +from datetime import datetime + +from applications.globals.models import ExtraInfo, HoldsDesignation, Designation +from django.db import models +from django.contrib.auth.models import User +from applications.academic_information.models import Student + + +class LeaveFormTable(models.Model): + """ + Records information related to student leave requests. + + 'leave_from' and 'leave_to' store the start and end date of the leave request. + 'date_of_application' stores the date when the leave request was applied. + 'related_document' stores any related documents or notes for the leave request. + 'place' stores the location where the leave is requested. + 'reason' stores the reason for the leave request. + 'leave_type' stores the type of leave from a dropdown. + """ + LEAVE_TYPES = ( + ('Casual', 'Casual'), + ('Medical', 'Medical'), + + ) + + + student_name = models.CharField(max_length=100) + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + date_from = models.DateField() + date_to = models.DateField() + date_of_application = models.DateField() + upload_file = models.FileField(blank=True) + address = models.CharField(max_length=100) + purpose = models.TextField() + leave_type = models.CharField(max_length=20, choices=LEAVE_TYPES) + approved = models.BooleanField() + rejected = models.BooleanField() + + class Meta: + db_table='LeaveFormTable' + + + + +class GraduateSeminarForm(models.Model): + + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + semester= models.CharField(max_length=100) + date_of_seminar = models.DateField() + + + class Meta: + db_table='GraduateSeminarForm' + + +class GraduateSeminarFormTable(models.Model): + + roll_no = models.CharField(max_length=20) + semester= models.CharField(max_length=100) + date_of_seminar = models.DateField() + + + class Meta: + db_table='GraduateSeminarFormTable' + + +class BonafideFormTable(models.Model): + """ + Records information related to student leave requests. + + 'leave_from' and 'leave_to' store the start and end date of the leave request. + 'date_of_application' stores the date when the leave request was applied. + 'related_document' stores any related documents or notes for the leave request. + 'place' stores the location where the leave is requested. + 'reason' stores the reason for the leave request. + 'leave_type' stores the type of leave from a dropdown. + """ + BRANCH_TYPES = ( + ('CSE', 'CSE'), + ('ME', 'ME'), + ('SM', 'SM'), + ('ECE', 'ECE'), + ('Design', 'Design') + + ) + + SEMESTER_TYPES = ( + ('I', 'I'), + ('II', 'II'), + ('III', 'III'), + ('IV', 'IV'), + ('V', 'V'), + ('VI', 'VI'), + ('VII', 'VII'), + ('VIII', 'VIII') + ) + + + student_name = models.CharField(max_length=100) + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + branch_type = models.CharField(max_length=50, choices=BRANCH_TYPES) + semester_type = models.CharField(max_length=20, choices=SEMESTER_TYPES) + purpose = models.TextField() + date_of_application = models.DateField() + approved = models.BooleanField() + rejected = models.BooleanField() + download_file = models.FileField(blank=True) + + + + class Meta: + db_table='BonafideFormTable' + + + +class BonafideFormTableUpdated(models.Model): + + + + student_names = models.CharField(max_length=100) + roll_nos = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + branch_types = models.CharField(max_length=50) + semester_types = models.CharField(max_length=20) + purposes = models.TextField() + date_of_applications= models.DateField() + approve = models.BooleanField() + reject = models.BooleanField() + download_file = models.FileField(blank=True) + + + + class Meta: + db_table='BonafideFormTableUpdated' + + +class AssistantshipClaimForm(models.Model): + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + student_name = models.CharField(max_length=100) + discipline = models.CharField(max_length=100) + month = models.CharField(max_length=50) + year = models.CharField(max_length=50) + bank_account = models.CharField(max_length=100) + student_signature = models.CharField(max_length=100) + ta_supervisor = models.CharField(max_length=100) + thesis_supervisor = models.CharField(max_length=100) + date = models.DateField() + approved = models.BooleanField() + + class Meta: + db_table = 'AssistantshipClaimForm' diff --git a/FusionIIIT/applications/otheracademic/tests.py b/FusionIIIT/applications/otheracademic/tests.py new file mode 100644 index 000000000..7ce503c2d --- /dev/null +++ b/FusionIIIT/applications/otheracademic/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/FusionIIIT/applications/otheracademic/urls.py b/FusionIIIT/applications/otheracademic/urls.py new file mode 100644 index 000000000..15beb0258 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/urls.py @@ -0,0 +1,31 @@ +from django.conf.urls import url + +from . import views + +app_name = 'otheracademic' + +urlpatterns = [ + + url(r'^$', views.otheracademic, name='otheracademic'), + url(r'^leaveform/$', views.leave_form_submit, name='leave_form_submit'), + url(r'^leaveApproveForm/$', views.leaveApproveForm, name='leaveApproveForm'), + url(r'^leaveStatus/$', views.leaveStatus, name='leaveStatus'), + # url(r'^approve_leave//$', views.approve_leave, name='approve_leave'), + # url(r'^reject_leave//$', views.reject_leave, name='reject_leave'), + url(r'^approve_leave/(?P\d+)/$', views.approve_leave, name='approve_leave'), + url(r'^reject_leave/(?P\d+)/$', views.reject_leave, name='reject_leave'), + url(r'^graduateseminar/$', views.graduateseminar, name='graduateseminar'), + url(r'^graduate_form_submit/$', views.graduate_form_submit, name='graduate_form_submit'), + url(r'^graduate_status/$', views.graduate_status, name='graduate_status'), + url(r'^bonafide/$', views.bonafide, name='bonafide'), + url(r'^bonafide_form_submit/$', views.bonafide_form_submit, name='bonafide_form_submit'), + url(r'^bonafideApproveForm/$', views.bonafideApproveForm, name='bonafideApproveForm'), + url(r'^approve_bonafide/(?P\d+)/$', views.approve_bonafide, name='approve_bonafide'), + url(r'^reject_bonafide/(?P\d+)/$', views.reject_bonafide, name='reject_bonafide'), + url(r'^bonafideStatus/$', views.bonafideStatus, name='bonafideStatus'), + url(r'^upload_file/(?P\d+)/$', views.upload_file, name='upload_file'), + url(r'^assistantship/$', views.assistantship, name='assistantship'), + url(r'^submitform/$', views.assistantship_form_submission, name='assistantship_form_submission'), + url(r'^approveform/$', views.assistantship_form_approval, name='assistantship_approval'), + url(r'^noduesverification/$', views.nodues, name='nodues'), +] diff --git a/FusionIIIT/applications/otheracademic/views.py b/FusionIIIT/applications/otheracademic/views.py new file mode 100644 index 000000000..9367d99c1 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/views.py @@ -0,0 +1,246 @@ +from django.shortcuts import render +from django.contrib import messages +from django.shortcuts import render, get_object_or_404, redirect +# from .models import File, Tracking +from applications.globals.models import ExtraInfo, HoldsDesignation, Designation +from django.template.defaulttags import csrf_token +from django.http import HttpResponse, HttpResponseRedirect, JsonResponse +from django.contrib.auth.decorators import login_required +from django.db import IntegrityError +from django.core import serializers +from django.contrib.auth.models import User +from timeit import default_timer as time +from notification.views import office_module_notif,file_tracking_notif +from django.http import JsonResponse +from django.views.decorators.csrf import csrf_exempt +from .models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from django.shortcuts import render, get_object_or_404 +# from .utils import * + +# Create your views here. +def otheracademic(request): + return render(request, "otheracademic/leaveform.html") + + + +@csrf_exempt # Exempt CSRF verification for this view +def leave_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + leave=LeaveFormTable.objects.create( + student_name=data.get('name'), + roll_no=request.user.extrainfo, + date_from=data.get('date_from'), + date_to=data.get('date_to'), + leave_type=data.get('leave_type'), + upload_file=file, + address=data.get('address'), + purpose=data.get('purpose'), + date_of_application=data.get('date_of_application'), + approved=False, # Initially not approved + rejected=False, # Initially not rejected + ) + leave.save() + # print(roll_no_id) + return HttpResponseRedirect('/otheracademic') + + +def leaveApproveForm(request): + + form_data = LeaveFormTable.objects.all() + return render(request, 'otheracademic/leaveformreciever.html', {'form_data': form_data}) + +def leaveStatus(request): + + form_data = LeaveFormTable.objects.all() + return render(request, 'otheracademic/leaveStatus.html',{'form_data' : form_data }) + + + +def approve_leave(request, leave_id): + leave_entry = LeaveFormTable.objects.get(id=leave_id) + leave_entry.approved = True + leave_entry.save() + return redirect('/otheracademic/leaveApproveForm') # Redirect to appropriate page after approval + +def reject_leave(request, leave_id): + leave_entry = LeaveFormTable.objects.get(id=leave_id) + leave_entry.rejected = True + leave_entry.save() + return redirect('/otheracademic/leaveApproveForm') # Redirect to appropriate page after rejection + +def graduateseminar(request): + return render(request,'otheracademic/graduateseminarForm.html') + +def graduate_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + # file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + graduate=GraduateSeminarFormTable.objects.create( + + roll_no=data.get('roll_no'), + semester=data.get('semester'), + date_of_seminar=data.get('date_of_seminar'), + + ) + graduate.save() + return redirect('/otheracademic/graduateseminar') + +def graduate_status(request): + + form_data = GraduateSeminarFormTable.objects.all() + return render(request, 'otheracademic/graduateSeminarStatus.html',{'form_data' : form_data }) + +def bonafide(request): + return render(request,'otheracademic/bonafideForm.html') + + + +def bonafide_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + bonafide=BonafideFormTableUpdated.objects.create( + student_names=data.get('name'), + roll_nos=request.user.extrainfo, + branch_types = data.get('branch'), + semester_types = data.get('semester'), + purposes = data.get('purpose'), + date_of_applications = data.get('date_of_application'), + approve=False, # Initially not approved + reject=False, # Initially not rejected + download_file = None, + ) + bonafide.save() + return HttpResponseRedirect('/otheracademic/bonafide') + + +def bonafideApproveForm(request): + + form_data = BonafideFormTableUpdated.objects.all() + return render(request, 'otheracademic/bonafideApprove.html', {'form_data': form_data}) + +def approve_bonafide(request, leave_id): + file = request.FILES.get('related_document') + leave_entry = BonafideFormTableUpdated.objects.get(id=leave_id) + leave_entry.approve = True + leave_entry.download_file = file + leave_entry.save() + return redirect('/otheracademic/bonafideApproveForm') # Redirect to appropriate page after approval + +def reject_bonafide(request, leave_id): + leave_entry = BonafideFormTableUpdated.objects.get(id=leave_id) + leave_entry.reject = True + leave_entry.save() + return redirect('/otheracademic/bonafideApproveForm') # Redirect to appropriate page after rejection + +def bonafideStatus(request): + + form_data = BonafideFormTableUpdated.objects.all() + return render(request, 'otheracademic/bonafideStatus.html',{'form_data' : form_data }) + + +# views.py + + + + +def upload_file(request, entry_id): + if request.method == 'POST' and request.FILES.get('related_document'): + related_document = request.FILES['related_document'] + + # Assuming you want to update the 'download_file' field of your model + bonafide_entry = get_object_or_404(BonafideFormTableUpdated, pk=entry_id) + bonafide_entry.download_file = related_document + bonafide_entry.save() + + return JsonResponse({'message': 'File uploaded successfully'}, status=200) + else: + return JsonResponse({'error': 'No file provided'}, status=400) + + +def assistantship(request): + return render(request,'otheracademic/assistantshipclaimform.html') + +def assistantship_form_submission(request): + if request.method == 'POST': + # Retrieve form data + roll_no = request.user.extrainfo + student_name = request.POST.get('student_name') + discipline = request.POST.get('discipline') + month = request.POST.get('month') + year = request.POST.get('year') + bank_account = request.POST.get('bank_account') + student_signature = request.POST.get('student_signature') + ta_supervisor = request.POST.get('ta_supervisor') + thesis_supervisor = request.POST.get('thesis_supervisor') + date_str = request.POST.get('date') + + # Save form data to the database + assistantship_claim = AssistantshipClaimForm( + roll_no=roll_no, + student_name=student_name, + discipline=discipline, + month=month, + year=year, + bank_account=bank_account, + student_signature=student_signature, + ta_supervisor=ta_supervisor, + thesis_supervisor=thesis_supervisor, + date=date_str, + approved = False + ) + assistantship_claim.save() + + # file_id = create_file(uploader="21BCS112", + # uploader_designation="student", + # receiver="21BCS087", + # receiver_designation="CSE HOD", + # src_module="assistantship", + # src_object_id= str(assistantship_claim.id), + # file_extra_JSON= None, + # attached_file = None) + # inbox_files = view_inbox(username="vkjain", designation="CSE HOD",src_module="assistantship") + # print(inbox_files) + # print(file_id) + + + + # Redirect to a success page or return a success message + return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/success-url/' with the actual URL of your success page + else: + # Return an error response for invalid request method + return HttpResponse('Invalid request method') + + + +# def assistantship_form_approval(request): +# en = FormEntry.objects.all() +# return render(request,'assistantship/assistantship_approve.html') + +# views.py + + + +def assistantship_form_approval(request): + # Retrieve data from the database + form_data =AssistantshipClaimForm.objects.all() + return render(request, 'otheracademic/assistantship_approval.html', {'form_data': form_data}) + + +def nodues(request): + return render(request,'otheracademic/noduesverification.html') + diff --git a/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py new file mode 100644 index 000000000..375262c6f --- /dev/null +++ b/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1.5 on 2024-03-03 23:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('programme_curriculum', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='batch', + name='year', + field=models.PositiveIntegerField(default=2024), + ), + migrations.AlterField( + model_name='programme', + name='programme_begin_year', + field=models.PositiveIntegerField(default=2024), + ), + ] diff --git a/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py new file mode 100644 index 000000000..690c78590 --- /dev/null +++ b/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.5 on 2024-03-03 23:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scholarships', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='previous_winner', + name='year', + field=models.IntegerField(default=2024), + ), + ] diff --git a/FusionIIIT/templates/otheracademic/assistantship_approval.html b/FusionIIIT/templates/otheracademic/assistantship_approval.html new file mode 100644 index 000000000..78c05c1c0 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/assistantship_approval.html @@ -0,0 +1,93 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+
+ + + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameDisciplineMonthYearBank A/C No.TA SupervisorThesis SupervisorActions(TA supervisor)
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.discipline }}{{ entry.month }}{{ entry.year }}{{ entry.bank_account }}{{ entry.ta_supervisor }}{{ entry.thesis_supervisor }} + +
+ +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html new file mode 100644 index 000000000..23e74baf2 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html @@ -0,0 +1,93 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+
+
+ + {% csrf_token %} +
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/bonafideApprove.html b/FusionIIIT/templates/otheracademic/bonafideApprove.html new file mode 100644 index 000000000..82576f019 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideApprove.html @@ -0,0 +1,128 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + {% for entry in form_data %} + + {% if not entry.approve and not entry.reject %} + + + + + + + + + {% endif %} + + {% endfor %} + +
Roll No.Student NameBranchSemesterDate AppliedPurposeUpload DocumentAction
{{ entry.roll_nos_id }}{{ entry.student_names }}{{ entry.branch_types }}{{ entry.semester_types }}{{ entry.date_of_applications }}{{ entry.purposes }} +
+ {% csrf_token %} + + +
+
+
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +
+
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% comment %} {% block javascript %} + + +{% endblock %} {% endcomment %} diff --git a/FusionIIIT/templates/otheracademic/bonafideForm.html b/FusionIIIT/templates/otheracademic/bonafideForm.html new file mode 100644 index 000000000..8e7253d6f --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideForm.html @@ -0,0 +1,87 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Bonafide Form +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+
+
+ + {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+
+ +
+
+
+

Bonafide Form

+ +
+ {% csrf_token %} +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+ +{% endblock %} + +{% block javascript %} + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/bonafideStatus.html b/FusionIIIT/templates/otheracademic/bonafideStatus.html new file mode 100644 index 000000000..b7403cb03 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideStatus.html @@ -0,0 +1,101 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameBranchSemesterPurposeDate AppliedBonafide pdfStatus
{{ entry.roll_nos_id }}{{ entry.student_names}}{{ entry.branch_types }}{{ entry.semester_types }}{{ entry.purposes }}{{ entry.date_of_applications }}{{ entry.download_file }} + {% if entry.approve %} + Approved + {% elif entry.reject %} + Rejected + {% else %} + Pending + {% endif %} +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html b/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html new file mode 100644 index 000000000..7f15e9dc4 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html @@ -0,0 +1,85 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Seminar Status +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} + + +
+ +
+
+ + + + + + + + + + + {% for entry in form_data %} + + + + + + + {% endfor %} + +
Roll No.SemesterSeminar Date
{{ entry.roll_no }}{{ entry.semester }}{{ entry.date_of_seminar }}
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/graduateseminarForm.html b/FusionIIIT/templates/otheracademic/graduateseminarForm.html new file mode 100644 index 000000000..8fa53cf59 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/graduateseminarForm.html @@ -0,0 +1,63 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ + +
+ +
+
+

Compose File

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+ +
+ +
+ +
+
+{% endblock %} + +{% block javascript %} + + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveStatus.html b/FusionIIIT/templates/otheracademic/leaveStatus.html new file mode 100644 index 000000000..169c9ebb8 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveStatus.html @@ -0,0 +1,105 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameApplied DateDate FromDate toLeave TypeAttachmentPurposeaddressAction
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.date_of_application }}{{ entry.date_from }}{{ entry.date_to }}{{ entry.leave_type }}{{ entry.upload_file }}{{ entry.purpose }}{{ entry.address }} + {% if entry.approved %} + Approved + {% elif entry.rejected %} + Rejected + {% else %} + Pending + {% endif %} +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveform.html b/FusionIIIT/templates/otheracademic/leaveform.html new file mode 100644 index 000000000..bd7b58da7 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveform.html @@ -0,0 +1,92 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Management +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% include 'globals/usercard.html' %} + +
+ + +
+ +
+
+

Leave Form

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+

Leave Status

+ +
+
+ +
+ +
+ +
+
+{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveformreciever.html b/FusionIIIT/templates/otheracademic/leaveformreciever.html new file mode 100644 index 000000000..78a4fcf6c --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveformreciever.html @@ -0,0 +1,131 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + {% for entry in form_data %} + + {% if not entry.approved and not entry.rejected %} + + + + + + + + + + + {% endif %} + + {% endfor %} + +
Roll No.Student NameApplied DateDate FromDate toLeave TypeAttachmentPurposeaddressAction
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.date_of_application }}{{ entry.date_from }}{{ entry.date_to }}{{ entry.leave_type }}{{ entry.upload_file }}{{ entry.purpose }}{{ entry.address }} + + +
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +
+ + + + +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% comment %} {% block javascript %} + + +{% endblock %} {% endcomment %} diff --git a/FusionIIIT/templates/otheracademic/noduesverification.html b/FusionIIIT/templates/otheracademic/noduesverification.html new file mode 100644 index 000000000..25879f3c7 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/noduesverification.html @@ -0,0 +1,94 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ + + + +
+
+

Verify No Dues

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+
+ + + + + +
+ +
+ +
+
+{% endblock %} + +{% block javascript %} + + + + +{% endblock %} \ No newline at end of file From 18de59cd0ea720753c4ed739849a42fe99e674d3 Mon Sep 17 00:00:00 2001 From: SharanKumar06 Date: Mon, 11 Mar 2024 05:04:42 +0530 Subject: [PATCH 005/141] added new usecases --- .../migrations/0002_auto_20240302_2013.py | 18 ----- .../migrations/0003_auto_20240303_1017.py | 18 ----- .../migrations/0004_auto_20240303_1153.py | 18 ----- .../migrations/0005_auto_20240303_1505.py | 18 ----- .../migrations/0006_auto_20240303_2124.py | 18 ----- .../migrations/0007_auto_20240306_1805.py | 18 ----- .../migrations/0008_auto_20240306_1851.py | 18 ----- .../migrations/0009_auto_20240310_2142.py | 18 ----- .../migrations/0001_initial.py | 26 +++---- ...cial_outlay_projects_staff_allocations.py} | 30 +++++-- .../migrations/0002_pr_test.py | 21 ----- .../migrations/0003_prudvi.py | 21 ----- .../migrations/0004_auto_20240303_1017.py | 45 ----------- .../migrations/0005_auto_20240303_1153.py | 78 ------------------- .../migrations/0006_auto_20240303_2124.py | 41 ---------- .../migrations/0007_auto_20240303_2348.py | 56 ------------- .../migrations/0008_auto_20240306_1749.py | 20 ----- .../migrations/0009_auto_20240306_1755.py | 38 --------- .../migrations/0010_projects.py | 37 --------- .../0012_projects_financial_outlay_status.py | 18 ----- .../rs/display_add_staff_details.html | 27 +------ .../rs/display_financial_outlay.html | 10 ++- 22 files changed, 47 insertions(+), 565 deletions(-) delete mode 100644 FusionIIIT/applications/globals/migrations/0002_auto_20240302_2013.py delete mode 100644 FusionIIIT/applications/globals/migrations/0003_auto_20240303_1017.py delete mode 100644 FusionIIIT/applications/globals/migrations/0004_auto_20240303_1153.py delete mode 100644 FusionIIIT/applications/globals/migrations/0005_auto_20240303_1505.py delete mode 100644 FusionIIIT/applications/globals/migrations/0006_auto_20240303_2124.py delete mode 100644 FusionIIIT/applications/globals/migrations/0007_auto_20240306_1805.py delete mode 100644 FusionIIIT/applications/globals/migrations/0008_auto_20240306_1851.py delete mode 100644 FusionIIIT/applications/globals/migrations/0009_auto_20240310_2142.py rename FusionIIIT/applications/research_procedures/migrations/{0011_auto_20240306_1851.py => 0002_category_financial_outlay_projects_staff_allocations.py} (62%) delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0002_pr_test.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0003_prudvi.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0004_auto_20240303_1017.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0005_auto_20240303_1153.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0006_auto_20240303_2124.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0007_auto_20240303_2348.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0008_auto_20240306_1749.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0009_auto_20240306_1755.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0010_projects.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0012_projects_financial_outlay_status.py diff --git a/FusionIIIT/applications/globals/migrations/0002_auto_20240302_2013.py b/FusionIIIT/applications/globals/migrations/0002_auto_20240302_2013.py deleted file mode 100644 index fe2cd112a..000000000 --- a/FusionIIIT/applications/globals/migrations/0002_auto_20240302_2013.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-02 20:13 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0003_auto_20240303_1017.py b/FusionIIIT/applications/globals/migrations/0003_auto_20240303_1017.py deleted file mode 100644 index ccd5863be..000000000 --- a/FusionIIIT/applications/globals/migrations/0003_auto_20240303_1017.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 10:17 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0002_auto_20240302_2013'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('PRESENT', 'PRESENT'), ('NEW', 'NEW')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0004_auto_20240303_1153.py b/FusionIIIT/applications/globals/migrations/0004_auto_20240303_1153.py deleted file mode 100644 index 07d0717cd..000000000 --- a/FusionIIIT/applications/globals/migrations/0004_auto_20240303_1153.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 11:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0003_auto_20240303_1017'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0005_auto_20240303_1505.py b/FusionIIIT/applications/globals/migrations/0005_auto_20240303_1505.py deleted file mode 100644 index 56c1ecbbb..000000000 --- a/FusionIIIT/applications/globals/migrations/0005_auto_20240303_1505.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 15:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0004_auto_20240303_1153'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('PRESENT', 'PRESENT'), ('NEW', 'NEW')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0006_auto_20240303_2124.py b/FusionIIIT/applications/globals/migrations/0006_auto_20240303_2124.py deleted file mode 100644 index fabd6c7f0..000000000 --- a/FusionIIIT/applications/globals/migrations/0006_auto_20240303_2124.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 21:24 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0005_auto_20240303_1505'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0007_auto_20240306_1805.py b/FusionIIIT/applications/globals/migrations/0007_auto_20240306_1805.py deleted file mode 100644 index 4eb5600fb..000000000 --- a/FusionIIIT/applications/globals/migrations/0007_auto_20240306_1805.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-06 18:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0006_auto_20240303_2124'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('PRESENT', 'PRESENT'), ('NEW', 'NEW')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0008_auto_20240306_1851.py b/FusionIIIT/applications/globals/migrations/0008_auto_20240306_1851.py deleted file mode 100644 index c9699a1e1..000000000 --- a/FusionIIIT/applications/globals/migrations/0008_auto_20240306_1851.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-06 18:51 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0007_auto_20240306_1805'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('NEW', 'NEW'), ('PRESENT', 'PRESENT')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/globals/migrations/0009_auto_20240310_2142.py b/FusionIIIT/applications/globals/migrations/0009_auto_20240310_2142.py deleted file mode 100644 index ea03ff90d..000000000 --- a/FusionIIIT/applications/globals/migrations/0009_auto_20240310_2142.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-10 21:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0008_auto_20240306_1851'), - ] - - operations = [ - migrations.AlterField( - model_name='extrainfo', - name='user_status', - field=models.CharField(choices=[('PRESENT', 'PRESENT'), ('NEW', 'NEW')], default='PRESENT', max_length=50), - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py b/FusionIIIT/applications/research_procedures/migrations/0001_initial.py index 33988748c..2b3ff3118 100644 --- a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py +++ b/FusionIIIT/applications/research_procedures/migrations/0001_initial.py @@ -57,19 +57,19 @@ class Migration(migrations.Migration): # ('students_under_group', models.ManyToManyField(related_name='allstudents', to=settings.AUTH_USER_MODEL)), # ], # ), - migrations.CreateModel( - name='Patent', - fields=[ - ('application_id', models.AutoField(primary_key=True, serialize=False)), - ('title', models.CharField(max_length=120)), - ('ipd_form', models.FileField(blank=True, null=True, upload_to='')), - ('project_details', models.FileField(blank=True, null=True, upload_to='')), - ('ipd_form_file', models.TextField(blank=True, null=True)), - ('project_details_file', models.TextField(blank=True, null=True)), - ('status', models.CharField(choices=[('Approved', 'Approved'), ('Disapproved', 'Disapproved'), ('Pending', 'Pending')], default='Pending', max_length=20)), - ('faculty_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - ), + # migrations.CreateModel( + # name='Patent', + # fields=[ + # ('application_id', models.AutoField(primary_key=True, serialize=False)), + # ('title', models.CharField(max_length=120)), + # ('ipd_form', models.FileField(blank=True, null=True, upload_to='')), + # ('project_details', models.FileField(blank=True, null=True, upload_to='')), + # ('ipd_form_file', models.TextField(blank=True, null=True)), + # ('project_details_file', models.TextField(blank=True, null=True)), + # ('status', models.CharField(choices=[('Approved', 'Approved'), ('Disapproved', 'Disapproved'), ('Pending', 'Pending')], default='Pending', max_length=20)), + # ('faculty_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), + # ], + # ), # migrations.CreateModel( # name='ConsultancyProject', # fields=[ diff --git a/FusionIIIT/applications/research_procedures/migrations/0011_auto_20240306_1851.py b/FusionIIIT/applications/research_procedures/migrations/0002_category_financial_outlay_projects_staff_allocations.py similarity index 62% rename from FusionIIIT/applications/research_procedures/migrations/0011_auto_20240306_1851.py rename to FusionIIIT/applications/research_procedures/migrations/0002_category_financial_outlay_projects_staff_allocations.py index e08aba382..7d98dd9bb 100644 --- a/FusionIIIT/applications/research_procedures/migrations/0011_auto_20240306_1851.py +++ b/FusionIIIT/applications/research_procedures/migrations/0002_category_financial_outlay_projects_staff_allocations.py @@ -1,4 +1,4 @@ -# Generated by Django 3.1.5 on 2024-03-06 18:51 +# Generated by Django 3.1.5 on 2024-03-11 05:02 from django.conf import settings from django.db import migrations, models @@ -7,9 +7,11 @@ class Migration(migrations.Migration): + initial = True + dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('research_procedures', '0010_projects'), + ('research_procedures', '0001_initial'), ] operations = [ @@ -24,10 +26,26 @@ class Migration(migrations.Migration): 'ordering': ['-category_id'], }, ), - migrations.AddField( - model_name='projects', - name='project_description', - field=models.CharField(default='description', max_length=500), + migrations.CreateModel( + name='projects', + fields=[ + ('project_id', models.IntegerField(primary_key=True, serialize=False)), + ('project_name', models.CharField(max_length=500)), + ('project_type', models.CharField(max_length=500)), + ('sponsored_agency', models.CharField(max_length=500)), + ('start_date', models.DateField()), + ('submission_date', models.DateField()), + ('finish_date', models.DateField()), + ('years', models.IntegerField()), + ('status', models.IntegerField(default=0)), + ('project_description', models.CharField(default='description', max_length=500)), + ('financial_outlay_status', models.IntegerField(default=0)), + ('co_project_investigator_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='copi_id', to=settings.AUTH_USER_MODEL)), + ('project_investigator_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pi_id', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ['-project_id'], + }, ), migrations.CreateModel( name='staff_allocations', diff --git a/FusionIIIT/applications/research_procedures/migrations/0002_pr_test.py b/FusionIIIT/applications/research_procedures/migrations/0002_pr_test.py deleted file mode 100644 index 577ed037a..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0002_pr_test.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 09:29 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='pr_test', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=120)), - ('age', models.IntegerField()), - ], - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0003_prudvi.py b/FusionIIIT/applications/research_procedures/migrations/0003_prudvi.py deleted file mode 100644 index bb6eed369..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0003_prudvi.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 09:39 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0002_pr_test'), - ] - - operations = [ - migrations.CreateModel( - name='prudvi', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=120)), - ('age', models.IntegerField()), - ], - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0004_auto_20240303_1017.py b/FusionIIIT/applications/research_procedures/migrations/0004_auto_20240303_1017.py deleted file mode 100644 index 3af44b6c1..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0004_auto_20240303_1017.py +++ /dev/null @@ -1,45 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 10:17 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0003_prudvi'), - ] - - operations = [ - migrations.CreateModel( - name='projects', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('project_id', models.IntegerField()), - ('project_name', models.CharField(max_length=500)), - ('project_type', models.CharField(max_length=500)), - ('status', models.IntegerField()), - ('financial_outlay', models.IntegerField()), - ('project_investigator_id', models.CharField(max_length=500)), - ('rspc_admin_id', models.CharField(max_length=500)), - ('co_project_investigator_id', models.CharField(max_length=500)), - ('sponsored_agency', models.CharField(max_length=500)), - ('start_date', models.DateField()), - ('submission_date', models.DateField()), - ('finish_date', models.DateField()), - ], - ), - migrations.CreateModel( - name='requests', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('request_id', models.IntegerField()), - ('project_id', models.IntegerField()), - ('request_type', models.CharField(max_length=500)), - ('project_investigator_id', models.CharField(max_length=400)), - ('status', models.IntegerField()), - ], - ), - migrations.DeleteModel( - name='prudvi', - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0005_auto_20240303_1153.py b/FusionIIIT/applications/research_procedures/migrations/0005_auto_20240303_1153.py deleted file mode 100644 index d2314e976..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0005_auto_20240303_1153.py +++ /dev/null @@ -1,78 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 11:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0004_auto_20240303_1017'), - ] - - operations = [ - migrations.CreateModel( - name='project_staff_info', - fields=[ - ('staff_id', models.CharField(max_length=400, primary_key=True, serialize=False)), - ('project_investigator_id', models.CharField(max_length=500)), - ('project_id', models.IntegerField()), - ('staff_name', models.CharField(max_length=400)), - ('status', models.IntegerField()), - ('description', models.CharField(max_length=400)), - ], - ), - migrations.CreateModel( - name='rspc_inventory', - fields=[ - ('inventory_id', models.IntegerField(primary_key=True, serialize=False)), - ('project_id', models.IntegerField()), - ('project_investigator_id', models.CharField(max_length=500)), - ('status', models.IntegerField()), - ('description', models.CharField(max_length=400)), - ('amount', models.IntegerField(default=0)), - ], - ), - migrations.RemoveField( - model_name='patent', - name='faculty_id', - ), - migrations.DeleteModel( - name='pr_test', - ), - migrations.RemoveField( - model_name='projects', - name='id', - ), - migrations.RemoveField( - model_name='requests', - name='id', - ), - migrations.AddField( - model_name='requests', - name='amount', - field=models.IntegerField(default=0), - ), - migrations.AddField( - model_name='requests', - name='description', - field=models.CharField(default=None, max_length=400, null=True), - ), - migrations.AlterField( - model_name='projects', - name='project_id', - field=models.IntegerField(primary_key=True, serialize=False), - ), - migrations.AlterField( - model_name='requests', - name='project_investigator_id', - field=models.CharField(max_length=500), - ), - migrations.AlterField( - model_name='requests', - name='request_id', - field=models.IntegerField(primary_key=True, serialize=False), - ), - migrations.DeleteModel( - name='Patent', - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0006_auto_20240303_2124.py b/FusionIIIT/applications/research_procedures/migrations/0006_auto_20240303_2124.py deleted file mode 100644 index 2ec530c35..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0006_auto_20240303_2124.py +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 21:24 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0005_auto_20240303_1153'), - ] - - operations = [ - migrations.AlterModelOptions( - name='projects', - options={'ordering': ['-project_id']}, - ), - migrations.RemoveField( - model_name='projects', - name='rspc_admin_id', - ), - migrations.AlterField( - model_name='project_staff_info', - name='status', - field=models.IntegerField(default=0), - ), - migrations.AlterField( - model_name='projects', - name='status', - field=models.IntegerField(default=0), - ), - migrations.AlterField( - model_name='requests', - name='status', - field=models.IntegerField(default=0), - ), - migrations.AlterField( - model_name='rspc_inventory', - name='status', - field=models.IntegerField(default=0), - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0007_auto_20240303_2348.py b/FusionIIIT/applications/research_procedures/migrations/0007_auto_20240303_2348.py deleted file mode 100644 index a55cfb0eb..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0007_auto_20240303_2348.py +++ /dev/null @@ -1,56 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 23:48 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('research_procedures', '0006_auto_20240303_2124'), - ] - - operations = [ - migrations.AlterField( - model_name='project_staff_info', - name='project_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='p_pji', to='research_procedures.projects'), - ), - migrations.AlterField( - model_name='project_staff_info', - name='project_investigator_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='projects', - name='co_project_investigator_id', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jn_copi', to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='projects', - name='project_investigator_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='jn_pid', to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='requests', - name='project_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='research_procedures.projects'), - ), - migrations.AlterField( - model_name='requests', - name='project_investigator_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rj_pi', to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='rspc_inventory', - name='project_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='research_procedures.projects'), - ), - migrations.AlterField( - model_name='rspc_inventory', - name='project_investigator_id', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rin_pi', to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0008_auto_20240306_1749.py b/FusionIIIT/applications/research_procedures/migrations/0008_auto_20240306_1749.py deleted file mode 100644 index 9e95a61f9..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0008_auto_20240306_1749.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-06 17:49 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0007_auto_20240303_2348'), - ] - - operations = [ - migrations.AlterModelOptions( - name='requests', - options={'ordering': ['-request_id']}, - ), - migrations.DeleteModel( - name='project_staff_info', - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0009_auto_20240306_1755.py b/FusionIIIT/applications/research_procedures/migrations/0009_auto_20240306_1755.py deleted file mode 100644 index 2775ac14b..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0009_auto_20240306_1755.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-06 17:55 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0008_auto_20240306_1749'), - ] - - operations = [ - migrations.RemoveField( - model_name='requests', - name='project_id', - ), - migrations.RemoveField( - model_name='requests', - name='project_investigator_id', - ), - migrations.RemoveField( - model_name='rspc_inventory', - name='project_id', - ), - migrations.RemoveField( - model_name='rspc_inventory', - name='project_investigator_id', - ), - migrations.DeleteModel( - name='projects', - ), - migrations.DeleteModel( - name='requests', - ), - migrations.DeleteModel( - name='rspc_inventory', - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0010_projects.py b/FusionIIIT/applications/research_procedures/migrations/0010_projects.py deleted file mode 100644 index 590562836..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0010_projects.py +++ /dev/null @@ -1,37 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-06 18:05 - -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), - ('research_procedures', '0009_auto_20240306_1755'), - ] - - operations = [ - migrations.CreateModel( - name='projects', - fields=[ - ('project_id', models.IntegerField(primary_key=True, serialize=False)), - ('project_name', models.CharField(max_length=500)), - ('project_type', models.CharField(max_length=500)), - ('status', models.IntegerField(default=0)), - ('sponsored_agency', models.CharField(max_length=500)), - ('start_date', models.DateField()), - ('submission_date', models.DateField()), - ('finish_date', models.DateField()), - ('years', models.IntegerField()), - ('co_project_investigator_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='copi_id', to=settings.AUTH_USER_MODEL)), - ('project_investigator_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pi_id', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'ordering': ['-project_id'], - }, - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/0012_projects_financial_outlay_status.py b/FusionIIIT/applications/research_procedures/migrations/0012_projects_financial_outlay_status.py deleted file mode 100644 index bf9ec143e..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0012_projects_financial_outlay_status.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-10 21:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('research_procedures', '0011_auto_20240306_1851'), - ] - - operations = [ - migrations.AddField( - model_name='projects', - name='financial_outlay_status', - field=models.IntegerField(default=0), - ), - ] diff --git a/FusionIIIT/templates/rs/display_add_staff_details.html b/FusionIIIT/templates/rs/display_add_staff_details.html index 5d1c19e22..d05d4ded9 100644 --- a/FusionIIIT/templates/rs/display_add_staff_details.html +++ b/FusionIIIT/templates/rs/display_add_staff_details.html @@ -11,31 +11,6 @@ $(this).closest(".message").transition("fade"); }); - function populate( categoriesId, category_subcategory_map,year) { - console.log(category_subcategory_map) - let id1 = "subcategory-select-"+year+ "-"; - let id2 = categoriesId; - id1 += id2.charAt(id2.length - 1); - subcategoriesId= id1; - var categoriesSelect = document.getElementById(categoriesId); - var subcategoriesSelect = document.getElementById(subcategoriesId); - - subcategoriesSelect.innerHTML = ""; - var optionArray = category_subcategory_map - var selectedSubcategories = []; - for (var key in optionArray) { - if (categoriesSelect.value == key) { - selectedSubcategories = optionArray[key]; - } - } - for (var j = 0; j < selectedSubcategories.length; j++) { - var newOption = document.createElement("option"); - newOption.value = selectedSubcategories[j]; - newOption.innerHTML = selectedSubcategories[j]; - subcategoriesSelect.options.add(newOption); - } - - } function addCategorySection(event,year,category_subcategory_map) { event.preventDefault(); @@ -167,6 +142,8 @@
+ +
diff --git a/FusionIIIT/templates/rs/display_financial_outlay.html b/FusionIIIT/templates/rs/display_financial_outlay.html index fee1aeadc..505ce52a2 100644 --- a/FusionIIIT/templates/rs/display_financial_outlay.html +++ b/FusionIIIT/templates/rs/display_financial_outlay.html @@ -38,12 +38,14 @@ {% for year in years %}

Year {{year}}

- +
- + + + @@ -54,6 +56,10 @@ + + + + {% endif %} {% endfor %} From b99cb2a58db629cffb62fed09e11cfc26592b1e6 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 12 Mar 2024 12:21:12 +0530 Subject: [PATCH 006/141] removed migrations files --- .../migrations/0001_initial.py | 182 ------- .../migrations/__init__.py | 0 .../academic_procedures/._.DS_Store | Bin 4096 -> 0 bytes .../migrations/0001_initial.py | 405 -------------- .../migrations/0002_auto_20240219_0959.py | 49 -- .../migrations/0003_auto_20240219_1004.py | 17 - .../migrations/__init__.py | 0 .../bonafide/migrations/__init__.py | 0 .../central_mess/migrations/0001_initial.py | 186 ------- .../central_mess/migrations/__init__.py | 0 .../migrations/0001_initial.py | 67 --- .../complaint_system/migrations/__init__.py | 0 .../migrations/0001_initial.py | 111 ---- .../counselling_cell/migrations/__init__.py | 0 .../department/migrations/0001_initial.py | 44 -- .../department/migrations/__init__.py | 0 .../eis/migrations/0001_initial.py | 280 ---------- .../eis/migrations/0002_auto_20240303_2357.py | 53 -- .../applications/eis/migrations/__init__.py | 0 .../establishment/migrations/0001_initial.py | 284 ---------- .../establishment/migrations/__init__.py | 0 .../estate_module/migrations/0001_initial.py | 126 ----- .../estate_module/migrations/__init__.py | 0 .../feeds/migrations/0001_initial.py | 148 ------ .../applications/feeds/migrations/__init__.py | 0 .../filetracking/migrations/0001_initial.py | 53 -- .../filetracking/migrations/__init__.py | 0 .../migrations/0001_initial.py | 100 ---- .../finance_accounts/migrations/__init__.py | 0 .../globals/migrations/0001_initial.py | 112 ---- .../migrations/0002_auto_20240303_2357.py | 18 - .../globals/migrations/__init__.py | 0 .../gymkhana/migrations/0001_initial.py | 243 --------- .../gymkhana/migrations/__init__.py | 0 .../health_center/migrations/0001_initial.py | 168 ------ .../health_center/migrations/__init__.py | 0 .../migrations/0001_initial.py | 137 ----- .../hostel_management/migrations/__init__.py | 0 .../hr2/migrations/0001_initial.py | 91 ---- .../applications/hr2/migrations/__init__.py | 0 .../migrations/0001_initial.py | 80 --- .../income_expenditure/migrations/__init__.py | 0 .../iwdModuleV2/migrations/0001_initial.py | 226 -------- .../iwdModuleV2/migrations/__init__.py | 0 .../leave/migrations/0001_initial.py | 169 ------ .../applications/leave/migrations/__init__.py | 0 .../migrations/__init__.py | 0 .../office_module/migrations/0001_initial.py | 492 ------------------ .../office_module/migrations/__init__.py | 0 .../online_cms/migrations/0001_initial.py | 196 ------- .../online_cms/migrations/__init__.py | 0 .../otheracademic/migrations/0001_initial.py | 36 -- .../migrations/0002_graduateseminarform.py | 27 - .../migrations/0003_bonafideformtable.py | 33 -- .../migrations/0004_auto_20240220_0947.py | 38 -- .../0005_graduateseminarformtable.py | 25 - .../migrations/0006_assistantshipclaimform.py | 35 -- .../otheracademic/migrations/__init__.py | 0 .../placement_cell/migrations/0001_initial.py | 289 ---------- .../placement_cell/migrations/__init__.py | 0 .../migrations/0001_initial.py | 142 ----- .../migrations/0002_auto_20240303_2357.py | 23 - .../migrations/__init__.py | 0 .../ps1/migrations/0001_initial.py | 58 --- .../applications/ps1/migrations/__init__.py | 0 .../recruitment/migrations/0001_initial.py | 311 ----------- .../recruitment/migrations/__init__.py | 0 .../migrations/0001_initial.py | 91 ---- .../migrations/__init__.py | 0 .../scholarships/migrations/0001_initial.py | 233 --------- .../migrations/0002_auto_20240303_2357.py | 18 - .../scholarships/migrations/__init__.py | 0 .../visitor_hostel/migrations/0001_initial.py | 134 ----- .../visitor_hostel/migrations/__init__.py | 0 74 files changed, 5530 deletions(-) delete mode 100644 FusionIIIT/applications/academic_information/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/academic_information/migrations/__init__.py delete mode 100755 FusionIIIT/applications/academic_procedures/._.DS_Store delete mode 100755 FusionIIIT/applications/academic_procedures/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/academic_procedures/migrations/0002_auto_20240219_0959.py delete mode 100644 FusionIIIT/applications/academic_procedures/migrations/0003_auto_20240219_1004.py delete mode 100755 FusionIIIT/applications/academic_procedures/migrations/__init__.py delete mode 100644 FusionIIIT/applications/bonafide/migrations/__init__.py delete mode 100644 FusionIIIT/applications/central_mess/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/central_mess/migrations/__init__.py delete mode 100644 FusionIIIT/applications/complaint_system/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/complaint_system/migrations/__init__.py delete mode 100644 FusionIIIT/applications/counselling_cell/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/counselling_cell/migrations/__init__.py delete mode 100644 FusionIIIT/applications/department/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/department/migrations/__init__.py delete mode 100644 FusionIIIT/applications/eis/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/eis/migrations/0002_auto_20240303_2357.py delete mode 100644 FusionIIIT/applications/eis/migrations/__init__.py delete mode 100644 FusionIIIT/applications/establishment/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/establishment/migrations/__init__.py delete mode 100644 FusionIIIT/applications/estate_module/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/estate_module/migrations/__init__.py delete mode 100644 FusionIIIT/applications/feeds/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/feeds/migrations/__init__.py delete mode 100644 FusionIIIT/applications/filetracking/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/filetracking/migrations/__init__.py delete mode 100644 FusionIIIT/applications/finance_accounts/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/finance_accounts/migrations/__init__.py delete mode 100644 FusionIIIT/applications/globals/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/globals/migrations/0002_auto_20240303_2357.py delete mode 100644 FusionIIIT/applications/globals/migrations/__init__.py delete mode 100644 FusionIIIT/applications/gymkhana/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/gymkhana/migrations/__init__.py delete mode 100644 FusionIIIT/applications/health_center/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/health_center/migrations/__init__.py delete mode 100644 FusionIIIT/applications/hostel_management/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/hostel_management/migrations/__init__.py delete mode 100644 FusionIIIT/applications/hr2/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/hr2/migrations/__init__.py delete mode 100644 FusionIIIT/applications/income_expenditure/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/income_expenditure/migrations/__init__.py delete mode 100644 FusionIIIT/applications/iwdModuleV2/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/iwdModuleV2/migrations/__init__.py delete mode 100644 FusionIIIT/applications/leave/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/leave/migrations/__init__.py delete mode 100644 FusionIIIT/applications/notifications_extension/migrations/__init__.py delete mode 100644 FusionIIIT/applications/office_module/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/office_module/migrations/__init__.py delete mode 100644 FusionIIIT/applications/online_cms/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/online_cms/migrations/__init__.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py delete mode 100644 FusionIIIT/applications/otheracademic/migrations/__init__.py delete mode 100644 FusionIIIT/applications/placement_cell/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/placement_cell/migrations/__init__.py delete mode 100644 FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py delete mode 100644 FusionIIIT/applications/programme_curriculum/migrations/__init__.py delete mode 100644 FusionIIIT/applications/ps1/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/ps1/migrations/__init__.py delete mode 100644 FusionIIIT/applications/recruitment/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/recruitment/migrations/__init__.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/__init__.py delete mode 100644 FusionIIIT/applications/scholarships/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py delete mode 100644 FusionIIIT/applications/scholarships/migrations/__init__.py delete mode 100644 FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/visitor_hostel/migrations/__init__.py diff --git a/FusionIIIT/applications/academic_information/migrations/0001_initial.py b/FusionIIIT/applications/academic_information/migrations/0001_initial.py deleted file mode 100644 index f75d3119c..000000000 --- a/FusionIIIT/applications/academic_information/migrations/0001_initial.py +++ /dev/null @@ -1,182 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('programme_curriculum', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Calendar', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('from_date', models.DateField()), - ('to_date', models.DateField()), - ('description', models.CharField(max_length=40)), - ], - options={ - 'db_table': 'Calendar', - }, - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('course_name', models.CharField(max_length=600)), - ('course_details', models.TextField(max_length=500)), - ], - options={ - 'db_table': 'Course', - }, - ), - migrations.CreateModel( - name='Curriculum', - fields=[ - ('curriculum_id', models.AutoField(primary_key=True, serialize=False)), - ('course_code', models.CharField(max_length=20)), - ('credits', models.IntegerField()), - ('course_type', models.CharField(choices=[('Professional Core', 'Professional Core'), ('Professional Elective', 'Professional Elective'), ('Professional Lab', 'Professional Lab'), ('Engineering Science', 'Engineering Science'), ('Natural Science', 'Natural Science'), ('Humanities', 'Humanities'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('Management Science', 'Management Science')], max_length=25)), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('branch', models.CharField(choices=[('CSE', 'CSE'), ('ECE', 'ECE'), ('ME', 'ME'), ('DESIGN', 'DESIGN'), ('Common', 'Common')], default='Common', max_length=10)), - ('batch', models.IntegerField()), - ('sem', models.IntegerField()), - ('optional', models.BooleanField(default=False)), - ('floated', models.BooleanField(default=False)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - options={ - 'db_table': 'Curriculum', - 'unique_together': {('course_code', 'batch', 'programme')}, - }, - ), - migrations.CreateModel( - name='Curriculum_Instructor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('chief_inst', models.BooleanField(default=False)), - ('curriculum_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'Curriculum_Instructor', - 'unique_together': {('curriculum_id', 'instructor_id')}, - }, - ), - migrations.CreateModel( - name='Exam_timetable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_date', models.DateField(auto_now_add=True)), - ('exam_time_table', models.FileField(upload_to='Administrator/academic_information/')), - ('batch', models.IntegerField(default='2016')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ], - options={ - 'db_table': 'Exam_Timetable', - }, - ), - migrations.CreateModel( - name='Holiday', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('holiday_date', models.DateField()), - ('holiday_name', models.CharField(max_length=40)), - ('holiday_type', models.CharField(choices=[('restricted', 'restricted'), ('closed', 'closed'), ('vacation', 'vacation')], default='restricted', max_length=30)), - ], - options={ - 'db_table': 'Holiday', - }, - ), - migrations.CreateModel( - name='Meeting', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('venue', models.CharField(max_length=50)), - ('date', models.DateField()), - ('time', models.CharField(max_length=20)), - ('agenda', models.TextField()), - ('minutes_file', models.CharField(max_length=40)), - ], - options={ - 'db_table': 'Meeting', - }, - ), - migrations.CreateModel( - name='Student', - fields=[ - ('id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='globals.extrainfo')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('batch', models.IntegerField(default=2016)), - ('cpi', models.FloatField(default=0)), - ('category', models.CharField(choices=[('GEN', 'General'), ('SC', 'Scheduled Castes'), ('ST', 'Scheduled Tribes'), ('OBC', 'Other Backward Classes')], max_length=10)), - ('father_name', models.CharField(default='', max_length=40)), - ('mother_name', models.CharField(default='', max_length=40)), - ('hall_no', models.IntegerField(default=0)), - ('room_no', models.CharField(blank=True, max_length=10, null=True)), - ('specialization', models.CharField(choices=[('Power and Control', 'Power and Control'), ('Microwave and Communication Engineering', 'Microwave and Communication Engineering'), ('Micro-nano Electronics', 'Micro-nano Electronics'), ('CAD/CAM', 'CAD/CAM'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('CSE', 'CSE'), ('Mechatronics', 'Mechatronics'), ('MDes', 'MDes'), ('None', 'None')], default='', max_length=40, null=True)), - ('curr_semester_no', models.IntegerField(default=1)), - ('batch_id', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.batch')), - ], - ), - migrations.CreateModel( - name='Timetable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_date', models.DateTimeField(auto_now_add=True)), - ('time_table', models.FileField(upload_to='Administrator/academic_information/')), - ('batch', models.IntegerField(default='2016')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('branch', models.CharField(choices=[('CSE', 'CSE'), ('ECE', 'ECE'), ('ME', 'ME'), ('DESIGN', 'DESIGN'), ('Common', 'Common')], default='Common', max_length=10)), - ], - options={ - 'db_table': 'Timetable', - }, - ), - migrations.CreateModel( - name='Student_attendance', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField()), - ('present', models.BooleanField(default=False)), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum_instructor')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Student_attendance', - }, - ), - migrations.CreateModel( - name='Grades', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('grade', models.CharField(max_length=4)), - ('verify', models.BooleanField(default=False)), - ('curriculum_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Grades', - }, - ), - migrations.CreateModel( - name='Spi', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('sem', models.IntegerField()), - ('spi', models.FloatField(default=0)), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Spi', - 'unique_together': {('student_id', 'sem')}, - }, - ), - ] diff --git a/FusionIIIT/applications/academic_information/migrations/__init__.py b/FusionIIIT/applications/academic_information/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/academic_procedures/._.DS_Store b/FusionIIIT/applications/academic_procedures/._.DS_Store deleted file mode 100755 index d61ffb305b2f4e122121cb31277ed7ad18851aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIhYCu0iY;W;207T z#K0gp5u$^k0;{4?!O;*H4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5TJ4hFapg3 zVK9&j$;d2LC`v8PFD*(=RY=P(%2vqCD@n~O$;{77%*m-#$Vp8rQAo;3%*zILb)mY3 QG==JaxL0Ht2500000')], default=0)), - ('purpose', models.CharField(default=0, max_length=200)), - ('budgetary_head', models.CharField(default=0, max_length=200)), - ('invoice', models.FileField(default=0, upload_to='')), - ('nature_of_item1', models.IntegerField(choices=[('0', 'Non-consumable'), ('1', 'Consumable')], default=0)), - ('nature_of_item2', models.IntegerField(choices=[('0', 'Equipment'), ('1', 'Machinery'), ('2', 'Furniture'), ('3', 'Fixture')], default=0)), - ('item_name', models.CharField(default=0, max_length=100)), - ('expected_cost', models.IntegerField(default=0)), - ('quantity', models.IntegerField(default=0)), - ('indentor_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='indentor_name', to='globals.extrainfo')), - ], - options={ - 'db_table': 'apply_for_purchase', - }, - ), - migrations.CreateModel( - name='Member', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meeting_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.meeting')), - ('member_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.faculty')), - ], - options={ - 'db_table': 'Member', - 'unique_together': {('member_id', 'meeting_id')}, - }, - ), - migrations.CreateModel( - name='Assistantship', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('file', models.FileField(blank=True, null=True, upload_to='documents/')), - ('action', models.IntegerField(default=0)), - ('comments', models.CharField(blank=True, max_length=150, null=True)), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum_instructor')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Assistantship', - 'unique_together': {('student_id', 'instructor_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/office_module/migrations/__init__.py b/FusionIIIT/applications/office_module/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/online_cms/migrations/0001_initial.py b/FusionIIIT/applications/online_cms/migrations/0001_initial.py deleted file mode 100644 index 4e3377ab7..000000000 --- a/FusionIIIT/applications/online_cms/migrations/0001_initial.py +++ /dev/null @@ -1,196 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Assignment', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('submit_date', models.DateTimeField()), - ('assignment_name', models.CharField(max_length=100)), - ('assignment_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Forum', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('comment_time', models.DateTimeField(auto_now=True)), - ('comment', models.TextField(max_length=2000)), - ('commenter_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Practice', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('prac_quiz_name', models.CharField(max_length=20)), - ('negative_marks', models.FloatField(default=0)), - ('number_of_question', models.IntegerField(default=0)), - ('description', models.TextField(max_length=1000)), - ('total_score', models.IntegerField(default=0)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Question', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.TextField(max_length=1000)), - ('options1', models.CharField(max_length=100, null=True)), - ('options2', models.CharField(max_length=100, null=True)), - ('options3', models.CharField(max_length=100, null=True)), - ('options4', models.CharField(max_length=100, null=True)), - ('options5', models.CharField(max_length=100, null=True)), - ('answer', models.IntegerField()), - ('image', models.TextField(max_length=1000, null=True)), - ('marks', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='Quiz', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('quiz_name', models.CharField(max_length=20)), - ('end_time', models.DateTimeField()), - ('start_time', models.DateTimeField()), - ('d_day', models.CharField(max_length=2)), - ('d_hour', models.CharField(max_length=2)), - ('d_minute', models.CharField(max_length=2)), - ('negative_marks', models.FloatField(default=0)), - ('number_of_question', models.IntegerField(default=0)), - ('description', models.TextField(max_length=1000)), - ('rules', models.TextField(max_length=2000)), - ('total_score', models.IntegerField(default=0)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='QuizQuestion', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.question')), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ], - ), - migrations.CreateModel( - name='Topics', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('topic_name', models.TextField(max_length=200)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='StudentAssignment', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('upload_url', models.TextField(max_length=200)), - ('score', models.IntegerField(null=True)), - ('feedback', models.CharField(max_length=100, null=True)), - ('assign_name', models.CharField(max_length=100)), - ('assignment_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.assignment')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='StudentAnswer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('choice', models.IntegerField()), - ('question_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quizquestion')), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='QuizResult', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('score', models.IntegerField()), - ('finished', models.BooleanField(default=False)), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='QuestionBank', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - ), - migrations.AddField( - model_name='question', - name='question_bank', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.questionbank'), - ), - migrations.AddField( - model_name='question', - name='topic', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.topics'), - ), - migrations.CreateModel( - name='PracticeQuestion', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.TextField(max_length=1000)), - ('options1', models.CharField(max_length=100, null=True)), - ('options2', models.CharField(max_length=100, null=True)), - ('options3', models.CharField(max_length=100, null=True)), - ('options4', models.CharField(max_length=100, null=True)), - ('options5', models.CharField(max_length=100, null=True)), - ('answer', models.IntegerField()), - ('image', models.TextField(max_length=1000, null=True)), - ('prac_quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.practice')), - ], - ), - migrations.CreateModel( - name='ForumReply', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('forum_ques', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='forum_ques', to='online_cms.forum')), - ('forum_reply', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='forum_reply', to='online_cms.forum')), - ], - ), - migrations.CreateModel( - name='CourseVideo', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('description', models.CharField(max_length=100)), - ('video_name', models.CharField(max_length=40)), - ('video_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='CourseDocuments', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('description', models.CharField(max_length=100)), - ('document_name', models.CharField(max_length=40)), - ('document_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - ] diff --git a/FusionIIIT/applications/online_cms/migrations/__init__.py b/FusionIIIT/applications/online_cms/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/otheracademic/migrations/0001_initial.py b/FusionIIIT/applications/otheracademic/migrations/0001_initial.py deleted file mode 100644 index 280ecf0b0..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0001_initial.py +++ /dev/null @@ -1,36 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 00:23 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('globals', '0004_auto_20240219_1004'), - ] - - operations = [ - migrations.CreateModel( - name='LeaveFormTable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('student_name', models.CharField(max_length=100)), - ('date_from', models.DateField()), - ('date_to', models.DateField()), - ('date_of_application', models.DateField()), - ('upload_file', models.FileField(blank=True, upload_to='')), - ('address', models.CharField(max_length=100)), - ('purpose', models.TextField()), - ('leave_type', models.CharField(choices=[('Casual', 'Casual'), ('Medical', 'Medical')], max_length=20)), - ('approved', models.BooleanField()), - ('rejected', models.BooleanField()), - ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'LeaveFormTable', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py b/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py deleted file mode 100644 index 38414fba0..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0002_graduateseminarform.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 07:18 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0005_auto_20240220_0718'), - ('otheracademic', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='GraduateSeminarForm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('semester', models.CharField(max_length=100)), - ('date_of_seminar', models.DateField()), - ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'GraduateSeminarForm', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py b/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py deleted file mode 100644 index 923d96a16..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0003_bonafideformtable.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 09:01 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0006_auto_20240220_0901'), - ('otheracademic', '0002_graduateseminarform'), - ] - - operations = [ - migrations.CreateModel( - name='BonafideFormTable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('student_name', models.CharField(max_length=100)), - ('branch_type', models.CharField(choices=[('Computer Science and Engineering', 'Computer Science and Engineering'), ('Mechanical Engineering', 'Mechanical Engineering'), ('Smart Manufacturing', 'Smart Manufacturing'), ('Electroctics and Communication Engineering', 'Electronic and Communication Engineering'), ('Design', 'Design')], max_length=50)), - ('semester_type', models.CharField(choices=[('I', 'I'), ('II', 'II'), ('III', 'III'), ('IV', 'IV'), ('V', 'V'), ('VI', 'VI'), ('VII', 'VII'), ('VIII', 'VIII')], max_length=20)), - ('purpose', models.TextField()), - ('date_of_application', models.DateField()), - ('approved', models.BooleanField()), - ('rejected', models.BooleanField()), - ('download_file', models.FileField(blank=True, upload_to='')), - ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'BonafideFormTable', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py b/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py deleted file mode 100644 index e0f0c75e2..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0004_auto_20240220_0947.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 09:47 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0007_auto_20240220_0947'), - ('otheracademic', '0003_bonafideformtable'), - ] - - operations = [ - migrations.AlterField( - model_name='bonafideformtable', - name='branch_type', - field=models.CharField(choices=[('CSE', 'CSE'), ('ME', 'ME'), ('SM', 'SM'), ('ECE', 'ECE'), ('Design', 'Design')], max_length=50), - ), - migrations.CreateModel( - name='BonafideFormTableUpdated', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('student_names', models.CharField(max_length=100)), - ('branch_types', models.CharField(max_length=50)), - ('semester_types', models.CharField(max_length=20)), - ('purposes', models.TextField()), - ('date_of_applications', models.DateField()), - ('approve', models.BooleanField()), - ('reject', models.BooleanField()), - ('download_file', models.FileField(blank=True, upload_to='')), - ('roll_nos', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'BonafideFormTableUpdated', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py b/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py deleted file mode 100644 index 8e1ac537a..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0005_graduateseminarformtable.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 15:05 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('otheracademic', '0004_auto_20240220_0947'), - ] - - operations = [ - migrations.CreateModel( - name='GraduateSeminarFormTable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('roll_no', models.CharField(max_length=20)), - ('semester', models.CharField(max_length=100)), - ('date_of_seminar', models.DateField()), - ], - options={ - 'db_table': 'GraduateSeminarFormTable', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py b/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py deleted file mode 100644 index de00e1b0c..000000000 --- a/FusionIIIT/applications/otheracademic/migrations/0006_assistantshipclaimform.py +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by Django 3.1.5 on 2024-02-20 15:45 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('globals', '0007_auto_20240220_0947'), - ('otheracademic', '0005_graduateseminarformtable'), - ] - - operations = [ - migrations.CreateModel( - name='AssistantshipClaimForm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('student_name', models.CharField(max_length=100)), - ('discipline', models.CharField(max_length=100)), - ('month', models.CharField(max_length=50)), - ('year', models.CharField(max_length=50)), - ('bank_account', models.CharField(max_length=100)), - ('student_signature', models.CharField(max_length=100)), - ('ta_supervisor', models.CharField(max_length=100)), - ('thesis_supervisor', models.CharField(max_length=100)), - ('date', models.DateField()), - ('approved', models.BooleanField()), - ('roll_no', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'AssistantshipClaimForm', - }, - ), - ] diff --git a/FusionIIIT/applications/otheracademic/migrations/__init__.py b/FusionIIIT/applications/otheracademic/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/placement_cell/migrations/0001_initial.py b/FusionIIIT/applications/placement_cell/migrations/0001_initial.py deleted file mode 100644 index 257c98609..000000000 --- a/FusionIIIT/applications/placement_cell/migrations/0001_initial.py +++ /dev/null @@ -1,289 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='ChairmanVisit', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('company_name', models.CharField(default='', max_length=100)), - ('location', models.CharField(default='', max_length=100)), - ('visiting_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='CompanyDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('company_name', models.CharField(blank=True, max_length=100, null=True)), - ], - ), - migrations.CreateModel( - name='MessageOfficer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('message', models.CharField(default='', max_length=100)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='NotifyStudent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('placement_type', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('company_name', models.CharField(default='', max_length=100)), - ('ctc', models.DecimalField(decimal_places=4, max_digits=10)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='PlacementRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('placement_type', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('name', models.CharField(default='', max_length=100)), - ('ctc', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('year', models.IntegerField(default=0)), - ('test_score', models.IntegerField(blank=True, default=0, null=True)), - ('test_type', models.CharField(blank=True, default='', max_length=30, null=True)), - ], - ), - migrations.CreateModel( - name='Role', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('role', models.CharField(blank=True, max_length=100, null=True)), - ], - ), - migrations.CreateModel( - name='Skill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('skill', models.CharField(default='', max_length=30)), - ], - ), - migrations.CreateModel( - name='StudentPlacement', - fields=[ - ('unique_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='academic_information.student')), - ('debar', models.CharField(choices=[('NOT DEBAR', 'Not Debar'), ('DEBAR', 'Debar')], default='NOT DEBAR', max_length=20)), - ('future_aspect', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('placed_type', models.CharField(choices=[('NOT PLACED', 'Not Placed'), ('PLACED', 'Placed')], default='NOT PLACED', max_length=20)), - ('placement_date', models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Date')), - ('package', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)), - ], - ), - migrations.CreateModel( - name='Reference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('reference_name', models.CharField(default='', max_length=100)), - ('post', models.CharField(blank=True, default='', max_length=100, null=True)), - ('email', models.CharField(default='', max_length=50)), - ('mobile_number', models.CharField(blank=True, max_length=15, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Publication', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('publication_title', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('publisher', models.TextField(default='', max_length=250)), - ('publication_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Project', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('project_name', models.CharField(default='', max_length=50)), - ('project_status', models.CharField(choices=[('ONGOING', 'Ongoing'), ('COMPLETED', 'Completed')], default='COMPLETED', max_length=20)), - ('summary', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('project_link', models.CharField(blank=True, default='', max_length=200, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='PlacementSchedule', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='', max_length=100)), - ('placement_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('location', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=500, null=True)), - ('time', models.TimeField()), - ('attached_file', models.FileField(blank=True, null=True, upload_to='documents/placement/schedule')), - ('schedule_at', models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True)), - ('notify_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.notifystudent')), - ('role', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='placement_cell.role')), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('patent_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('patent_office', models.TextField(default='', max_length=250)), - ('patent_date', models.DateField()), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Interest', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('interest', models.CharField(default='', max_length=100)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Extracurricular', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('event_name', models.CharField(default='', max_length=100)), - ('event_type', models.CharField(choices=[('SOCIAL', 'Social'), ('CULTURE', 'Culture'), ('SPORT', 'Sport'), ('OTHER', 'Other')], default='OTHER', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('name_of_position', models.CharField(default='', max_length=200)), - ('date_earned', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Experience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='', max_length=100)), - ('status', models.CharField(choices=[('ONGOING', 'Ongoing'), ('COMPLETED', 'Completed')], default='COMPLETED', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=500, null=True)), - ('company', models.CharField(default='', max_length=200)), - ('location', models.CharField(default='', max_length=200)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Education', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('degree', models.CharField(default='', max_length=40)), - ('grade', models.CharField(default='', max_length=10)), - ('institute', models.TextField(default='', max_length=250)), - ('stream', models.CharField(blank=True, default='', max_length=150, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('course_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('license_no', models.CharField(blank=True, default='', max_length=100, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Conference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('conference_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Coinventor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('coinventor_name', models.CharField(default='', max_length=100)), - ('patent_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.patent')), - ], - ), - migrations.CreateModel( - name='Coauthor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('coauthor_name', models.CharField(default='', max_length=100)), - ('publication_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.publication')), - ], - ), - migrations.CreateModel( - name='Achievement', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('achievement', models.CharField(default='', max_length=100)), - ('achievement_type', models.CharField(choices=[('EDUCATIONAL', 'Educational'), ('OTHER', 'Other')], default='OTHER', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('issuer', models.CharField(default='', max_length=200)), - ('date_earned', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='StudentRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('record_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.placementrecord')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('record_id', 'unique_id')}, - }, - ), - migrations.CreateModel( - name='PlacementStatus', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('invitation', models.CharField(choices=[('ACCEPTED', 'Accepted'), ('REJECTED', 'Rejected'), ('PENDING', 'Pending'), ('IGNORE', 'IGNORE')], default='PENDING', max_length=20)), - ('placed', models.CharField(choices=[('NOT PLACED', 'Not Placed'), ('PLACED', 'Placed')], default='NOT PLACED', max_length=20)), - ('timestamp', models.DateTimeField(auto_now=True)), - ('no_of_days', models.IntegerField(blank=True, default=10, null=True)), - ('notify_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.notifystudent')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('notify_id', 'unique_id')}, - }, - ), - migrations.CreateModel( - name='Has', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('skill_rating', models.IntegerField(default=80)), - ('skill_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.skill')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('skill_id', 'unique_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/placement_cell/migrations/__init__.py b/FusionIIIT/applications/placement_cell/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py b/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py deleted file mode 100644 index b01ec58a7..000000000 --- a/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py +++ /dev/null @@ -1,142 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Curriculum', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('version', models.PositiveIntegerField(default=1)), - ('working_curriculum', models.BooleanField(default=True)), - ('no_of_semester', models.PositiveIntegerField(default=1)), - ('min_credit', models.PositiveIntegerField(default=0)), - ], - ), - migrations.CreateModel( - name='Programme', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('category', models.CharField(choices=[('UG', 'Undergraduate'), ('PG', 'Postgraduate'), ('PHD', 'Doctor of Philosophy')], max_length=3)), - ('name', models.CharField(max_length=70, unique=True)), - ('programme_begin_year', models.PositiveIntegerField(default=2023)), - ], - ), - migrations.CreateModel( - name='Semester', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('semester_no', models.PositiveIntegerField()), - ('instigate_semester', models.BooleanField(default=False, null=True)), - ('start_semester', models.DateField(blank=True, null=True)), - ('end_semester', models.DateField(blank=True, null=True)), - ('semester_info', models.TextField(blank=True, null=True)), - ('curriculum', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.curriculum')), - ], - options={ - 'unique_together': {('curriculum', 'semester_no')}, - }, - ), - migrations.CreateModel( - name='Discipline', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100, unique=True)), - ('acronym', models.CharField(default='', max_length=10)), - ('programmes', models.ManyToManyField(blank=True, to='programme_curriculum.Programme')), - ], - ), - migrations.AddField( - model_name='curriculum', - name='programme', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.programme'), - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('code', models.CharField(max_length=10, unique=True)), - ('name', models.CharField(max_length=100, unique=True)), - ('credit', models.PositiveIntegerField(default=0)), - ('lecture_hours', models.PositiveIntegerField(null=True)), - ('tutorial_hours', models.PositiveIntegerField(null=True)), - ('pratical_hours', models.PositiveIntegerField(null=True)), - ('discussion_hours', models.PositiveIntegerField(null=True)), - ('project_hours', models.PositiveIntegerField(null=True)), - ('pre_requisits', models.TextField(blank=True, null=True)), - ('syllabus', models.TextField()), - ('percent_quiz_1', models.PositiveIntegerField(default=10)), - ('percent_midsem', models.PositiveIntegerField(default=20)), - ('percent_quiz_2', models.PositiveIntegerField(default=10)), - ('percent_endsem', models.PositiveIntegerField(default=30)), - ('percent_project', models.PositiveIntegerField(default=15)), - ('percent_lab_evaluation', models.PositiveIntegerField(default=10)), - ('percent_course_attendance', models.PositiveIntegerField(default=5)), - ('ref_books', models.TextField()), - ('working_course', models.BooleanField(default=True)), - ('disciplines', models.ManyToManyField(blank=True, to='programme_curriculum.Discipline')), - ('pre_requisit_courses', models.ManyToManyField(blank=True, related_name='_course_pre_requisit_courses_+', to='programme_curriculum.Course')), - ], - options={ - 'unique_together': {('code', 'name')}, - }, - ), - migrations.CreateModel( - name='Batch', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(choices=[('B.Tech', 'B.Tech'), ('M.Tech', 'M.Tech'), ('B.Des', 'B.Des'), ('M.Des', 'M.Des'), ('Phd', 'Phd')], max_length=50)), - ('year', models.PositiveIntegerField(default=2023)), - ('running_batch', models.BooleanField(default=True)), - ('curriculum', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='programme_curriculum.curriculum')), - ('discipline', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.discipline')), - ], - options={ - 'unique_together': {('name', 'discipline', 'year')}, - }, - ), - migrations.AlterUniqueTogether( - name='curriculum', - unique_together={('name', 'version')}, - ), - migrations.CreateModel( - name='CourseSlot', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('type', models.CharField(choices=[('Professional Core', 'Professional Core'), ('Professional Elective', 'Professional Elective'), ('Professional Lab', 'Professional Lab'), ('Engineering Science', 'Engineering Science'), ('Natural Science', 'Natural Science'), ('Humanities', 'Humanities'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('Management Science', 'Management Science'), ('Optional Elective', 'Optional Elective'), ('Project', 'Project'), ('Optional', 'Optional'), ('Others', 'Others')], max_length=70)), - ('course_slot_info', models.TextField(null=True)), - ('duration', models.PositiveIntegerField(default=1)), - ('min_registration_limit', models.PositiveIntegerField(default=0)), - ('max_registration_limit', models.PositiveIntegerField(default=1000)), - ('courses', models.ManyToManyField(blank=True, to='programme_curriculum.Course')), - ('semester', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.semester')), - ], - options={ - 'unique_together': {('semester', 'name', 'type')}, - }, - ), - migrations.CreateModel( - name='CourseInstructor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('batch_id', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.batch')), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.course')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'unique_together': {('course_id', 'instructor_id', 'batch_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py deleted file mode 100644 index 375262c6f..000000000 --- a/FusionIIIT/applications/programme_curriculum/migrations/0002_auto_20240303_2357.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 23:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('programme_curriculum', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='batch', - name='year', - field=models.PositiveIntegerField(default=2024), - ), - migrations.AlterField( - model_name='programme', - name='programme_begin_year', - field=models.PositiveIntegerField(default=2024), - ), - ] diff --git a/FusionIIIT/applications/programme_curriculum/migrations/__init__.py b/FusionIIIT/applications/programme_curriculum/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/ps1/migrations/0001_initial.py b/FusionIIIT/applications/ps1/migrations/0001_initial.py deleted file mode 100644 index 4cd74fe33..000000000 --- a/FusionIIIT/applications/ps1/migrations/0001_initial.py +++ /dev/null @@ -1,58 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('filetracking', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='IndentFile', - fields=[ - ('file_info', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='filetracking.file')), - ('item_name', models.CharField(max_length=250)), - ('quantity', models.IntegerField()), - ('present_stock', models.IntegerField()), - ('estimated_cost', models.IntegerField(null=True)), - ('purpose', models.CharField(max_length=250)), - ('specification', models.CharField(max_length=250)), - ('indent_type', models.CharField(max_length=250)), - ('nature', models.BooleanField(default=False)), - ('indigenous', models.BooleanField(default=False)), - ('replaced', models.BooleanField(default=False)), - ('budgetary_head', models.CharField(max_length=250)), - ('expected_delivery', models.DateField()), - ('sources_of_supply', models.CharField(max_length=250)), - ('head_approval', models.BooleanField(default=False)), - ('director_approval', models.BooleanField(default=False)), - ('financial_approval', models.BooleanField(default=False)), - ('purchased', models.BooleanField(default=False)), - ], - options={ - 'db_table': 'IndentFile', - }, - ), - migrations.CreateModel( - name='StockEntry', - fields=[ - ('item_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='ps1.indentfile')), - ('vendor', models.CharField(max_length=250)), - ('item_name', models.CharField(max_length=250)), - ('current_stock', models.IntegerField()), - ('recieved_date', models.DateField()), - ('bill', models.FileField(upload_to='')), - ('dealing_assistant_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'StockEntry', - }, - ), - ] diff --git a/FusionIIIT/applications/ps1/migrations/__init__.py b/FusionIIIT/applications/ps1/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/recruitment/migrations/0001_initial.py b/FusionIIIT/applications/recruitment/migrations/0001_initial.py deleted file mode 100644 index 9cf2d3a77..000000000 --- a/FusionIIIT/applications/recruitment/migrations/0001_initial.py +++ /dev/null @@ -1,311 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='EducationalDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('university', models.CharField(max_length=200)), - ('board', models.CharField(max_length=200)), - ('year_of_passing', models.IntegerField()), - ('division', models.CharField(max_length=6)), - ], - ), - migrations.CreateModel( - name='Experience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('duration', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=100, null=True)), - ('area', models.CharField(max_length=200, null=True)), - ], - ), - migrations.CreateModel( - name='Vacancy', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('advertisement_number', models.IntegerField()), - ('job_description', models.TextField()), - ('job_notification', models.FileField(upload_to='')), - ('number_of_vacancy', models.IntegerField(default=1)), - ('job_type', models.CharField(choices=[('T', 'Teaching'), ('NT', 'Non-Teaching')], max_length=15)), - ('last_date', models.DateField()), - ], - ), - migrations.CreateModel( - name='ThesisSupervision', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name_of_student', models.CharField(max_length=200)), - ('masters_or_phd', models.CharField(choices=[('Masters', 'Masters'), ('PhD', 'PhD')], max_length=20)), - ('year_of_completion', models.IntegerField()), - ('title_of_thesis', models.CharField(max_length=100)), - ('co_guides', models.CharField(max_length=200, null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='TeachingExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('teaching_experience', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.experience')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='SponsoredProjects', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.CharField(max_length=10)), - ('sponsoring_organisation', models.CharField(max_length=200)), - ('title_of_project', models.CharField(max_length=200)), - ('grant_amount', models.IntegerField(null=True)), - ('co_investigators', models.CharField(max_length=200, null=True)), - ('status', models.CharField(choices=[('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=20)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('research_experience', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.experience')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='References', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('address', models.TextField(null=True)), - ('email', models.EmailField(max_length=254)), - ('mobile_number', models.BigIntegerField()), - ('department', models.CharField(max_length=50)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='QualifiedExams', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('net', models.BooleanField()), - ('gate', models.BooleanField()), - ('jrf', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Publications', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('referred_journal', models.CharField(max_length=100)), - ('sci_index_journal', models.CharField(max_length=100)), - ('international_conferences', models.CharField(max_length=100, null=True)), - ('national_conferences', models.CharField(max_length=100, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='PersonalDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='Dr.', max_length=20)), - ('sex', models.CharField(choices=[('M', 'Male'), ('F', 'Female'), ('O', 'Other')], default='M', max_length=2)), - ('profile_picture', models.ImageField(blank=True, null=True, upload_to='')), - ('marital_status', models.CharField(choices=[('M', 'Married'), ('U', 'Unmarried')], max_length=10)), - ('discipline', models.CharField(max_length=50)), - ('specialization', models.CharField(choices=[('MA', 'Major'), ('MI', 'Minor')], max_length=10)), - ('category', models.CharField(choices=[('PH', 'Physically Handicapped'), ('UR', 'Unreserved'), ('OBC', 'Other Backward Classes'), ('SC', 'Scheduled Castes'), ('ST', 'Scheduled Tribes'), ('EWS', 'Economic Weaker Section')], max_length=20)), - ('father_name', models.CharField(default='', max_length=40)), - ('address_correspondence', models.TextField(max_length=1000)), - ('address_permanent', models.TextField(default='', max_length=1000)), - ('email_alternate', models.EmailField(default='', max_length=50, null=True)), - ('phone_no', models.BigIntegerField(default=9999999999, null=True)), - ('mobile_no_first', models.BigIntegerField(default=9999999999)), - ('mobile_no_second', models.BigIntegerField(default=9999999999, null=True)), - ('date_of_birth', models.DateField(default=datetime.date(1970, 1, 1))), - ('nationality', models.CharField(max_length=30)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('filed_national', models.CharField(max_length=200, null=True)), - ('filed_international', models.CharField(max_length=200, null=True)), - ('award_national', models.CharField(max_length=200, null=True)), - ('award_international', models.CharField(max_length=200, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='PapersInReferredJournal', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('published', models.BooleanField()), - ('accepted', models.BooleanField()), - ('title', models.CharField(max_length=100)), - ('reference_of_journal', models.CharField(max_length=100)), - ('impact_factor', models.CharField(max_length=100)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='NationalConference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('title', models.CharField(max_length=100)), - ('name_and_place_of_conference', models.CharField(max_length=200)), - ('presented', models.BooleanField()), - ('published', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='InternationalConference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('title', models.CharField(max_length=100)), - ('name_and_place_of_conference', models.CharField(max_length=200)), - ('presented', models.BooleanField()), - ('published', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='IndustrialExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=200, null=True)), - ('title_of_post', models.CharField(max_length=200, null=True)), - ('nature_of_work', models.TextField(null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ExperienceDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('total_experience_months', models.IntegerField(null=True)), - ('member_of_professional_body', models.CharField(max_length=200, null=True)), - ('employer', models.CharField(max_length=100, null=True)), - ('position_held', models.CharField(max_length=100, null=True)), - ('date_of_joining', models.DateField(null=True)), - ('date_of_leaving', models.DateField(null=True)), - ('pay_in_payband', models.CharField(max_length=20, null=True)), - ('payband', models.CharField(max_length=20, null=True)), - ('AGP', models.CharField(max_length=20, null=True)), - ('reasons_for_leaving', models.TextField(null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='CoursesTaught', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=100, null=True)), - ('level', models.CharField(choices=[('UG', 'UnderGraduate'), ('PG', 'PostGraduate')], max_length=20, null=True)), - ('number_of_times', models.IntegerField(null=True)), - ('developed_by_you', models.BooleanField(null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Consultancy', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.CharField(max_length=10)), - ('sponsoring_organisation', models.CharField(max_length=200)), - ('title_of_project', models.CharField(max_length=200)), - ('grant_amount', models.IntegerField(null=True)), - ('co_investigators', models.CharField(max_length=200, null=True)), - ('status', models.CharField(choices=[('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=20)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Books', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name_of_book', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('published', models.BooleanField()), - ('title', models.CharField(max_length=100)), - ('publisher', models.CharField(max_length=200)), - ('co_author', models.CharField(max_length=100, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='BankDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('payment_reference_number', models.CharField(max_length=20)), - ('payment_date', models.DateField()), - ('bank_name', models.CharField(max_length=100)), - ('bank_branch', models.CharField(max_length=200)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='applied', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField(default=django.utils.timezone.now)), - ('advertisement_number', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.vacancy')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='AdministrativeExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=200, null=True)), - ('title_of_post', models.CharField(max_length=200, null=True)), - ('nature_of_work', models.TextField(null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='AcademicDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('area_of_specialization', models.TextField()), - ('current_area_of_research', models.TextField()), - ('date_of_enrollment_in_phd', models.DateField()), - ('date_of_phd_defence', models.DateField()), - ('date_of_award_of_phd', models.DateField()), - ('XIIth', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='XIIth_details', to='recruitment.educationaldetails')), - ('Xth', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='Xth_details', to='recruitment.educationaldetails')), - ('graduation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='graduation_details', to='recruitment.educationaldetails')), - ('phd', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='phd_details', to='recruitment.educationaldetails')), - ('post_graduation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='post_graduations_details', to='recruitment.educationaldetails')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/FusionIIIT/applications/recruitment/migrations/__init__.py b/FusionIIIT/applications/recruitment/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py b/FusionIIIT/applications/research_procedures/migrations/0001_initial.py deleted file mode 100644 index ec4b77a48..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py +++ /dev/null @@ -1,91 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -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), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='TechTransfer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('details', models.CharField(default=' ', max_length=500)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('start_date', models.DateField(blank=True, null=True)), - ('end_date', models.DateField(blank=True, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchProject', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('ptype', models.CharField(default='Research', max_length=100)), - ('pi', models.CharField(default=' ', max_length=1000)), - ('co_pi', models.CharField(default=' ', max_length=1500)), - ('title', models.TextField(default=' ', max_length=5000)), - ('funding_agency', models.CharField(default=' ', max_length=250, null=True)), - ('financial_outlay', models.CharField(default=' ', max_length=150, null=True)), - ('status', models.CharField(choices=[('Awarded', 'Awarded'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=10)), - ('start_date', models.DateField(blank=True, null=True)), - ('finish_date', models.DateField(blank=True, null=True)), - ('date_submission', models.DateField(blank=True, null=True)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchGroup', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=120)), - ('description', models.TextField()), - ('faculty_under_group', models.ManyToManyField(related_name='allfaculty', to=settings.AUTH_USER_MODEL)), - ('students_under_group', models.ManyToManyField(related_name='allstudents', to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('application_id', models.AutoField(primary_key=True, serialize=False)), - ('title', models.CharField(max_length=120)), - ('ipd_form', models.FileField(blank=True, null=True, upload_to='')), - ('project_details', models.FileField(blank=True, null=True, upload_to='')), - ('ipd_form_file', models.TextField(blank=True, null=True)), - ('project_details_file', models.TextField(blank=True, null=True)), - ('status', models.CharField(choices=[('Approved', 'Approved'), ('Disapproved', 'Disapproved'), ('Pending', 'Pending')], default='Pending', max_length=20)), - ('faculty_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - ), - migrations.CreateModel( - name='ConsultancyProject', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('consultants', models.CharField(max_length=150)), - ('title', models.CharField(max_length=1000)), - ('client', models.CharField(max_length=1000)), - ('financial_outlay', models.IntegerField()), - ('start_date', models.DateField(blank=True, null=True)), - ('end_date', models.DateField(blank=True, null=True)), - ('duration', models.CharField(blank=True, max_length=500, null=True)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('status', models.CharField(blank=True, choices=[('Completed', 'Completed'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing')], default='Ongoing', max_length=10, null=True)), - ('remarks', models.CharField(blank=True, max_length=1000, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/__init__.py b/FusionIIIT/applications/research_procedures/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/scholarships/migrations/0001_initial.py b/FusionIIIT/applications/scholarships/migrations/0001_initial.py deleted file mode 100644 index 176422fd9..000000000 --- a/FusionIIIT/applications/scholarships/migrations/0001_initial.py +++ /dev/null @@ -1,233 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Award_and_scholarship', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('award_name', models.CharField(default='', max_length=100)), - ('catalog', models.TextField(max_length=5000)), - ], - options={ - 'db_table': 'Award_and_scholarship', - }, - ), - migrations.CreateModel( - name='Release', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date_time', models.DateTimeField(blank=True, default=datetime.datetime.now)), - ('programme', models.CharField(default='B.Tech', max_length=10)), - ('startdate', models.DateField(default=datetime.date.today)), - ('enddate', models.DateField()), - ('award', models.CharField(default='', max_length=50)), - ('remarks', models.TextField(default='', max_length=500)), - ('batch', models.TextField(default='all')), - ('notif_visible', models.IntegerField(default=1)), - ], - options={ - 'db_table': 'Release', - }, - ), - migrations.CreateModel( - name='Proficiency_dm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('title_name', models.CharField(max_length=30, null=True)), - ('award_type', models.CharField(max_length=50, null=True)), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('no_of_students', models.IntegerField(default=1)), - ('date', models.DateField(default=datetime.date.today)), - ('roll_no1', models.IntegerField(default=0)), - ('roll_no2', models.IntegerField(default=0)), - ('roll_no3', models.IntegerField(default=0)), - ('roll_no4', models.IntegerField(default=0)), - ('roll_no5', models.IntegerField(default=0)), - ('brief_description', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('ece_topic', models.CharField(max_length=25, null=True)), - ('cse_topic', models.CharField(max_length=25, null=True)), - ('mech_topic', models.CharField(max_length=25, null=True)), - ('design_topic', models.CharField(max_length=25, null=True)), - ('ece_percentage', models.IntegerField(null=True)), - ('cse_percentage', models.IntegerField(null=True)), - ('mech_percentage', models.IntegerField(null=True)), - ('design_percentage', models.IntegerField(null=True)), - ('correspondence_address', models.CharField(max_length=100, null=True)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('nearest_policestation', models.CharField(max_length=25, null=True)), - ('nearest_railwaystation', models.CharField(max_length=25, null=True)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Proficiency_dm', - }, - ), - migrations.CreateModel( - name='Previous_winner', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('programme', models.CharField(default='B.Tech', max_length=10)), - ('year', models.IntegerField(default=2023)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Previous_winner', - }, - ), - migrations.CreateModel( - name='Notional_prize', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('spi', models.FloatField()), - ('cpi', models.FloatField()), - ('year', models.CharField(choices=[('UG1', 'UG1'), ('UG2', 'UG2'), ('UG3', 'UG3'), ('UG4', 'UG4'), ('PG1', 'PG1'), ('PG2', 'PG2')], max_length=10)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ], - options={ - 'db_table': 'Notional_prize', - }, - ), - migrations.CreateModel( - name='Notification', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('notification_mcm_flag', models.BooleanField(default=False)), - ('notification_convocation_flag', models.BooleanField(default=False)), - ('invite_mcm_accept_flag', models.BooleanField(default=False)), - ('invite_convocation_accept_flag', models.BooleanField(default=False)), - ('release_id', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='scholarships.release')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Notification', - }, - ), - migrations.CreateModel( - name='Mcm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('brother_name', models.CharField(max_length=30, null=True)), - ('brother_occupation', models.TextField(max_length=100, null=True)), - ('sister_name', models.CharField(max_length=30, null=True)), - ('sister_occupation', models.TextField(max_length=100, null=True)), - ('income_father', models.IntegerField(default=0)), - ('income_mother', models.IntegerField(default=0)), - ('income_other', models.IntegerField(default=0)), - ('father_occ', models.CharField(choices=[('government', 'Government'), ('private', 'Private'), ('public', 'Public'), ('business', 'Business'), ('medical', 'Medical'), ('consultant', 'Consultant'), ('pensioners', 'Pensioners')], default='', max_length=10)), - ('mother_occ', models.CharField(choices=[('EMPLOYED', 'EMPLOYED'), ('HOUSE_WIFE', 'HOUSE_WIFE')], default='', max_length=10)), - ('father_occ_desc', models.CharField(max_length=30, null=True)), - ('mother_occ_desc', models.CharField(max_length=30, null=True)), - ('four_wheeler', models.IntegerField(blank=True, null=True)), - ('four_wheeler_desc', models.CharField(max_length=30, null=True)), - ('two_wheeler', models.IntegerField(blank=True, null=True)), - ('two_wheeler_desc', models.CharField(max_length=30, null=True)), - ('house', models.CharField(max_length=10, null=True)), - ('plot_area', models.IntegerField(blank=True, null=True)), - ('constructed_area', models.IntegerField(blank=True, null=True)), - ('school_fee', models.IntegerField(blank=True, null=True)), - ('school_name', models.CharField(max_length=30, null=True)), - ('bank_name', models.CharField(max_length=100, null=True)), - ('loan_amount', models.IntegerField(blank=True, null=True)), - ('college_fee', models.IntegerField(blank=True, null=True)), - ('college_name', models.CharField(max_length=30, null=True)), - ('income_certificate', models.FileField(blank=True, null=True, upload_to='')), - ('forms', models.FileField(blank=True, null=True, upload_to='')), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('annual_income', models.IntegerField(default=0)), - ('date', models.DateField(default=datetime.date.today)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='mcm_info', to='academic_information.student')), - ], - options={ - 'db_table': 'Mcm', - }, - ), - migrations.CreateModel( - name='Director_silver', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nearest_policestation', models.TextField(default='station', max_length=30)), - ('nearest_railwaystation', models.TextField(default='station', max_length=30)), - ('correspondence_address', models.TextField(max_length=150, null=True)), - ('award_type', models.CharField(max_length=50, null=True)), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('date', models.DateField(default=datetime.date.today)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('inside_achievements', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('outside_achievements', models.TextField(max_length=1000, null=True)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Director_silver', - }, - ), - migrations.CreateModel( - name='Director_gold', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('date', models.DateField(default=datetime.date.today)), - ('academic_achievements', models.TextField(max_length=1000, null=True)), - ('science_inside', models.TextField(max_length=1000, null=True)), - ('science_outside', models.TextField(max_length=1000, null=True)), - ('games_inside', models.TextField(max_length=1000, null=True)), - ('games_outside', models.TextField(max_length=1000, null=True)), - ('cultural_inside', models.TextField(max_length=1000, null=True)), - ('cultural_outside', models.TextField(max_length=1000, null=True)), - ('social', models.TextField(max_length=1000, null=True)), - ('corporate', models.TextField(max_length=1000, null=True)), - ('hall_activities', models.TextField(max_length=1000, null=True)), - ('gymkhana_activities', models.TextField(max_length=1000, null=True)), - ('institute_activities', models.TextField(max_length=1000, null=True)), - ('counselling_activities', models.TextField(max_length=1000, null=True)), - ('other_activities', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('correspondence_address', models.CharField(max_length=100, null=True)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('nearest_policestation', models.CharField(max_length=25, null=True)), - ('nearest_railwaystation', models.CharField(max_length=25, null=True)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Director_gold', - }, - ), - migrations.CreateModel( - name='Application', - fields=[ - ('application_id', models.CharField(max_length=100, primary_key=True, serialize=False)), - ('applied_flag', models.BooleanField(default=False)), - ('award', models.CharField(max_length=30)), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'Application', - }, - ), - ] diff --git a/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py b/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py deleted file mode 100644 index 690c78590..000000000 --- a/FusionIIIT/applications/scholarships/migrations/0002_auto_20240303_2357.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.1.5 on 2024-03-03 23:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('scholarships', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='previous_winner', - name='year', - field=models.IntegerField(default=2024), - ), - ] diff --git a/FusionIIIT/applications/scholarships/migrations/__init__.py b/FusionIIIT/applications/scholarships/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py b/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py deleted file mode 100644 index f4229feb2..000000000 --- a/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py +++ /dev/null @@ -1,134 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='BookingDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('visitor_category', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')], default='C', max_length=1)), - ('modified_visitor_category', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')], default='C', max_length=1)), - ('person_count', models.IntegerField(default=1)), - ('purpose', models.TextField(default='Hi!')), - ('booking_from', models.DateField()), - ('booking_to', models.DateField()), - ('arrival_time', models.TextField(blank=True, null=True)), - ('departure_time', models.TextField(blank=True, null=True)), - ('forwarded_date', models.DateField(blank=True, null=True)), - ('confirmed_date', models.DateField(blank=True, null=True)), - ('check_in', models.DateField(blank=True, null=True)), - ('check_out', models.DateField(blank=True, null=True)), - ('check_in_time', models.TimeField(blank=True, null=True)), - ('check_out_time', models.TimeField(blank=True, null=True)), - ('status', models.CharField(choices=[('Confirmed', 'Confirmed'), ('Pending', 'Pending'), ('Rejected', 'Rejected'), ('Canceled', 'Canceled'), ('CancelRequested', 'CancelRequested'), ('CheckedIn', 'CheckedIn'), ('Complete', 'Complete'), ('Forward', 'Forward')], default='Pending', max_length=15)), - ('remark', models.CharField(blank=True, max_length=40, null=True)), - ('image', models.FileField(blank=True, null=True, upload_to='VhImage/')), - ('number_of_rooms', models.IntegerField(blank=True, default=1, null=True)), - ('number_of_rooms_alloted', models.IntegerField(blank=True, default=1, null=True)), - ('booking_date', models.DateField(default=django.utils.timezone.now)), - ('bill_to_be_settled_by', models.CharField(choices=[('Intender', 'Intender'), ('Visitor', 'Visitor'), ('ProjectNo', 'ProjectNo'), ('Institute', 'Institute')], default='Intender', max_length=15)), - ('caretaker', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='caretaker', to=settings.AUTH_USER_MODEL)), - ('intender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='intender', to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Inventory', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('item_name', models.CharField(max_length=20)), - ('quantity', models.IntegerField(default=0)), - ('consumable', models.BooleanField(default=False)), - ('opening_stock', models.IntegerField(default=0)), - ('addition_stock', models.IntegerField(default=0)), - ('total_stock', models.IntegerField(default=0)), - ('serviceable', models.IntegerField(default=0)), - ('non_serviceable', models.IntegerField(default=0)), - ('inuse', models.IntegerField(default=0)), - ('total_usable', models.IntegerField(default=0)), - ('remark', models.TextField(blank=True)), - ], - ), - migrations.CreateModel( - name='VisitorDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('visitor_phone', models.CharField(max_length=15)), - ('visitor_name', models.CharField(max_length=40)), - ('visitor_email', models.CharField(blank=True, max_length=40)), - ('visitor_organization', models.CharField(blank=True, max_length=100)), - ('visitor_address', models.TextField(blank=True)), - ('nationality', models.CharField(blank=True, max_length=20)), - ], - ), - migrations.CreateModel( - name='RoomDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('room_number', models.CharField(max_length=4, unique=True)), - ('room_type', models.CharField(choices=[('SingleBed', 'SingleBed'), ('DoubleBed', 'DoubleBed'), ('VIP', 'VIP')], max_length=12)), - ('room_floor', models.CharField(choices=[('GroundFloor', 'GroundFloor'), ('FirstFloor', 'FirstFloor'), ('SecondFloor', 'SecondFloor'), ('ThirdFloor', 'ThirdFloor')], max_length=12)), - ('room_status', models.CharField(choices=[('Booked', 'Booked'), ('CheckedIn', 'CheckedIn'), ('Available', 'Available'), ('UnderMaintenance', 'UnderMaintenance')], default='Available', max_length=20)), - ('visitor', models.ManyToManyField(blank=True, to='visitor_hostel.VisitorDetail')), - ], - ), - migrations.CreateModel( - name='MealRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meal_date', models.DateField()), - ('morning_tea', models.BooleanField(default=False)), - ('eve_tea', models.BooleanField(default=False)), - ('breakfast', models.BooleanField(default=False)), - ('lunch', models.BooleanField(default=False)), - ('dinner', models.BooleanField(default=False)), - ('persons', models.IntegerField(default=0)), - ('booking', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.bookingdetail')), - ('room', models.ForeignKey(default=0, on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.roomdetail')), - ('visitor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.visitordetail')), - ], - ), - migrations.CreateModel( - name='InventoryBill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('bill_number', models.CharField(max_length=40)), - ('cost', models.IntegerField(default=0)), - ('item_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.inventory')), - ], - ), - migrations.AddField( - model_name='bookingdetail', - name='rooms', - field=models.ManyToManyField(to='visitor_hostel.RoomDetail'), - ), - migrations.AddField( - model_name='bookingdetail', - name='visitor', - field=models.ManyToManyField(to='visitor_hostel.VisitorDetail'), - ), - migrations.CreateModel( - name='Bill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meal_bill', models.IntegerField(default=0)), - ('room_bill', models.IntegerField(default=0)), - ('payment_status', models.BooleanField(default=False)), - ('booking', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.bookingdetail')), - ('caretaker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ('room', models.ManyToManyField(to='visitor_hostel.RoomDetail')), - ], - ), - ] diff --git a/FusionIIIT/applications/visitor_hostel/migrations/__init__.py b/FusionIIIT/applications/visitor_hostel/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 From dd35ab61954c0a388d30c40233ad1c48bc510b06 Mon Sep 17 00:00:00 2001 From: xenouno <112983459+xenouno@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:47:53 +0530 Subject: [PATCH 007/141] Otheracademic 2024 (#1316) * I added my module otheracademic from scratch all functionality is implemented just need to set designation * I added my module otheracademic from scratch all functionality is implemented just need to set designation * I added my module otheracademic from scratch all functionality is implemented just need to set designation * Added pylint (#1302) * Create bandit_security_test.yml Added Bandit security test for python * Update bandit_security_test.yml * Update bandit_security_test.yml * Create pylint.yml * Update pylint.yml * Update pylint.yml * Revert "Added pylint (#1302)" (#1324) This reverts commit c1359b7ce8a1945e41e90330fe39bc634d9ca6f3. * removed migrations files --------- Co-authored-by: Hardik Sharma <104981324+hardiksharma11@users.noreply.github.com> Co-authored-by: Raman Chaudhary <97114586+ChaudharyRaman@users.noreply.github.com> --- FusionIIIT/Fusion/settings/common.py | 1 + FusionIIIT/Fusion/urls.py | 2 + .../migrations/0001_initial.py | 182 ------- .../academic_procedures/.DS_Store | Bin 0 -> 8196 bytes .../applications/academic_procedures/admin.py | 0 .../academic_procedures/api/serializers.py | 0 .../academic_procedures/api/urls.py | 0 .../academic_procedures/api/views.py | 0 .../applications/academic_procedures/apps.py | 0 .../applications/academic_procedures/forms.py | 0 .../migrations/0001_initial.py | 405 -------------- .../academic_procedures/models.py | 9 + .../academic_procedures/scripts.py | 0 .../applications/academic_procedures/tests.py | 0 .../applications/academic_procedures/urls.py | 3 + .../applications/academic_procedures/views.py | 28 +- .../migrations => bonafide}/__init__.py | 0 FusionIIIT/applications/bonafide/admin.py | 3 + FusionIIIT/applications/bonafide/apps.py | 5 + FusionIIIT/applications/bonafide/models.py | 3 + FusionIIIT/applications/bonafide/tests.py | 3 + .../__init__.py => bonafide/urls.py} | 0 FusionIIIT/applications/bonafide/views.py | 3 + .../central_mess/migrations/0001_initial.py | 186 ------- .../migrations/0001_initial.py | 67 --- .../complaint_system/migrations/__init__.py | 0 .../migrations/0001_initial.py | 111 ---- .../counselling_cell/migrations/__init__.py | 0 .../department/migrations/0001_initial.py | 44 -- .../department/migrations/__init__.py | 0 .../eis/migrations/0001_initial.py | 280 ---------- .../applications/eis/migrations/__init__.py | 0 .../establishment/migrations/0001_initial.py | 284 ---------- .../establishment/migrations/__init__.py | 0 .../estate_module/migrations/0001_initial.py | 126 ----- .../estate_module/migrations/__init__.py | 0 .../feeds/migrations/0001_initial.py | 148 ------ .../applications/feeds/migrations/__init__.py | 0 .../filetracking/migrations/0001_initial.py | 53 -- .../filetracking/migrations/__init__.py | 0 .../migrations/0001_initial.py | 100 ---- .../finance_accounts/migrations/__init__.py | 0 .../globals/migrations/0001_initial.py | 112 ---- .../globals/migrations/__init__.py | 0 .../gymkhana/migrations/0001_initial.py | 243 --------- .../gymkhana/migrations/__init__.py | 0 .../health_center/migrations/0001_initial.py | 168 ------ .../health_center/migrations/__init__.py | 0 .../migrations/0001_initial.py | 137 ----- .../hostel_management/migrations/__init__.py | 0 .../hr2/migrations/0001_initial.py | 91 ---- .../applications/hr2/migrations/__init__.py | 0 .../migrations/0001_initial.py | 80 --- .../income_expenditure/migrations/__init__.py | 0 .../iwdModuleV2/migrations/0001_initial.py | 226 -------- .../iwdModuleV2/migrations/__init__.py | 0 .../leave/migrations/0001_initial.py | 169 ------ .../applications/leave/migrations/__init__.py | 0 .../migrations/__init__.py | 0 .../office_module/migrations/0001_initial.py | 492 ------------------ .../office_module/migrations/__init__.py | 0 .../online_cms/migrations/0001_initial.py | 196 ------- .../online_cms/migrations/__init__.py | 0 .../migrations => otheracademic}/__init__.py | 0 .../applications/otheracademic/admin.py | 11 + FusionIIIT/applications/otheracademic/apps.py | 5 + .../applications/otheracademic/models.py | 150 ++++++ .../applications/otheracademic/tests.py | 3 + FusionIIIT/applications/otheracademic/urls.py | 31 ++ .../applications/otheracademic/views.py | 246 +++++++++ .../placement_cell/migrations/0001_initial.py | 289 ---------- .../placement_cell/migrations/__init__.py | 0 .../migrations/0001_initial.py | 142 ----- .../migrations/__init__.py | 0 .../ps1/migrations/0001_initial.py | 58 --- .../applications/ps1/migrations/__init__.py | 0 .../recruitment/migrations/0001_initial.py | 311 ----------- .../recruitment/migrations/__init__.py | 0 .../migrations/0001_initial.py | 91 ---- .../migrations/__init__.py | 0 .../scholarships/migrations/0001_initial.py | 233 --------- .../scholarships/migrations/__init__.py | 0 .../visitor_hostel/migrations/0001_initial.py | 134 ----- .../visitor_hostel/migrations/__init__.py | 0 .../academic_procedures/acad_admin.html | 0 .../academic_procedures/acad_assis.html | 0 .../academic_procedures/academicfac.html | 0 .../academic_procedures/account_assis.html | 0 .../academic_procedures/allot_courses.html | 0 .../academic_procedures/approveassis.html | 0 .../academic_procedures/approvemtechsg.html | 0 .../academic_procedures/assis_hod.html | 0 .../assistantshipclaim.html | 432 +++++++-------- .../academic_procedures/bonafide.html | 30 +- .../academic_procedures/bonafide_new.html | 63 +++ .../academic_procedures/bonafide_pdf.html | 0 .../academic_procedures/check_attendance.html | 0 .../course_marks_data.html | 0 .../templates/academic_procedures/dues.html | 0 .../academic_procedures/dues_pdf.html | 0 .../academic_procedures/gen_course_list.html | 0 .../academic_procedures/generate_pdf.html | 0 .../generate_result_pdf.html | 0 .../academic_procedures/generate_sheet.html | 0 .../academic_procedures/grade_submission.html | 0 .../templates/academic_procedures/leave.html | 0 .../manual_grade_submission.html | 0 .../academic_procedures/messdueassistant.html | 0 .../academic_procedures/messdueedit.html | 0 .../academic_procedures/messduehistory.html | 0 .../academic_procedures/mtechseminar.html | 0 .../academic_procedures/phdform.html | 0 .../academic_procedures/phdprogress.html | 0 .../academic_procedures/registeredCourse.html | 0 .../templates/academic_procedures/result.html | 0 .../academic_procedures/result_announce.html | 0 .../result_generation.html | 0 .../academic_procedures/studentCourses.html | 0 .../student_course_list.html | 0 .../academic_procedures/teaching_credit.html | 0 .../teaching_credit_register.html | 0 .../templates/academic_procedures/test.html | 0 .../academic_procedures/test_render.html | 0 .../academic_procedures/thesissupervise.html | 0 .../templates/academic_procedures/ug.html | 0 .../underconstruction.html | 0 .../academic_procedures/updatedues.html | 0 .../verify_course_marks_data.html | 0 .../academic_procedures/view_performance.html | 0 .../otheracademic/assistantship_approval.html | 93 ++++ .../otheracademic/assistantshipclaimform.html | 93 ++++ .../otheracademic/bonafideApprove.html | 128 +++++ .../templates/otheracademic/bonafideForm.html | 87 ++++ .../otheracademic/bonafideStatus.html | 101 ++++ .../otheracademic/graduateSeminarStatus.html | 85 +++ .../otheracademic/graduateseminarForm.html | 63 +++ .../templates/otheracademic/leaveStatus.html | 105 ++++ .../templates/otheracademic/leaveform.html | 92 ++++ .../otheracademic/leaveformreciever.html | 131 +++++ .../otheracademic/noduesverification.html | 94 ++++ 140 files changed, 1842 insertions(+), 5419 deletions(-) delete mode 100644 FusionIIIT/applications/academic_information/migrations/0001_initial.py create mode 100755 FusionIIIT/applications/academic_procedures/.DS_Store mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/admin.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/serializers.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/urls.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/api/views.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/apps.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/forms.py delete mode 100644 FusionIIIT/applications/academic_procedures/migrations/0001_initial.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/models.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/scripts.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/tests.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/urls.py mode change 100644 => 100755 FusionIIIT/applications/academic_procedures/views.py rename FusionIIIT/applications/{academic_information/migrations => bonafide}/__init__.py (100%) create mode 100644 FusionIIIT/applications/bonafide/admin.py create mode 100644 FusionIIIT/applications/bonafide/apps.py create mode 100644 FusionIIIT/applications/bonafide/models.py create mode 100644 FusionIIIT/applications/bonafide/tests.py rename FusionIIIT/applications/{academic_procedures/migrations/__init__.py => bonafide/urls.py} (100%) create mode 100644 FusionIIIT/applications/bonafide/views.py delete mode 100644 FusionIIIT/applications/central_mess/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/complaint_system/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/complaint_system/migrations/__init__.py delete mode 100644 FusionIIIT/applications/counselling_cell/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/counselling_cell/migrations/__init__.py delete mode 100644 FusionIIIT/applications/department/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/department/migrations/__init__.py delete mode 100644 FusionIIIT/applications/eis/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/eis/migrations/__init__.py delete mode 100644 FusionIIIT/applications/establishment/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/establishment/migrations/__init__.py delete mode 100644 FusionIIIT/applications/estate_module/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/estate_module/migrations/__init__.py delete mode 100644 FusionIIIT/applications/feeds/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/feeds/migrations/__init__.py delete mode 100644 FusionIIIT/applications/filetracking/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/filetracking/migrations/__init__.py delete mode 100644 FusionIIIT/applications/finance_accounts/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/finance_accounts/migrations/__init__.py delete mode 100644 FusionIIIT/applications/globals/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/globals/migrations/__init__.py delete mode 100644 FusionIIIT/applications/gymkhana/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/gymkhana/migrations/__init__.py delete mode 100644 FusionIIIT/applications/health_center/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/health_center/migrations/__init__.py delete mode 100644 FusionIIIT/applications/hostel_management/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/hostel_management/migrations/__init__.py delete mode 100644 FusionIIIT/applications/hr2/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/hr2/migrations/__init__.py delete mode 100644 FusionIIIT/applications/income_expenditure/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/income_expenditure/migrations/__init__.py delete mode 100644 FusionIIIT/applications/iwdModuleV2/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/iwdModuleV2/migrations/__init__.py delete mode 100644 FusionIIIT/applications/leave/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/leave/migrations/__init__.py delete mode 100644 FusionIIIT/applications/notifications_extension/migrations/__init__.py delete mode 100644 FusionIIIT/applications/office_module/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/office_module/migrations/__init__.py delete mode 100644 FusionIIIT/applications/online_cms/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/online_cms/migrations/__init__.py rename FusionIIIT/applications/{central_mess/migrations => otheracademic}/__init__.py (100%) create mode 100644 FusionIIIT/applications/otheracademic/admin.py create mode 100644 FusionIIIT/applications/otheracademic/apps.py create mode 100644 FusionIIIT/applications/otheracademic/models.py create mode 100644 FusionIIIT/applications/otheracademic/tests.py create mode 100644 FusionIIIT/applications/otheracademic/urls.py create mode 100644 FusionIIIT/applications/otheracademic/views.py delete mode 100644 FusionIIIT/applications/placement_cell/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/placement_cell/migrations/__init__.py delete mode 100644 FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/programme_curriculum/migrations/__init__.py delete mode 100644 FusionIIIT/applications/ps1/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/ps1/migrations/__init__.py delete mode 100644 FusionIIIT/applications/recruitment/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/recruitment/migrations/__init__.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/research_procedures/migrations/__init__.py delete mode 100644 FusionIIIT/applications/scholarships/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/scholarships/migrations/__init__.py delete mode 100644 FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py delete mode 100644 FusionIIIT/applications/visitor_hostel/migrations/__init__.py mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/acad_admin.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/acad_assis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/academicfac.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/account_assis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/allot_courses.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/approveassis.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/approvemtechsg.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/assis_hod.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/assistantshipclaim.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/bonafide.html create mode 100644 FusionIIIT/templates/academic_procedures/bonafide_new.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/bonafide_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/check_attendance.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/course_marks_data.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/dues.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/dues_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/gen_course_list.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_result_pdf.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/generate_sheet.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/grade_submission.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/leave.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/manual_grade_submission.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messdueassistant.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messdueedit.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/messduehistory.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/mtechseminar.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/phdform.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/phdprogress.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/registeredCourse.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result_announce.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/result_generation.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/studentCourses.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/student_course_list.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/teaching_credit.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/teaching_credit_register.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/test.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/test_render.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/thesissupervise.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/ug.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/underconstruction.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/updatedues.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/verify_course_marks_data.html mode change 100644 => 100755 FusionIIIT/templates/academic_procedures/view_performance.html create mode 100644 FusionIIIT/templates/otheracademic/assistantship_approval.html create mode 100644 FusionIIIT/templates/otheracademic/assistantshipclaimform.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideApprove.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideForm.html create mode 100644 FusionIIIT/templates/otheracademic/bonafideStatus.html create mode 100644 FusionIIIT/templates/otheracademic/graduateSeminarStatus.html create mode 100644 FusionIIIT/templates/otheracademic/graduateseminarForm.html create mode 100644 FusionIIIT/templates/otheracademic/leaveStatus.html create mode 100644 FusionIIIT/templates/otheracademic/leaveform.html create mode 100644 FusionIIIT/templates/otheracademic/leaveformreciever.html create mode 100644 FusionIIIT/templates/otheracademic/noduesverification.html diff --git a/FusionIIIT/Fusion/settings/common.py b/FusionIIIT/Fusion/settings/common.py index b98ea6960..46819fd35 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -127,6 +127,7 @@ 'applications.ps1', 'applications.programme_curriculum', 'applications.placement_cell', + # 'applications.otheracademic', 'applications.recruitment', 'applications.scholarships', 'applications.visitor_hostel', diff --git a/FusionIIIT/Fusion/urls.py b/FusionIIIT/Fusion/urls.py index 837bf776a..b20ca54b9 100755 --- a/FusionIIIT/Fusion/urls.py +++ b/FusionIIIT/Fusion/urls.py @@ -60,4 +60,6 @@ url(r'^income-expenditure/', include('applications.income_expenditure.urls')), url(r'^hr2/', include('applications.hr2.urls')), url(r'^recruitment/', include('applications.recruitment.urls')), + # url(r'^otheracademic/', include('applications.otheracademic.urls')), + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/FusionIIIT/applications/academic_information/migrations/0001_initial.py b/FusionIIIT/applications/academic_information/migrations/0001_initial.py deleted file mode 100644 index f75d3119c..000000000 --- a/FusionIIIT/applications/academic_information/migrations/0001_initial.py +++ /dev/null @@ -1,182 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('programme_curriculum', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Calendar', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('from_date', models.DateField()), - ('to_date', models.DateField()), - ('description', models.CharField(max_length=40)), - ], - options={ - 'db_table': 'Calendar', - }, - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('course_name', models.CharField(max_length=600)), - ('course_details', models.TextField(max_length=500)), - ], - options={ - 'db_table': 'Course', - }, - ), - migrations.CreateModel( - name='Curriculum', - fields=[ - ('curriculum_id', models.AutoField(primary_key=True, serialize=False)), - ('course_code', models.CharField(max_length=20)), - ('credits', models.IntegerField()), - ('course_type', models.CharField(choices=[('Professional Core', 'Professional Core'), ('Professional Elective', 'Professional Elective'), ('Professional Lab', 'Professional Lab'), ('Engineering Science', 'Engineering Science'), ('Natural Science', 'Natural Science'), ('Humanities', 'Humanities'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('Management Science', 'Management Science')], max_length=25)), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('branch', models.CharField(choices=[('CSE', 'CSE'), ('ECE', 'ECE'), ('ME', 'ME'), ('DESIGN', 'DESIGN'), ('Common', 'Common')], default='Common', max_length=10)), - ('batch', models.IntegerField()), - ('sem', models.IntegerField()), - ('optional', models.BooleanField(default=False)), - ('floated', models.BooleanField(default=False)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - options={ - 'db_table': 'Curriculum', - 'unique_together': {('course_code', 'batch', 'programme')}, - }, - ), - migrations.CreateModel( - name='Curriculum_Instructor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('chief_inst', models.BooleanField(default=False)), - ('curriculum_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'Curriculum_Instructor', - 'unique_together': {('curriculum_id', 'instructor_id')}, - }, - ), - migrations.CreateModel( - name='Exam_timetable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_date', models.DateField(auto_now_add=True)), - ('exam_time_table', models.FileField(upload_to='Administrator/academic_information/')), - ('batch', models.IntegerField(default='2016')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ], - options={ - 'db_table': 'Exam_Timetable', - }, - ), - migrations.CreateModel( - name='Holiday', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('holiday_date', models.DateField()), - ('holiday_name', models.CharField(max_length=40)), - ('holiday_type', models.CharField(choices=[('restricted', 'restricted'), ('closed', 'closed'), ('vacation', 'vacation')], default='restricted', max_length=30)), - ], - options={ - 'db_table': 'Holiday', - }, - ), - migrations.CreateModel( - name='Meeting', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('venue', models.CharField(max_length=50)), - ('date', models.DateField()), - ('time', models.CharField(max_length=20)), - ('agenda', models.TextField()), - ('minutes_file', models.CharField(max_length=40)), - ], - options={ - 'db_table': 'Meeting', - }, - ), - migrations.CreateModel( - name='Student', - fields=[ - ('id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='globals.extrainfo')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('batch', models.IntegerField(default=2016)), - ('cpi', models.FloatField(default=0)), - ('category', models.CharField(choices=[('GEN', 'General'), ('SC', 'Scheduled Castes'), ('ST', 'Scheduled Tribes'), ('OBC', 'Other Backward Classes')], max_length=10)), - ('father_name', models.CharField(default='', max_length=40)), - ('mother_name', models.CharField(default='', max_length=40)), - ('hall_no', models.IntegerField(default=0)), - ('room_no', models.CharField(blank=True, max_length=10, null=True)), - ('specialization', models.CharField(choices=[('Power and Control', 'Power and Control'), ('Microwave and Communication Engineering', 'Microwave and Communication Engineering'), ('Micro-nano Electronics', 'Micro-nano Electronics'), ('CAD/CAM', 'CAD/CAM'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('CSE', 'CSE'), ('Mechatronics', 'Mechatronics'), ('MDes', 'MDes'), ('None', 'None')], default='', max_length=40, null=True)), - ('curr_semester_no', models.IntegerField(default=1)), - ('batch_id', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.batch')), - ], - ), - migrations.CreateModel( - name='Timetable', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_date', models.DateTimeField(auto_now_add=True)), - ('time_table', models.FileField(upload_to='Administrator/academic_information/')), - ('batch', models.IntegerField(default='2016')), - ('programme', models.CharField(choices=[('B.Tech', 'B.Tech'), ('B.Des', 'B.Des'), ('M.Tech', 'M.Tech'), ('M.Des', 'M.Des'), ('PhD', 'PhD')], max_length=10)), - ('branch', models.CharField(choices=[('CSE', 'CSE'), ('ECE', 'ECE'), ('ME', 'ME'), ('DESIGN', 'DESIGN'), ('Common', 'Common')], default='Common', max_length=10)), - ], - options={ - 'db_table': 'Timetable', - }, - ), - migrations.CreateModel( - name='Student_attendance', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField()), - ('present', models.BooleanField(default=False)), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum_instructor')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Student_attendance', - }, - ), - migrations.CreateModel( - name='Grades', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('grade', models.CharField(max_length=4)), - ('verify', models.BooleanField(default=False)), - ('curriculum_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Grades', - }, - ), - migrations.CreateModel( - name='Spi', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('sem', models.IntegerField()), - ('spi', models.FloatField(default=0)), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Spi', - 'unique_together': {('student_id', 'sem')}, - }, - ), - ] diff --git a/FusionIIIT/applications/academic_procedures/.DS_Store b/FusionIIIT/applications/academic_procedures/.DS_Store new file mode 100755 index 0000000000000000000000000000000000000000..86478b96485f66930300802d02c7e300f715f886 GIT binary patch literal 8196 zcmeHMzi-n(6n@tha%lwW0HOjRSz61fXpx9Gs?`&Ck#(Q6n+SV#y z6*!Oz$n(KLm9}E+SX*^;piwCR>>Mtuf9n3Qnw|t!=FWR)J{+WbR%-w%(wSo+a}4#w}m0wtUe7 zLOxX2QI~$If?g)e@09DSq8BO*dwVh)*%P&zxj%pU@$AaG&98EfjMel+`!~>GH@=E* zaxom=Cfd{^j{;hfyWO?F_rS#WHw%17UJ}Jlr=wbJdvA3t;c+U>>@zZZz-QUjce z=KQ21`uC)Lfu7lN!iBVXVP_=nvaRnEmlB@E>D#s833n0w)jG3OwU3`RT!+p5CNmBb<4Cgh7a4 zNDUwraB&U?(gijHF9VJpjRjnehL|B^MKaV9XijTbjZ349)!_U|;H5UUSOxZ@z^o=M z%KZOk_V@q&+}d)i0#<>4L;*HetJkVn?DpS=yVosqZ3p!csw@&W)>cu_sB|1wrQ@)Z le;A_g04g~ZW5?R!3d$e<5D2500000')], default=0)), - ('purpose', models.CharField(default=0, max_length=200)), - ('budgetary_head', models.CharField(default=0, max_length=200)), - ('invoice', models.FileField(default=0, upload_to='')), - ('nature_of_item1', models.IntegerField(choices=[('0', 'Non-consumable'), ('1', 'Consumable')], default=0)), - ('nature_of_item2', models.IntegerField(choices=[('0', 'Equipment'), ('1', 'Machinery'), ('2', 'Furniture'), ('3', 'Fixture')], default=0)), - ('item_name', models.CharField(default=0, max_length=100)), - ('expected_cost', models.IntegerField(default=0)), - ('quantity', models.IntegerField(default=0)), - ('indentor_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='indentor_name', to='globals.extrainfo')), - ], - options={ - 'db_table': 'apply_for_purchase', - }, - ), - migrations.CreateModel( - name='Member', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meeting_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.meeting')), - ('member_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.faculty')), - ], - options={ - 'db_table': 'Member', - 'unique_together': {('member_id', 'meeting_id')}, - }, - ), - migrations.CreateModel( - name='Assistantship', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('file', models.FileField(blank=True, null=True, upload_to='documents/')), - ('action', models.IntegerField(default=0)), - ('comments', models.CharField(blank=True, max_length=150, null=True)), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.curriculum_instructor')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Assistantship', - 'unique_together': {('student_id', 'instructor_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/office_module/migrations/__init__.py b/FusionIIIT/applications/office_module/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/online_cms/migrations/0001_initial.py b/FusionIIIT/applications/online_cms/migrations/0001_initial.py deleted file mode 100644 index 4e3377ab7..000000000 --- a/FusionIIIT/applications/online_cms/migrations/0001_initial.py +++ /dev/null @@ -1,196 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Assignment', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('submit_date', models.DateTimeField()), - ('assignment_name', models.CharField(max_length=100)), - ('assignment_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Forum', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('comment_time', models.DateTimeField(auto_now=True)), - ('comment', models.TextField(max_length=2000)), - ('commenter_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Practice', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('prac_quiz_name', models.CharField(max_length=20)), - ('negative_marks', models.FloatField(default=0)), - ('number_of_question', models.IntegerField(default=0)), - ('description', models.TextField(max_length=1000)), - ('total_score', models.IntegerField(default=0)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='Question', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.TextField(max_length=1000)), - ('options1', models.CharField(max_length=100, null=True)), - ('options2', models.CharField(max_length=100, null=True)), - ('options3', models.CharField(max_length=100, null=True)), - ('options4', models.CharField(max_length=100, null=True)), - ('options5', models.CharField(max_length=100, null=True)), - ('answer', models.IntegerField()), - ('image', models.TextField(max_length=1000, null=True)), - ('marks', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='Quiz', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('quiz_name', models.CharField(max_length=20)), - ('end_time', models.DateTimeField()), - ('start_time', models.DateTimeField()), - ('d_day', models.CharField(max_length=2)), - ('d_hour', models.CharField(max_length=2)), - ('d_minute', models.CharField(max_length=2)), - ('negative_marks', models.FloatField(default=0)), - ('number_of_question', models.IntegerField(default=0)), - ('description', models.TextField(max_length=1000)), - ('rules', models.TextField(max_length=2000)), - ('total_score', models.IntegerField(default=0)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='QuizQuestion', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.question')), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ], - ), - migrations.CreateModel( - name='Topics', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('topic_name', models.TextField(max_length=200)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='StudentAssignment', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('upload_url', models.TextField(max_length=200)), - ('score', models.IntegerField(null=True)), - ('feedback', models.CharField(max_length=100, null=True)), - ('assign_name', models.CharField(max_length=100)), - ('assignment_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.assignment')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='StudentAnswer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('choice', models.IntegerField()), - ('question_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quizquestion')), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='QuizResult', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('score', models.IntegerField()), - ('finished', models.BooleanField(default=False)), - ('quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.quiz')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='QuestionBank', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - ), - migrations.AddField( - model_name='question', - name='question_bank', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.questionbank'), - ), - migrations.AddField( - model_name='question', - name='topic', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.topics'), - ), - migrations.CreateModel( - name='PracticeQuestion', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('question', models.TextField(max_length=1000)), - ('options1', models.CharField(max_length=100, null=True)), - ('options2', models.CharField(max_length=100, null=True)), - ('options3', models.CharField(max_length=100, null=True)), - ('options4', models.CharField(max_length=100, null=True)), - ('options5', models.CharField(max_length=100, null=True)), - ('answer', models.IntegerField()), - ('image', models.TextField(max_length=1000, null=True)), - ('prac_quiz_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='online_cms.practice')), - ], - ), - migrations.CreateModel( - name='ForumReply', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('forum_ques', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='forum_ques', to='online_cms.forum')), - ('forum_reply', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='forum_reply', to='online_cms.forum')), - ], - ), - migrations.CreateModel( - name='CourseVideo', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('description', models.CharField(max_length=100)), - ('video_name', models.CharField(max_length=40)), - ('video_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - migrations.CreateModel( - name='CourseDocuments', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('upload_time', models.DateTimeField(auto_now=True)), - ('description', models.CharField(max_length=100)), - ('document_name', models.CharField(max_length=40)), - ('document_url', models.CharField(max_length=100, null=True)), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.course')), - ], - ), - ] diff --git a/FusionIIIT/applications/online_cms/migrations/__init__.py b/FusionIIIT/applications/online_cms/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/central_mess/migrations/__init__.py b/FusionIIIT/applications/otheracademic/__init__.py similarity index 100% rename from FusionIIIT/applications/central_mess/migrations/__init__.py rename to FusionIIIT/applications/otheracademic/__init__.py diff --git a/FusionIIIT/applications/otheracademic/admin.py b/FusionIIIT/applications/otheracademic/admin.py new file mode 100644 index 000000000..0c764c2fd --- /dev/null +++ b/FusionIIIT/applications/otheracademic/admin.py @@ -0,0 +1,11 @@ +from django.contrib import admin + +# Register your models here. +from applications.otheracademic.models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +admin.site.register(LeaveFormTable) +admin.site.register(GraduateSeminarForm) +admin.site.register(BonafideFormTable) +admin.site.register(BonafideFormTableUpdated) +admin.site.register(GraduateSeminarFormTable) +admin.site.register(AssistantshipClaimForm) + diff --git a/FusionIIIT/applications/otheracademic/apps.py b/FusionIIIT/applications/otheracademic/apps.py new file mode 100644 index 000000000..e8e30ffab --- /dev/null +++ b/FusionIIIT/applications/otheracademic/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class OtheracademicConfig(AppConfig): + name = 'applications.otheracademic' diff --git a/FusionIIIT/applications/otheracademic/models.py b/FusionIIIT/applications/otheracademic/models.py new file mode 100644 index 000000000..2fb9a0739 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/models.py @@ -0,0 +1,150 @@ +from datetime import datetime + +from applications.globals.models import ExtraInfo, HoldsDesignation, Designation +from django.db import models +from django.contrib.auth.models import User +from applications.academic_information.models import Student + + +class LeaveFormTable(models.Model): + """ + Records information related to student leave requests. + + 'leave_from' and 'leave_to' store the start and end date of the leave request. + 'date_of_application' stores the date when the leave request was applied. + 'related_document' stores any related documents or notes for the leave request. + 'place' stores the location where the leave is requested. + 'reason' stores the reason for the leave request. + 'leave_type' stores the type of leave from a dropdown. + """ + LEAVE_TYPES = ( + ('Casual', 'Casual'), + ('Medical', 'Medical'), + + ) + + + student_name = models.CharField(max_length=100) + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + date_from = models.DateField() + date_to = models.DateField() + date_of_application = models.DateField() + upload_file = models.FileField(blank=True) + address = models.CharField(max_length=100) + purpose = models.TextField() + leave_type = models.CharField(max_length=20, choices=LEAVE_TYPES) + approved = models.BooleanField() + rejected = models.BooleanField() + + class Meta: + db_table='LeaveFormTable' + + + + +class GraduateSeminarForm(models.Model): + + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + semester= models.CharField(max_length=100) + date_of_seminar = models.DateField() + + + class Meta: + db_table='GraduateSeminarForm' + + +class GraduateSeminarFormTable(models.Model): + + roll_no = models.CharField(max_length=20) + semester= models.CharField(max_length=100) + date_of_seminar = models.DateField() + + + class Meta: + db_table='GraduateSeminarFormTable' + + +class BonafideFormTable(models.Model): + """ + Records information related to student leave requests. + + 'leave_from' and 'leave_to' store the start and end date of the leave request. + 'date_of_application' stores the date when the leave request was applied. + 'related_document' stores any related documents or notes for the leave request. + 'place' stores the location where the leave is requested. + 'reason' stores the reason for the leave request. + 'leave_type' stores the type of leave from a dropdown. + """ + BRANCH_TYPES = ( + ('CSE', 'CSE'), + ('ME', 'ME'), + ('SM', 'SM'), + ('ECE', 'ECE'), + ('Design', 'Design') + + ) + + SEMESTER_TYPES = ( + ('I', 'I'), + ('II', 'II'), + ('III', 'III'), + ('IV', 'IV'), + ('V', 'V'), + ('VI', 'VI'), + ('VII', 'VII'), + ('VIII', 'VIII') + ) + + + student_name = models.CharField(max_length=100) + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + branch_type = models.CharField(max_length=50, choices=BRANCH_TYPES) + semester_type = models.CharField(max_length=20, choices=SEMESTER_TYPES) + purpose = models.TextField() + date_of_application = models.DateField() + approved = models.BooleanField() + rejected = models.BooleanField() + download_file = models.FileField(blank=True) + + + + class Meta: + db_table='BonafideFormTable' + + + +class BonafideFormTableUpdated(models.Model): + + + + student_names = models.CharField(max_length=100) + roll_nos = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + branch_types = models.CharField(max_length=50) + semester_types = models.CharField(max_length=20) + purposes = models.TextField() + date_of_applications= models.DateField() + approve = models.BooleanField() + reject = models.BooleanField() + download_file = models.FileField(blank=True) + + + + class Meta: + db_table='BonafideFormTableUpdated' + + +class AssistantshipClaimForm(models.Model): + roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) + student_name = models.CharField(max_length=100) + discipline = models.CharField(max_length=100) + month = models.CharField(max_length=50) + year = models.CharField(max_length=50) + bank_account = models.CharField(max_length=100) + student_signature = models.CharField(max_length=100) + ta_supervisor = models.CharField(max_length=100) + thesis_supervisor = models.CharField(max_length=100) + date = models.DateField() + approved = models.BooleanField() + + class Meta: + db_table = 'AssistantshipClaimForm' diff --git a/FusionIIIT/applications/otheracademic/tests.py b/FusionIIIT/applications/otheracademic/tests.py new file mode 100644 index 000000000..7ce503c2d --- /dev/null +++ b/FusionIIIT/applications/otheracademic/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/FusionIIIT/applications/otheracademic/urls.py b/FusionIIIT/applications/otheracademic/urls.py new file mode 100644 index 000000000..15beb0258 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/urls.py @@ -0,0 +1,31 @@ +from django.conf.urls import url + +from . import views + +app_name = 'otheracademic' + +urlpatterns = [ + + url(r'^$', views.otheracademic, name='otheracademic'), + url(r'^leaveform/$', views.leave_form_submit, name='leave_form_submit'), + url(r'^leaveApproveForm/$', views.leaveApproveForm, name='leaveApproveForm'), + url(r'^leaveStatus/$', views.leaveStatus, name='leaveStatus'), + # url(r'^approve_leave//$', views.approve_leave, name='approve_leave'), + # url(r'^reject_leave//$', views.reject_leave, name='reject_leave'), + url(r'^approve_leave/(?P\d+)/$', views.approve_leave, name='approve_leave'), + url(r'^reject_leave/(?P\d+)/$', views.reject_leave, name='reject_leave'), + url(r'^graduateseminar/$', views.graduateseminar, name='graduateseminar'), + url(r'^graduate_form_submit/$', views.graduate_form_submit, name='graduate_form_submit'), + url(r'^graduate_status/$', views.graduate_status, name='graduate_status'), + url(r'^bonafide/$', views.bonafide, name='bonafide'), + url(r'^bonafide_form_submit/$', views.bonafide_form_submit, name='bonafide_form_submit'), + url(r'^bonafideApproveForm/$', views.bonafideApproveForm, name='bonafideApproveForm'), + url(r'^approve_bonafide/(?P\d+)/$', views.approve_bonafide, name='approve_bonafide'), + url(r'^reject_bonafide/(?P\d+)/$', views.reject_bonafide, name='reject_bonafide'), + url(r'^bonafideStatus/$', views.bonafideStatus, name='bonafideStatus'), + url(r'^upload_file/(?P\d+)/$', views.upload_file, name='upload_file'), + url(r'^assistantship/$', views.assistantship, name='assistantship'), + url(r'^submitform/$', views.assistantship_form_submission, name='assistantship_form_submission'), + url(r'^approveform/$', views.assistantship_form_approval, name='assistantship_approval'), + url(r'^noduesverification/$', views.nodues, name='nodues'), +] diff --git a/FusionIIIT/applications/otheracademic/views.py b/FusionIIIT/applications/otheracademic/views.py new file mode 100644 index 000000000..9367d99c1 --- /dev/null +++ b/FusionIIIT/applications/otheracademic/views.py @@ -0,0 +1,246 @@ +from django.shortcuts import render +from django.contrib import messages +from django.shortcuts import render, get_object_or_404, redirect +# from .models import File, Tracking +from applications.globals.models import ExtraInfo, HoldsDesignation, Designation +from django.template.defaulttags import csrf_token +from django.http import HttpResponse, HttpResponseRedirect, JsonResponse +from django.contrib.auth.decorators import login_required +from django.db import IntegrityError +from django.core import serializers +from django.contrib.auth.models import User +from timeit import default_timer as time +from notification.views import office_module_notif,file_tracking_notif +from django.http import JsonResponse +from django.views.decorators.csrf import csrf_exempt +from .models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from django.shortcuts import render, get_object_or_404 +# from .utils import * + +# Create your views here. +def otheracademic(request): + return render(request, "otheracademic/leaveform.html") + + + +@csrf_exempt # Exempt CSRF verification for this view +def leave_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + leave=LeaveFormTable.objects.create( + student_name=data.get('name'), + roll_no=request.user.extrainfo, + date_from=data.get('date_from'), + date_to=data.get('date_to'), + leave_type=data.get('leave_type'), + upload_file=file, + address=data.get('address'), + purpose=data.get('purpose'), + date_of_application=data.get('date_of_application'), + approved=False, # Initially not approved + rejected=False, # Initially not rejected + ) + leave.save() + # print(roll_no_id) + return HttpResponseRedirect('/otheracademic') + + +def leaveApproveForm(request): + + form_data = LeaveFormTable.objects.all() + return render(request, 'otheracademic/leaveformreciever.html', {'form_data': form_data}) + +def leaveStatus(request): + + form_data = LeaveFormTable.objects.all() + return render(request, 'otheracademic/leaveStatus.html',{'form_data' : form_data }) + + + +def approve_leave(request, leave_id): + leave_entry = LeaveFormTable.objects.get(id=leave_id) + leave_entry.approved = True + leave_entry.save() + return redirect('/otheracademic/leaveApproveForm') # Redirect to appropriate page after approval + +def reject_leave(request, leave_id): + leave_entry = LeaveFormTable.objects.get(id=leave_id) + leave_entry.rejected = True + leave_entry.save() + return redirect('/otheracademic/leaveApproveForm') # Redirect to appropriate page after rejection + +def graduateseminar(request): + return render(request,'otheracademic/graduateseminarForm.html') + +def graduate_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + # file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + graduate=GraduateSeminarFormTable.objects.create( + + roll_no=data.get('roll_no'), + semester=data.get('semester'), + date_of_seminar=data.get('date_of_seminar'), + + ) + graduate.save() + return redirect('/otheracademic/graduateseminar') + +def graduate_status(request): + + form_data = GraduateSeminarFormTable.objects.all() + return render(request, 'otheracademic/graduateSeminarStatus.html',{'form_data' : form_data }) + +def bonafide(request): + return render(request,'otheracademic/bonafideForm.html') + + + +def bonafide_form_submit(request): + if request.method == 'POST': + # Extract data from the request + data = request.POST + file = request.FILES.get('related_document') + + + # Create a new LeaveFormTable instance and save it to the database + bonafide=BonafideFormTableUpdated.objects.create( + student_names=data.get('name'), + roll_nos=request.user.extrainfo, + branch_types = data.get('branch'), + semester_types = data.get('semester'), + purposes = data.get('purpose'), + date_of_applications = data.get('date_of_application'), + approve=False, # Initially not approved + reject=False, # Initially not rejected + download_file = None, + ) + bonafide.save() + return HttpResponseRedirect('/otheracademic/bonafide') + + +def bonafideApproveForm(request): + + form_data = BonafideFormTableUpdated.objects.all() + return render(request, 'otheracademic/bonafideApprove.html', {'form_data': form_data}) + +def approve_bonafide(request, leave_id): + file = request.FILES.get('related_document') + leave_entry = BonafideFormTableUpdated.objects.get(id=leave_id) + leave_entry.approve = True + leave_entry.download_file = file + leave_entry.save() + return redirect('/otheracademic/bonafideApproveForm') # Redirect to appropriate page after approval + +def reject_bonafide(request, leave_id): + leave_entry = BonafideFormTableUpdated.objects.get(id=leave_id) + leave_entry.reject = True + leave_entry.save() + return redirect('/otheracademic/bonafideApproveForm') # Redirect to appropriate page after rejection + +def bonafideStatus(request): + + form_data = BonafideFormTableUpdated.objects.all() + return render(request, 'otheracademic/bonafideStatus.html',{'form_data' : form_data }) + + +# views.py + + + + +def upload_file(request, entry_id): + if request.method == 'POST' and request.FILES.get('related_document'): + related_document = request.FILES['related_document'] + + # Assuming you want to update the 'download_file' field of your model + bonafide_entry = get_object_or_404(BonafideFormTableUpdated, pk=entry_id) + bonafide_entry.download_file = related_document + bonafide_entry.save() + + return JsonResponse({'message': 'File uploaded successfully'}, status=200) + else: + return JsonResponse({'error': 'No file provided'}, status=400) + + +def assistantship(request): + return render(request,'otheracademic/assistantshipclaimform.html') + +def assistantship_form_submission(request): + if request.method == 'POST': + # Retrieve form data + roll_no = request.user.extrainfo + student_name = request.POST.get('student_name') + discipline = request.POST.get('discipline') + month = request.POST.get('month') + year = request.POST.get('year') + bank_account = request.POST.get('bank_account') + student_signature = request.POST.get('student_signature') + ta_supervisor = request.POST.get('ta_supervisor') + thesis_supervisor = request.POST.get('thesis_supervisor') + date_str = request.POST.get('date') + + # Save form data to the database + assistantship_claim = AssistantshipClaimForm( + roll_no=roll_no, + student_name=student_name, + discipline=discipline, + month=month, + year=year, + bank_account=bank_account, + student_signature=student_signature, + ta_supervisor=ta_supervisor, + thesis_supervisor=thesis_supervisor, + date=date_str, + approved = False + ) + assistantship_claim.save() + + # file_id = create_file(uploader="21BCS112", + # uploader_designation="student", + # receiver="21BCS087", + # receiver_designation="CSE HOD", + # src_module="assistantship", + # src_object_id= str(assistantship_claim.id), + # file_extra_JSON= None, + # attached_file = None) + # inbox_files = view_inbox(username="vkjain", designation="CSE HOD",src_module="assistantship") + # print(inbox_files) + # print(file_id) + + + + # Redirect to a success page or return a success message + return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/success-url/' with the actual URL of your success page + else: + # Return an error response for invalid request method + return HttpResponse('Invalid request method') + + + +# def assistantship_form_approval(request): +# en = FormEntry.objects.all() +# return render(request,'assistantship/assistantship_approve.html') + +# views.py + + + +def assistantship_form_approval(request): + # Retrieve data from the database + form_data =AssistantshipClaimForm.objects.all() + return render(request, 'otheracademic/assistantship_approval.html', {'form_data': form_data}) + + +def nodues(request): + return render(request,'otheracademic/noduesverification.html') + diff --git a/FusionIIIT/applications/placement_cell/migrations/0001_initial.py b/FusionIIIT/applications/placement_cell/migrations/0001_initial.py deleted file mode 100644 index 257c98609..000000000 --- a/FusionIIIT/applications/placement_cell/migrations/0001_initial.py +++ /dev/null @@ -1,289 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='ChairmanVisit', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('company_name', models.CharField(default='', max_length=100)), - ('location', models.CharField(default='', max_length=100)), - ('visiting_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='CompanyDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('company_name', models.CharField(blank=True, max_length=100, null=True)), - ], - ), - migrations.CreateModel( - name='MessageOfficer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('message', models.CharField(default='', max_length=100)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='NotifyStudent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('placement_type', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('company_name', models.CharField(default='', max_length=100)), - ('ctc', models.DecimalField(decimal_places=4, max_digits=10)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('timestamp', models.DateTimeField(auto_now=True)), - ], - ), - migrations.CreateModel( - name='PlacementRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('placement_type', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('name', models.CharField(default='', max_length=100)), - ('ctc', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('year', models.IntegerField(default=0)), - ('test_score', models.IntegerField(blank=True, default=0, null=True)), - ('test_type', models.CharField(blank=True, default='', max_length=30, null=True)), - ], - ), - migrations.CreateModel( - name='Role', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('role', models.CharField(blank=True, max_length=100, null=True)), - ], - ), - migrations.CreateModel( - name='Skill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('skill', models.CharField(default='', max_length=30)), - ], - ), - migrations.CreateModel( - name='StudentPlacement', - fields=[ - ('unique_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='academic_information.student')), - ('debar', models.CharField(choices=[('NOT DEBAR', 'Not Debar'), ('DEBAR', 'Debar')], default='NOT DEBAR', max_length=20)), - ('future_aspect', models.CharField(choices=[('PLACEMENT', 'Placement'), ('PBI', 'PBI'), ('HIGHER STUDIES', 'Higher Studies'), ('OTHER', 'Other')], default='PLACEMENT', max_length=20)), - ('placed_type', models.CharField(choices=[('NOT PLACED', 'Not Placed'), ('PLACED', 'Placed')], default='NOT PLACED', max_length=20)), - ('placement_date', models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Date')), - ('package', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True)), - ], - ), - migrations.CreateModel( - name='Reference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('reference_name', models.CharField(default='', max_length=100)), - ('post', models.CharField(blank=True, default='', max_length=100, null=True)), - ('email', models.CharField(default='', max_length=50)), - ('mobile_number', models.CharField(blank=True, max_length=15, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Publication', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('publication_title', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('publisher', models.TextField(default='', max_length=250)), - ('publication_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Project', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('project_name', models.CharField(default='', max_length=50)), - ('project_status', models.CharField(choices=[('ONGOING', 'Ongoing'), ('COMPLETED', 'Completed')], default='COMPLETED', max_length=20)), - ('summary', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('project_link', models.CharField(blank=True, default='', max_length=200, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='PlacementSchedule', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='', max_length=100)), - ('placement_date', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('location', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=500, null=True)), - ('time', models.TimeField()), - ('attached_file', models.FileField(blank=True, null=True, upload_to='documents/placement/schedule')), - ('schedule_at', models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True)), - ('notify_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.notifystudent')), - ('role', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='placement_cell.role')), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('patent_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('patent_office', models.TextField(default='', max_length=250)), - ('patent_date', models.DateField()), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Interest', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('interest', models.CharField(default='', max_length=100)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Extracurricular', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('event_name', models.CharField(default='', max_length=100)), - ('event_type', models.CharField(choices=[('SOCIAL', 'Social'), ('CULTURE', 'Culture'), ('SPORT', 'Sport'), ('OTHER', 'Other')], default='OTHER', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('name_of_position', models.CharField(default='', max_length=200)), - ('date_earned', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Experience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='', max_length=100)), - ('status', models.CharField(choices=[('ONGOING', 'Ongoing'), ('COMPLETED', 'Completed')], default='COMPLETED', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=500, null=True)), - ('company', models.CharField(default='', max_length=200)), - ('location', models.CharField(default='', max_length=200)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Education', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('degree', models.CharField(default='', max_length=40)), - ('grade', models.CharField(default='', max_length=10)), - ('institute', models.TextField(default='', max_length=250)), - ('stream', models.CharField(blank=True, default='', max_length=150, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('course_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('license_no', models.CharField(blank=True, default='', max_length=100, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Conference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('conference_name', models.CharField(default='', max_length=100)), - ('description', models.TextField(blank=True, default='', max_length=250, null=True)), - ('sdate', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('edate', models.DateField(blank=True, null=True)), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='Coinventor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('coinventor_name', models.CharField(default='', max_length=100)), - ('patent_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.patent')), - ], - ), - migrations.CreateModel( - name='Coauthor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('coauthor_name', models.CharField(default='', max_length=100)), - ('publication_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.publication')), - ], - ), - migrations.CreateModel( - name='Achievement', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('achievement', models.CharField(default='', max_length=100)), - ('achievement_type', models.CharField(choices=[('EDUCATIONAL', 'Educational'), ('OTHER', 'Other')], default='OTHER', max_length=20)), - ('description', models.TextField(blank=True, default='', max_length=1000, null=True)), - ('issuer', models.CharField(default='', max_length=200)), - ('date_earned', models.DateField(default=datetime.date.today, verbose_name='Date')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - ), - migrations.CreateModel( - name='StudentRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('record_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.placementrecord')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('record_id', 'unique_id')}, - }, - ), - migrations.CreateModel( - name='PlacementStatus', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('invitation', models.CharField(choices=[('ACCEPTED', 'Accepted'), ('REJECTED', 'Rejected'), ('PENDING', 'Pending'), ('IGNORE', 'IGNORE')], default='PENDING', max_length=20)), - ('placed', models.CharField(choices=[('NOT PLACED', 'Not Placed'), ('PLACED', 'Placed')], default='NOT PLACED', max_length=20)), - ('timestamp', models.DateTimeField(auto_now=True)), - ('no_of_days', models.IntegerField(blank=True, default=10, null=True)), - ('notify_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.notifystudent')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('notify_id', 'unique_id')}, - }, - ), - migrations.CreateModel( - name='Has', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('skill_rating', models.IntegerField(default=80)), - ('skill_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='placement_cell.skill')), - ('unique_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'unique_together': {('skill_id', 'unique_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/placement_cell/migrations/__init__.py b/FusionIIIT/applications/placement_cell/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py b/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py deleted file mode 100644 index b01ec58a7..000000000 --- a/FusionIIIT/applications/programme_curriculum/migrations/0001_initial.py +++ /dev/null @@ -1,142 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Curriculum', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('version', models.PositiveIntegerField(default=1)), - ('working_curriculum', models.BooleanField(default=True)), - ('no_of_semester', models.PositiveIntegerField(default=1)), - ('min_credit', models.PositiveIntegerField(default=0)), - ], - ), - migrations.CreateModel( - name='Programme', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('category', models.CharField(choices=[('UG', 'Undergraduate'), ('PG', 'Postgraduate'), ('PHD', 'Doctor of Philosophy')], max_length=3)), - ('name', models.CharField(max_length=70, unique=True)), - ('programme_begin_year', models.PositiveIntegerField(default=2023)), - ], - ), - migrations.CreateModel( - name='Semester', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('semester_no', models.PositiveIntegerField()), - ('instigate_semester', models.BooleanField(default=False, null=True)), - ('start_semester', models.DateField(blank=True, null=True)), - ('end_semester', models.DateField(blank=True, null=True)), - ('semester_info', models.TextField(blank=True, null=True)), - ('curriculum', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.curriculum')), - ], - options={ - 'unique_together': {('curriculum', 'semester_no')}, - }, - ), - migrations.CreateModel( - name='Discipline', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100, unique=True)), - ('acronym', models.CharField(default='', max_length=10)), - ('programmes', models.ManyToManyField(blank=True, to='programme_curriculum.Programme')), - ], - ), - migrations.AddField( - model_name='curriculum', - name='programme', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.programme'), - ), - migrations.CreateModel( - name='Course', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('code', models.CharField(max_length=10, unique=True)), - ('name', models.CharField(max_length=100, unique=True)), - ('credit', models.PositiveIntegerField(default=0)), - ('lecture_hours', models.PositiveIntegerField(null=True)), - ('tutorial_hours', models.PositiveIntegerField(null=True)), - ('pratical_hours', models.PositiveIntegerField(null=True)), - ('discussion_hours', models.PositiveIntegerField(null=True)), - ('project_hours', models.PositiveIntegerField(null=True)), - ('pre_requisits', models.TextField(blank=True, null=True)), - ('syllabus', models.TextField()), - ('percent_quiz_1', models.PositiveIntegerField(default=10)), - ('percent_midsem', models.PositiveIntegerField(default=20)), - ('percent_quiz_2', models.PositiveIntegerField(default=10)), - ('percent_endsem', models.PositiveIntegerField(default=30)), - ('percent_project', models.PositiveIntegerField(default=15)), - ('percent_lab_evaluation', models.PositiveIntegerField(default=10)), - ('percent_course_attendance', models.PositiveIntegerField(default=5)), - ('ref_books', models.TextField()), - ('working_course', models.BooleanField(default=True)), - ('disciplines', models.ManyToManyField(blank=True, to='programme_curriculum.Discipline')), - ('pre_requisit_courses', models.ManyToManyField(blank=True, related_name='_course_pre_requisit_courses_+', to='programme_curriculum.Course')), - ], - options={ - 'unique_together': {('code', 'name')}, - }, - ), - migrations.CreateModel( - name='Batch', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(choices=[('B.Tech', 'B.Tech'), ('M.Tech', 'M.Tech'), ('B.Des', 'B.Des'), ('M.Des', 'M.Des'), ('Phd', 'Phd')], max_length=50)), - ('year', models.PositiveIntegerField(default=2023)), - ('running_batch', models.BooleanField(default=True)), - ('curriculum', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='programme_curriculum.curriculum')), - ('discipline', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.discipline')), - ], - options={ - 'unique_together': {('name', 'discipline', 'year')}, - }, - ), - migrations.AlterUniqueTogether( - name='curriculum', - unique_together={('name', 'version')}, - ), - migrations.CreateModel( - name='CourseSlot', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('type', models.CharField(choices=[('Professional Core', 'Professional Core'), ('Professional Elective', 'Professional Elective'), ('Professional Lab', 'Professional Lab'), ('Engineering Science', 'Engineering Science'), ('Natural Science', 'Natural Science'), ('Humanities', 'Humanities'), ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('Management Science', 'Management Science'), ('Optional Elective', 'Optional Elective'), ('Project', 'Project'), ('Optional', 'Optional'), ('Others', 'Others')], max_length=70)), - ('course_slot_info', models.TextField(null=True)), - ('duration', models.PositiveIntegerField(default=1)), - ('min_registration_limit', models.PositiveIntegerField(default=0)), - ('max_registration_limit', models.PositiveIntegerField(default=1000)), - ('courses', models.ManyToManyField(blank=True, to='programme_curriculum.Course')), - ('semester', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.semester')), - ], - options={ - 'unique_together': {('semester', 'name', 'type')}, - }, - ), - migrations.CreateModel( - name='CourseInstructor', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('batch_id', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.batch')), - ('course_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='programme_curriculum.course')), - ('instructor_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'unique_together': {('course_id', 'instructor_id', 'batch_id')}, - }, - ), - ] diff --git a/FusionIIIT/applications/programme_curriculum/migrations/__init__.py b/FusionIIIT/applications/programme_curriculum/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/ps1/migrations/0001_initial.py b/FusionIIIT/applications/ps1/migrations/0001_initial.py deleted file mode 100644 index 4cd74fe33..000000000 --- a/FusionIIIT/applications/ps1/migrations/0001_initial.py +++ /dev/null @@ -1,58 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('filetracking', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='IndentFile', - fields=[ - ('file_info', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='filetracking.file')), - ('item_name', models.CharField(max_length=250)), - ('quantity', models.IntegerField()), - ('present_stock', models.IntegerField()), - ('estimated_cost', models.IntegerField(null=True)), - ('purpose', models.CharField(max_length=250)), - ('specification', models.CharField(max_length=250)), - ('indent_type', models.CharField(max_length=250)), - ('nature', models.BooleanField(default=False)), - ('indigenous', models.BooleanField(default=False)), - ('replaced', models.BooleanField(default=False)), - ('budgetary_head', models.CharField(max_length=250)), - ('expected_delivery', models.DateField()), - ('sources_of_supply', models.CharField(max_length=250)), - ('head_approval', models.BooleanField(default=False)), - ('director_approval', models.BooleanField(default=False)), - ('financial_approval', models.BooleanField(default=False)), - ('purchased', models.BooleanField(default=False)), - ], - options={ - 'db_table': 'IndentFile', - }, - ), - migrations.CreateModel( - name='StockEntry', - fields=[ - ('item_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='ps1.indentfile')), - ('vendor', models.CharField(max_length=250)), - ('item_name', models.CharField(max_length=250)), - ('current_stock', models.IntegerField()), - ('recieved_date', models.DateField()), - ('bill', models.FileField(upload_to='')), - ('dealing_assistant_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'StockEntry', - }, - ), - ] diff --git a/FusionIIIT/applications/ps1/migrations/__init__.py b/FusionIIIT/applications/ps1/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/recruitment/migrations/0001_initial.py b/FusionIIIT/applications/recruitment/migrations/0001_initial.py deleted file mode 100644 index 9cf2d3a77..000000000 --- a/FusionIIIT/applications/recruitment/migrations/0001_initial.py +++ /dev/null @@ -1,311 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='EducationalDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('university', models.CharField(max_length=200)), - ('board', models.CharField(max_length=200)), - ('year_of_passing', models.IntegerField()), - ('division', models.CharField(max_length=6)), - ], - ), - migrations.CreateModel( - name='Experience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('duration', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=100, null=True)), - ('area', models.CharField(max_length=200, null=True)), - ], - ), - migrations.CreateModel( - name='Vacancy', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('advertisement_number', models.IntegerField()), - ('job_description', models.TextField()), - ('job_notification', models.FileField(upload_to='')), - ('number_of_vacancy', models.IntegerField(default=1)), - ('job_type', models.CharField(choices=[('T', 'Teaching'), ('NT', 'Non-Teaching')], max_length=15)), - ('last_date', models.DateField()), - ], - ), - migrations.CreateModel( - name='ThesisSupervision', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name_of_student', models.CharField(max_length=200)), - ('masters_or_phd', models.CharField(choices=[('Masters', 'Masters'), ('PhD', 'PhD')], max_length=20)), - ('year_of_completion', models.IntegerField()), - ('title_of_thesis', models.CharField(max_length=100)), - ('co_guides', models.CharField(max_length=200, null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='TeachingExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('teaching_experience', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.experience')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='SponsoredProjects', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.CharField(max_length=10)), - ('sponsoring_organisation', models.CharField(max_length=200)), - ('title_of_project', models.CharField(max_length=200)), - ('grant_amount', models.IntegerField(null=True)), - ('co_investigators', models.CharField(max_length=200, null=True)), - ('status', models.CharField(choices=[('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=20)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('research_experience', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.experience')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='References', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('address', models.TextField(null=True)), - ('email', models.EmailField(max_length=254)), - ('mobile_number', models.BigIntegerField()), - ('department', models.CharField(max_length=50)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='QualifiedExams', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('net', models.BooleanField()), - ('gate', models.BooleanField()), - ('jrf', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Publications', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('referred_journal', models.CharField(max_length=100)), - ('sci_index_journal', models.CharField(max_length=100)), - ('international_conferences', models.CharField(max_length=100, null=True)), - ('national_conferences', models.CharField(max_length=100, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='PersonalDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(default='Dr.', max_length=20)), - ('sex', models.CharField(choices=[('M', 'Male'), ('F', 'Female'), ('O', 'Other')], default='M', max_length=2)), - ('profile_picture', models.ImageField(blank=True, null=True, upload_to='')), - ('marital_status', models.CharField(choices=[('M', 'Married'), ('U', 'Unmarried')], max_length=10)), - ('discipline', models.CharField(max_length=50)), - ('specialization', models.CharField(choices=[('MA', 'Major'), ('MI', 'Minor')], max_length=10)), - ('category', models.CharField(choices=[('PH', 'Physically Handicapped'), ('UR', 'Unreserved'), ('OBC', 'Other Backward Classes'), ('SC', 'Scheduled Castes'), ('ST', 'Scheduled Tribes'), ('EWS', 'Economic Weaker Section')], max_length=20)), - ('father_name', models.CharField(default='', max_length=40)), - ('address_correspondence', models.TextField(max_length=1000)), - ('address_permanent', models.TextField(default='', max_length=1000)), - ('email_alternate', models.EmailField(default='', max_length=50, null=True)), - ('phone_no', models.BigIntegerField(default=9999999999, null=True)), - ('mobile_no_first', models.BigIntegerField(default=9999999999)), - ('mobile_no_second', models.BigIntegerField(default=9999999999, null=True)), - ('date_of_birth', models.DateField(default=datetime.date(1970, 1, 1))), - ('nationality', models.CharField(max_length=30)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('filed_national', models.CharField(max_length=200, null=True)), - ('filed_international', models.CharField(max_length=200, null=True)), - ('award_national', models.CharField(max_length=200, null=True)), - ('award_international', models.CharField(max_length=200, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='PapersInReferredJournal', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('published', models.BooleanField()), - ('accepted', models.BooleanField()), - ('title', models.CharField(max_length=100)), - ('reference_of_journal', models.CharField(max_length=100)), - ('impact_factor', models.CharField(max_length=100)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='NationalConference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('title', models.CharField(max_length=100)), - ('name_and_place_of_conference', models.CharField(max_length=200)), - ('presented', models.BooleanField()), - ('published', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='InternationalConference', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('title', models.CharField(max_length=100)), - ('name_and_place_of_conference', models.CharField(max_length=200)), - ('presented', models.BooleanField()), - ('published', models.BooleanField()), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='IndustrialExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=200, null=True)), - ('title_of_post', models.CharField(max_length=200, null=True)), - ('nature_of_work', models.TextField(null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ExperienceDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('total_experience_months', models.IntegerField(null=True)), - ('member_of_professional_body', models.CharField(max_length=200, null=True)), - ('employer', models.CharField(max_length=100, null=True)), - ('position_held', models.CharField(max_length=100, null=True)), - ('date_of_joining', models.DateField(null=True)), - ('date_of_leaving', models.DateField(null=True)), - ('pay_in_payband', models.CharField(max_length=20, null=True)), - ('payband', models.CharField(max_length=20, null=True)), - ('AGP', models.CharField(max_length=20, null=True)), - ('reasons_for_leaving', models.TextField(null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='CoursesTaught', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=100, null=True)), - ('level', models.CharField(choices=[('UG', 'UnderGraduate'), ('PG', 'PostGraduate')], max_length=20, null=True)), - ('number_of_times', models.IntegerField(null=True)), - ('developed_by_you', models.BooleanField(null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Consultancy', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.CharField(max_length=10)), - ('sponsoring_organisation', models.CharField(max_length=200)), - ('title_of_project', models.CharField(max_length=200)), - ('grant_amount', models.IntegerField(null=True)), - ('co_investigators', models.CharField(max_length=200, null=True)), - ('status', models.CharField(choices=[('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=20)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Books', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name_of_book', models.CharField(max_length=100)), - ('year', models.IntegerField()), - ('published', models.BooleanField()), - ('title', models.CharField(max_length=100)), - ('publisher', models.CharField(max_length=200)), - ('co_author', models.CharField(max_length=100, null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='BankDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('payment_reference_number', models.CharField(max_length=20)), - ('payment_date', models.DateField()), - ('bank_name', models.CharField(max_length=100)), - ('bank_branch', models.CharField(max_length=200)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='applied', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField(default=django.utils.timezone.now)), - ('advertisement_number', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='recruitment.vacancy')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='AdministrativeExperience', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('period', models.IntegerField(null=True)), - ('organization', models.CharField(max_length=200, null=True)), - ('title_of_post', models.CharField(max_length=200, null=True)), - ('nature_of_work', models.TextField(null=True)), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='AcademicDetails', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('area_of_specialization', models.TextField()), - ('current_area_of_research', models.TextField()), - ('date_of_enrollment_in_phd', models.DateField()), - ('date_of_phd_defence', models.DateField()), - ('date_of_award_of_phd', models.DateField()), - ('XIIth', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='XIIth_details', to='recruitment.educationaldetails')), - ('Xth', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='Xth_details', to='recruitment.educationaldetails')), - ('graduation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='graduation_details', to='recruitment.educationaldetails')), - ('phd', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='phd_details', to='recruitment.educationaldetails')), - ('post_graduation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='post_graduations_details', to='recruitment.educationaldetails')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/FusionIIIT/applications/recruitment/migrations/__init__.py b/FusionIIIT/applications/recruitment/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py b/FusionIIIT/applications/research_procedures/migrations/0001_initial.py deleted file mode 100644 index ec4b77a48..000000000 --- a/FusionIIIT/applications/research_procedures/migrations/0001_initial.py +++ /dev/null @@ -1,91 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -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), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='TechTransfer', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('details', models.CharField(default=' ', max_length=500)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('start_date', models.DateField(blank=True, null=True)), - ('end_date', models.DateField(blank=True, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchProject', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('ptype', models.CharField(default='Research', max_length=100)), - ('pi', models.CharField(default=' ', max_length=1000)), - ('co_pi', models.CharField(default=' ', max_length=1500)), - ('title', models.TextField(default=' ', max_length=5000)), - ('funding_agency', models.CharField(default=' ', max_length=250, null=True)), - ('financial_outlay', models.CharField(default=' ', max_length=150, null=True)), - ('status', models.CharField(choices=[('Awarded', 'Awarded'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing'), ('Completed', 'Completed')], max_length=10)), - ('start_date', models.DateField(blank=True, null=True)), - ('finish_date', models.DateField(blank=True, null=True)), - ('date_submission', models.DateField(blank=True, null=True)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='ResearchGroup', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=120)), - ('description', models.TextField()), - ('faculty_under_group', models.ManyToManyField(related_name='allfaculty', to=settings.AUTH_USER_MODEL)), - ('students_under_group', models.ManyToManyField(related_name='allstudents', to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Patent', - fields=[ - ('application_id', models.AutoField(primary_key=True, serialize=False)), - ('title', models.CharField(max_length=120)), - ('ipd_form', models.FileField(blank=True, null=True, upload_to='')), - ('project_details', models.FileField(blank=True, null=True, upload_to='')), - ('ipd_form_file', models.TextField(blank=True, null=True)), - ('project_details_file', models.TextField(blank=True, null=True)), - ('status', models.CharField(choices=[('Approved', 'Approved'), ('Disapproved', 'Disapproved'), ('Pending', 'Pending')], default='Pending', max_length=20)), - ('faculty_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - ), - migrations.CreateModel( - name='ConsultancyProject', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pf_no', models.IntegerField()), - ('consultants', models.CharField(max_length=150)), - ('title', models.CharField(max_length=1000)), - ('client', models.CharField(max_length=1000)), - ('financial_outlay', models.IntegerField()), - ('start_date', models.DateField(blank=True, null=True)), - ('end_date', models.DateField(blank=True, null=True)), - ('duration', models.CharField(blank=True, max_length=500, null=True)), - ('date_entry', models.DateField(blank=True, default=datetime.datetime.now, null=True)), - ('status', models.CharField(blank=True, choices=[('Completed', 'Completed'), ('Submitted', 'Submitted'), ('Ongoing', 'Ongoing')], default='Ongoing', max_length=10, null=True)), - ('remarks', models.CharField(blank=True, max_length=1000, null=True)), - ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - ] diff --git a/FusionIIIT/applications/research_procedures/migrations/__init__.py b/FusionIIIT/applications/research_procedures/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/scholarships/migrations/0001_initial.py b/FusionIIIT/applications/scholarships/migrations/0001_initial.py deleted file mode 100644 index 176422fd9..000000000 --- a/FusionIIIT/applications/scholarships/migrations/0001_initial.py +++ /dev/null @@ -1,233 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('academic_information', '0001_initial'), - ('globals', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Award_and_scholarship', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('award_name', models.CharField(default='', max_length=100)), - ('catalog', models.TextField(max_length=5000)), - ], - options={ - 'db_table': 'Award_and_scholarship', - }, - ), - migrations.CreateModel( - name='Release', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date_time', models.DateTimeField(blank=True, default=datetime.datetime.now)), - ('programme', models.CharField(default='B.Tech', max_length=10)), - ('startdate', models.DateField(default=datetime.date.today)), - ('enddate', models.DateField()), - ('award', models.CharField(default='', max_length=50)), - ('remarks', models.TextField(default='', max_length=500)), - ('batch', models.TextField(default='all')), - ('notif_visible', models.IntegerField(default=1)), - ], - options={ - 'db_table': 'Release', - }, - ), - migrations.CreateModel( - name='Proficiency_dm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('title_name', models.CharField(max_length=30, null=True)), - ('award_type', models.CharField(max_length=50, null=True)), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('no_of_students', models.IntegerField(default=1)), - ('date', models.DateField(default=datetime.date.today)), - ('roll_no1', models.IntegerField(default=0)), - ('roll_no2', models.IntegerField(default=0)), - ('roll_no3', models.IntegerField(default=0)), - ('roll_no4', models.IntegerField(default=0)), - ('roll_no5', models.IntegerField(default=0)), - ('brief_description', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('ece_topic', models.CharField(max_length=25, null=True)), - ('cse_topic', models.CharField(max_length=25, null=True)), - ('mech_topic', models.CharField(max_length=25, null=True)), - ('design_topic', models.CharField(max_length=25, null=True)), - ('ece_percentage', models.IntegerField(null=True)), - ('cse_percentage', models.IntegerField(null=True)), - ('mech_percentage', models.IntegerField(null=True)), - ('design_percentage', models.IntegerField(null=True)), - ('correspondence_address', models.CharField(max_length=100, null=True)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('nearest_policestation', models.CharField(max_length=25, null=True)), - ('nearest_railwaystation', models.CharField(max_length=25, null=True)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Proficiency_dm', - }, - ), - migrations.CreateModel( - name='Previous_winner', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('programme', models.CharField(default='B.Tech', max_length=10)), - ('year', models.IntegerField(default=2023)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Previous_winner', - }, - ), - migrations.CreateModel( - name='Notional_prize', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('spi', models.FloatField()), - ('cpi', models.FloatField()), - ('year', models.CharField(choices=[('UG1', 'UG1'), ('UG2', 'UG2'), ('UG3', 'UG3'), ('UG4', 'UG4'), ('PG1', 'PG1'), ('PG2', 'PG2')], max_length=10)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ], - options={ - 'db_table': 'Notional_prize', - }, - ), - migrations.CreateModel( - name='Notification', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('notification_mcm_flag', models.BooleanField(default=False)), - ('notification_convocation_flag', models.BooleanField(default=False)), - ('invite_mcm_accept_flag', models.BooleanField(default=False)), - ('invite_convocation_accept_flag', models.BooleanField(default=False)), - ('release_id', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='scholarships.release')), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Notification', - }, - ), - migrations.CreateModel( - name='Mcm', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('brother_name', models.CharField(max_length=30, null=True)), - ('brother_occupation', models.TextField(max_length=100, null=True)), - ('sister_name', models.CharField(max_length=30, null=True)), - ('sister_occupation', models.TextField(max_length=100, null=True)), - ('income_father', models.IntegerField(default=0)), - ('income_mother', models.IntegerField(default=0)), - ('income_other', models.IntegerField(default=0)), - ('father_occ', models.CharField(choices=[('government', 'Government'), ('private', 'Private'), ('public', 'Public'), ('business', 'Business'), ('medical', 'Medical'), ('consultant', 'Consultant'), ('pensioners', 'Pensioners')], default='', max_length=10)), - ('mother_occ', models.CharField(choices=[('EMPLOYED', 'EMPLOYED'), ('HOUSE_WIFE', 'HOUSE_WIFE')], default='', max_length=10)), - ('father_occ_desc', models.CharField(max_length=30, null=True)), - ('mother_occ_desc', models.CharField(max_length=30, null=True)), - ('four_wheeler', models.IntegerField(blank=True, null=True)), - ('four_wheeler_desc', models.CharField(max_length=30, null=True)), - ('two_wheeler', models.IntegerField(blank=True, null=True)), - ('two_wheeler_desc', models.CharField(max_length=30, null=True)), - ('house', models.CharField(max_length=10, null=True)), - ('plot_area', models.IntegerField(blank=True, null=True)), - ('constructed_area', models.IntegerField(blank=True, null=True)), - ('school_fee', models.IntegerField(blank=True, null=True)), - ('school_name', models.CharField(max_length=30, null=True)), - ('bank_name', models.CharField(max_length=100, null=True)), - ('loan_amount', models.IntegerField(blank=True, null=True)), - ('college_fee', models.IntegerField(blank=True, null=True)), - ('college_name', models.CharField(max_length=30, null=True)), - ('income_certificate', models.FileField(blank=True, null=True, upload_to='')), - ('forms', models.FileField(blank=True, null=True, upload_to='')), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('annual_income', models.IntegerField(default=0)), - ('date', models.DateField(default=datetime.date.today)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='mcm_info', to='academic_information.student')), - ], - options={ - 'db_table': 'Mcm', - }, - ), - migrations.CreateModel( - name='Director_silver', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nearest_policestation', models.TextField(default='station', max_length=30)), - ('nearest_railwaystation', models.TextField(default='station', max_length=30)), - ('correspondence_address', models.TextField(max_length=150, null=True)), - ('award_type', models.CharField(max_length=50, null=True)), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('date', models.DateField(default=datetime.date.today)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('inside_achievements', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('outside_achievements', models.TextField(max_length=1000, null=True)), - ('award_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Director_silver', - }, - ), - migrations.CreateModel( - name='Director_gold', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('Complete', 'COMPLETE'), ('Incomplete', 'INCOMPLETE'), ('Reject', 'REJECT'), ('Accept', 'ACCEPT')], default='INCOMPLETE', max_length=10)), - ('relevant_document', models.FileField(blank=True, null=True, upload_to='')), - ('date', models.DateField(default=datetime.date.today)), - ('academic_achievements', models.TextField(max_length=1000, null=True)), - ('science_inside', models.TextField(max_length=1000, null=True)), - ('science_outside', models.TextField(max_length=1000, null=True)), - ('games_inside', models.TextField(max_length=1000, null=True)), - ('games_outside', models.TextField(max_length=1000, null=True)), - ('cultural_inside', models.TextField(max_length=1000, null=True)), - ('cultural_outside', models.TextField(max_length=1000, null=True)), - ('social', models.TextField(max_length=1000, null=True)), - ('corporate', models.TextField(max_length=1000, null=True)), - ('hall_activities', models.TextField(max_length=1000, null=True)), - ('gymkhana_activities', models.TextField(max_length=1000, null=True)), - ('institute_activities', models.TextField(max_length=1000, null=True)), - ('counselling_activities', models.TextField(max_length=1000, null=True)), - ('other_activities', models.TextField(max_length=1000, null=True)), - ('justification', models.TextField(max_length=1000, null=True)), - ('correspondence_address', models.CharField(max_length=100, null=True)), - ('financial_assistance', models.TextField(max_length=1000, null=True)), - ('grand_total', models.IntegerField(null=True)), - ('nearest_policestation', models.CharField(max_length=25, null=True)), - ('nearest_railwaystation', models.CharField(max_length=25, null=True)), - ('award_id', models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, to='scholarships.award_and_scholarship')), - ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academic_information.student')), - ], - options={ - 'db_table': 'Director_gold', - }, - ), - migrations.CreateModel( - name='Application', - fields=[ - ('application_id', models.CharField(max_length=100, primary_key=True, serialize=False)), - ('applied_flag', models.BooleanField(default=False)), - ('award', models.CharField(max_length=30)), - ('student_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='globals.extrainfo')), - ], - options={ - 'db_table': 'Application', - }, - ), - ] diff --git a/FusionIIIT/applications/scholarships/migrations/__init__.py b/FusionIIIT/applications/scholarships/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py b/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py deleted file mode 100644 index f4229feb2..000000000 --- a/FusionIIIT/applications/visitor_hostel/migrations/0001_initial.py +++ /dev/null @@ -1,134 +0,0 @@ -# Generated by Django 3.1.5 on 2023-03-15 18:53 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='BookingDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('visitor_category', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')], default='C', max_length=1)), - ('modified_visitor_category', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')], default='C', max_length=1)), - ('person_count', models.IntegerField(default=1)), - ('purpose', models.TextField(default='Hi!')), - ('booking_from', models.DateField()), - ('booking_to', models.DateField()), - ('arrival_time', models.TextField(blank=True, null=True)), - ('departure_time', models.TextField(blank=True, null=True)), - ('forwarded_date', models.DateField(blank=True, null=True)), - ('confirmed_date', models.DateField(blank=True, null=True)), - ('check_in', models.DateField(blank=True, null=True)), - ('check_out', models.DateField(blank=True, null=True)), - ('check_in_time', models.TimeField(blank=True, null=True)), - ('check_out_time', models.TimeField(blank=True, null=True)), - ('status', models.CharField(choices=[('Confirmed', 'Confirmed'), ('Pending', 'Pending'), ('Rejected', 'Rejected'), ('Canceled', 'Canceled'), ('CancelRequested', 'CancelRequested'), ('CheckedIn', 'CheckedIn'), ('Complete', 'Complete'), ('Forward', 'Forward')], default='Pending', max_length=15)), - ('remark', models.CharField(blank=True, max_length=40, null=True)), - ('image', models.FileField(blank=True, null=True, upload_to='VhImage/')), - ('number_of_rooms', models.IntegerField(blank=True, default=1, null=True)), - ('number_of_rooms_alloted', models.IntegerField(blank=True, default=1, null=True)), - ('booking_date', models.DateField(default=django.utils.timezone.now)), - ('bill_to_be_settled_by', models.CharField(choices=[('Intender', 'Intender'), ('Visitor', 'Visitor'), ('ProjectNo', 'ProjectNo'), ('Institute', 'Institute')], default='Intender', max_length=15)), - ('caretaker', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='caretaker', to=settings.AUTH_USER_MODEL)), - ('intender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='intender', to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Inventory', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('item_name', models.CharField(max_length=20)), - ('quantity', models.IntegerField(default=0)), - ('consumable', models.BooleanField(default=False)), - ('opening_stock', models.IntegerField(default=0)), - ('addition_stock', models.IntegerField(default=0)), - ('total_stock', models.IntegerField(default=0)), - ('serviceable', models.IntegerField(default=0)), - ('non_serviceable', models.IntegerField(default=0)), - ('inuse', models.IntegerField(default=0)), - ('total_usable', models.IntegerField(default=0)), - ('remark', models.TextField(blank=True)), - ], - ), - migrations.CreateModel( - name='VisitorDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('visitor_phone', models.CharField(max_length=15)), - ('visitor_name', models.CharField(max_length=40)), - ('visitor_email', models.CharField(blank=True, max_length=40)), - ('visitor_organization', models.CharField(blank=True, max_length=100)), - ('visitor_address', models.TextField(blank=True)), - ('nationality', models.CharField(blank=True, max_length=20)), - ], - ), - migrations.CreateModel( - name='RoomDetail', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('room_number', models.CharField(max_length=4, unique=True)), - ('room_type', models.CharField(choices=[('SingleBed', 'SingleBed'), ('DoubleBed', 'DoubleBed'), ('VIP', 'VIP')], max_length=12)), - ('room_floor', models.CharField(choices=[('GroundFloor', 'GroundFloor'), ('FirstFloor', 'FirstFloor'), ('SecondFloor', 'SecondFloor'), ('ThirdFloor', 'ThirdFloor')], max_length=12)), - ('room_status', models.CharField(choices=[('Booked', 'Booked'), ('CheckedIn', 'CheckedIn'), ('Available', 'Available'), ('UnderMaintenance', 'UnderMaintenance')], default='Available', max_length=20)), - ('visitor', models.ManyToManyField(blank=True, to='visitor_hostel.VisitorDetail')), - ], - ), - migrations.CreateModel( - name='MealRecord', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meal_date', models.DateField()), - ('morning_tea', models.BooleanField(default=False)), - ('eve_tea', models.BooleanField(default=False)), - ('breakfast', models.BooleanField(default=False)), - ('lunch', models.BooleanField(default=False)), - ('dinner', models.BooleanField(default=False)), - ('persons', models.IntegerField(default=0)), - ('booking', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.bookingdetail')), - ('room', models.ForeignKey(default=0, on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.roomdetail')), - ('visitor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.visitordetail')), - ], - ), - migrations.CreateModel( - name='InventoryBill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('bill_number', models.CharField(max_length=40)), - ('cost', models.IntegerField(default=0)), - ('item_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.inventory')), - ], - ), - migrations.AddField( - model_name='bookingdetail', - name='rooms', - field=models.ManyToManyField(to='visitor_hostel.RoomDetail'), - ), - migrations.AddField( - model_name='bookingdetail', - name='visitor', - field=models.ManyToManyField(to='visitor_hostel.VisitorDetail'), - ), - migrations.CreateModel( - name='Bill', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('meal_bill', models.IntegerField(default=0)), - ('room_bill', models.IntegerField(default=0)), - ('payment_status', models.BooleanField(default=False)), - ('booking', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='visitor_hostel.bookingdetail')), - ('caretaker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ('room', models.ManyToManyField(to='visitor_hostel.RoomDetail')), - ], - ), - ] diff --git a/FusionIIIT/applications/visitor_hostel/migrations/__init__.py b/FusionIIIT/applications/visitor_hostel/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/FusionIIIT/templates/academic_procedures/acad_admin.html b/FusionIIIT/templates/academic_procedures/acad_admin.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/acad_assis.html b/FusionIIIT/templates/academic_procedures/acad_assis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/academicfac.html b/FusionIIIT/templates/academic_procedures/academicfac.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/account_assis.html b/FusionIIIT/templates/academic_procedures/account_assis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/allot_courses.html b/FusionIIIT/templates/academic_procedures/allot_courses.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/approveassis.html b/FusionIIIT/templates/academic_procedures/approveassis.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/approvemtechsg.html b/FusionIIIT/templates/academic_procedures/approvemtechsg.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/assis_hod.html b/FusionIIIT/templates/academic_procedures/assis_hod.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/assistantshipclaim.html b/FusionIIIT/templates/academic_procedures/assistantshipclaim.html old mode 100644 new mode 100755 index c6576537e..6be59e239 --- a/FusionIIIT/templates/academic_procedures/assistantshipclaim.html +++ b/FusionIIIT/templates/academic_procedures/assistantshipclaim.html @@ -1,313 +1,243 @@ {% block applyform %} {% load static %} - {% comment %}The tab menu starts here!{% endcomment %} - - - -
-
- {% if assistantship_flag == "True" %} -
+ + + +
+
+ + {% csrf_token %} - {% comment %}The add a new skill Accordian starts here!{% endcomment %} -
-
-
- - -
- - -
- - +
+ +
+ + + +

-
- -
-
Category SubcategoryAmountTotal AmountAmount UtilisedAmount Remaining
{{ item.category }} {{ item.sub_category }} {{ item.amount }}{{ item.amount }}{{ item.amount - item.amount }}
- - - - - - - - - - - - - {% for obj in assistantship_list reversed%} - +
+
+ + +
+
MonthYearTA SupervisorThesis SupervisorAcademic departmentAccount department
+ + + + + + + + + + + + {% for obj in assistantship_list reversed %} + - + {% endfor %} - -
MonthYearTA SupervisorThesis SupervisorAcademic departmentAccount department
{{obj.month}} {{ obj.year }} {% if obj.ta_supervisor_remark == True %} -
+
{% elif obj.ta_supervisor_remark == False %} -
+
{% endif %}
{% if obj.thesis_supervisor_remark == True %} -
+
{% elif obj.thesis_supervisor_remark == False %} -
+
{% endif %}
{% if obj.ta_supervisor_remark == False or obj.thesis_supervisor_remark == False %} -
Not forwaded
+
Not forwarded
{% elif obj.acad_approval == True %} -
+
{% elif obj.acad_approval == False %} -
+
{% endif %}
{% if obj.acad_approval == False %} -
Not forwaded
+
Not forwarded
{% elif obj.account_approval == True %} -
+
{% elif obj.account_approval == False %} -
+
{% endif %}
- -

- + -
- - {% endblock %} {% block javascript %} - - + }); + } + {% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide.html b/FusionIIIT/templates/academic_procedures/bonafide.html old mode 100644 new mode 100755 index 7c0438667..447afefe7 --- a/FusionIIIT/templates/academic_procedures/bonafide.html +++ b/FusionIIIT/templates/academic_procedures/bonafide.html @@ -9,17 +9,33 @@
-
- {%csrf_token%} + + {% csrf_token %}
Apply for Bonafide:

+
+
+ Name: + Branch: +
+
+
+
+ Discipline: +
+
+ Roll No: +
+
+ Purpose: +
-
+ {% comment %}

- -
+ +
{% endcomment %}
@@ -49,7 +65,7 @@
\ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide_new.html b/FusionIIIT/templates/academic_procedures/bonafide_new.html new file mode 100644 index 000000000..6816bb568 --- /dev/null +++ b/FusionIIIT/templates/academic_procedures/bonafide_new.html @@ -0,0 +1,63 @@ +{% load static %} + + {% comment %}The tab menu starts here!{% endcomment %} + + +
+
+ + {% csrf_token %} +
+ Apply for Bonafide: +
+ +
+ + + +
+ + +
+ +
+ +
+ + + +
+
+ + + +
+
+
+
+ + \ No newline at end of file diff --git a/FusionIIIT/templates/academic_procedures/bonafide_pdf.html b/FusionIIIT/templates/academic_procedures/bonafide_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/check_attendance.html b/FusionIIIT/templates/academic_procedures/check_attendance.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/course_marks_data.html b/FusionIIIT/templates/academic_procedures/course_marks_data.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/dues.html b/FusionIIIT/templates/academic_procedures/dues.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/dues_pdf.html b/FusionIIIT/templates/academic_procedures/dues_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/gen_course_list.html b/FusionIIIT/templates/academic_procedures/gen_course_list.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_pdf.html b/FusionIIIT/templates/academic_procedures/generate_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_result_pdf.html b/FusionIIIT/templates/academic_procedures/generate_result_pdf.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/generate_sheet.html b/FusionIIIT/templates/academic_procedures/generate_sheet.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/grade_submission.html b/FusionIIIT/templates/academic_procedures/grade_submission.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/leave.html b/FusionIIIT/templates/academic_procedures/leave.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/manual_grade_submission.html b/FusionIIIT/templates/academic_procedures/manual_grade_submission.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messdueassistant.html b/FusionIIIT/templates/academic_procedures/messdueassistant.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messdueedit.html b/FusionIIIT/templates/academic_procedures/messdueedit.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/messduehistory.html b/FusionIIIT/templates/academic_procedures/messduehistory.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/mtechseminar.html b/FusionIIIT/templates/academic_procedures/mtechseminar.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/phdform.html b/FusionIIIT/templates/academic_procedures/phdform.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/phdprogress.html b/FusionIIIT/templates/academic_procedures/phdprogress.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/registeredCourse.html b/FusionIIIT/templates/academic_procedures/registeredCourse.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result.html b/FusionIIIT/templates/academic_procedures/result.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result_announce.html b/FusionIIIT/templates/academic_procedures/result_announce.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/result_generation.html b/FusionIIIT/templates/academic_procedures/result_generation.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/studentCourses.html b/FusionIIIT/templates/academic_procedures/studentCourses.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/student_course_list.html b/FusionIIIT/templates/academic_procedures/student_course_list.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/teaching_credit.html b/FusionIIIT/templates/academic_procedures/teaching_credit.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/teaching_credit_register.html b/FusionIIIT/templates/academic_procedures/teaching_credit_register.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/test.html b/FusionIIIT/templates/academic_procedures/test.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/test_render.html b/FusionIIIT/templates/academic_procedures/test_render.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/thesissupervise.html b/FusionIIIT/templates/academic_procedures/thesissupervise.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/ug.html b/FusionIIIT/templates/academic_procedures/ug.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/underconstruction.html b/FusionIIIT/templates/academic_procedures/underconstruction.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/updatedues.html b/FusionIIIT/templates/academic_procedures/updatedues.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/verify_course_marks_data.html b/FusionIIIT/templates/academic_procedures/verify_course_marks_data.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/academic_procedures/view_performance.html b/FusionIIIT/templates/academic_procedures/view_performance.html old mode 100644 new mode 100755 diff --git a/FusionIIIT/templates/otheracademic/assistantship_approval.html b/FusionIIIT/templates/otheracademic/assistantship_approval.html new file mode 100644 index 000000000..78c05c1c0 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/assistantship_approval.html @@ -0,0 +1,93 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+
+ + + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameDisciplineMonthYearBank A/C No.TA SupervisorThesis SupervisorActions(TA supervisor)
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.discipline }}{{ entry.month }}{{ entry.year }}{{ entry.bank_account }}{{ entry.ta_supervisor }}{{ entry.thesis_supervisor }} + +
+ +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html new file mode 100644 index 000000000..23e74baf2 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html @@ -0,0 +1,93 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+
+
+ + {% csrf_token %} +
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/bonafideApprove.html b/FusionIIIT/templates/otheracademic/bonafideApprove.html new file mode 100644 index 000000000..82576f019 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideApprove.html @@ -0,0 +1,128 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + {% for entry in form_data %} + + {% if not entry.approve and not entry.reject %} + + + + + + + + + {% endif %} + + {% endfor %} + +
Roll No.Student NameBranchSemesterDate AppliedPurposeUpload DocumentAction
{{ entry.roll_nos_id }}{{ entry.student_names }}{{ entry.branch_types }}{{ entry.semester_types }}{{ entry.date_of_applications }}{{ entry.purposes }} +
+ {% csrf_token %} + + +
+
+
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +
+
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% comment %} {% block javascript %} + + +{% endblock %} {% endcomment %} diff --git a/FusionIIIT/templates/otheracademic/bonafideForm.html b/FusionIIIT/templates/otheracademic/bonafideForm.html new file mode 100644 index 000000000..8e7253d6f --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideForm.html @@ -0,0 +1,87 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Bonafide Form +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+
+
+ + {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+
+ +
+
+
+

Bonafide Form

+ +
+ {% csrf_token %} +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+ +{% endblock %} + +{% block javascript %} + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/bonafideStatus.html b/FusionIIIT/templates/otheracademic/bonafideStatus.html new file mode 100644 index 000000000..b7403cb03 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/bonafideStatus.html @@ -0,0 +1,101 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameBranchSemesterPurposeDate AppliedBonafide pdfStatus
{{ entry.roll_nos_id }}{{ entry.student_names}}{{ entry.branch_types }}{{ entry.semester_types }}{{ entry.purposes }}{{ entry.date_of_applications }}{{ entry.download_file }} + {% if entry.approve %} + Approved + {% elif entry.reject %} + Rejected + {% else %} + Pending + {% endif %} +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html b/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html new file mode 100644 index 000000000..7f15e9dc4 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/graduateSeminarStatus.html @@ -0,0 +1,85 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Seminar Status +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} + + +
+ +
+
+ + + + + + + + + + + {% for entry in form_data %} + + + + + + + {% endfor %} + +
Roll No.SemesterSeminar Date
{{ entry.roll_no }}{{ entry.semester }}{{ entry.date_of_seminar }}
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/graduateseminarForm.html b/FusionIIIT/templates/otheracademic/graduateseminarForm.html new file mode 100644 index 000000000..8fa53cf59 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/graduateseminarForm.html @@ -0,0 +1,63 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ + +
+ +
+
+

Compose File

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+ +
+ +
+ +
+
+{% endblock %} + +{% block javascript %} + + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveStatus.html b/FusionIIIT/templates/otheracademic/leaveStatus.html new file mode 100644 index 000000000..169c9ebb8 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveStatus.html @@ -0,0 +1,105 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + {% for entry in form_data %} + + + + + + + + + + + + + {% endfor %} + +
Roll No.Student NameApplied DateDate FromDate toLeave TypeAttachmentPurposeaddressAction
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.date_of_application }}{{ entry.date_from }}{{ entry.date_to }}{{ entry.leave_type }}{{ entry.upload_file }}{{ entry.purpose }}{{ entry.address }} + {% if entry.approved %} + Approved + {% elif entry.rejected %} + Rejected + {% else %} + Pending + {% endif %} +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% block javascript %} + + +{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveform.html b/FusionIIIT/templates/otheracademic/leaveform.html new file mode 100644 index 000000000..bd7b58da7 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveform.html @@ -0,0 +1,92 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Management +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% include 'globals/usercard.html' %} + +
+ + +
+ +
+
+

Leave Form

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+

Leave Status

+ +
+
+ +
+ +
+ +
+
+{% endblock %} \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/leaveformreciever.html b/FusionIIIT/templates/otheracademic/leaveformreciever.html new file mode 100644 index 000000000..78a4fcf6c --- /dev/null +++ b/FusionIIIT/templates/otheracademic/leaveformreciever.html @@ -0,0 +1,131 @@ + + +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + Leave Approve +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + {% for entry in form_data %} + + {% if not entry.approved and not entry.rejected %} + + + + + + + + + + + {% endif %} + + {% endfor %} + +
Roll No.Student NameApplied DateDate FromDate toLeave TypeAttachmentPurposeaddressAction
{{ entry.roll_no_id }}{{ entry.student_name }}{{ entry.date_of_application }}{{ entry.date_from }}{{ entry.date_to }}{{ entry.leave_type }}{{ entry.upload_file }}{{ entry.purpose }}{{ entry.address }} + + +
+ {% csrf_token %} + +
+
+ {% csrf_token %} + +
+ + + + +
+
+
+ +
+ +
+ +
+
+ +{% endblock %} + +{% comment %} {% block javascript %} + + +{% endblock %} {% endcomment %} diff --git a/FusionIIIT/templates/otheracademic/noduesverification.html b/FusionIIIT/templates/otheracademic/noduesverification.html new file mode 100644 index 000000000..25879f3c7 --- /dev/null +++ b/FusionIIIT/templates/otheracademic/noduesverification.html @@ -0,0 +1,94 @@ +{% extends 'globals/base.html' %} +{% load static %} + +{% block title %} + File Tracking +{% endblock %} + +{% block body %} + {% block navBar %} + {% include 'dashboard/navbar.html' %} + {% endblock %} + +
+
+ +
+ {% block usercard %} + {% include 'globals/usercard.html' %} + {% endblock %} +
+ +
+ + + + +
+
+

Verify No Dues

+
+ {% csrf_token %} +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+
+ + + + + +
+ +
+ +
+
+{% endblock %} + +{% block javascript %} + + + + +{% endblock %} \ No newline at end of file From 7d1612af3680c0033ffbe3ea29f0a19020f691c8 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 16 Mar 2024 12:37:38 +0530 Subject: [PATCH 008/141] bug fixes --- FusionIIIT/Fusion/settings/common.py | 2 +- FusionIIIT/Fusion/urls.py | 2 +- .../applications/otheracademic/admin.py | 7 +- FusionIIIT/applications/otheracademic/apps.py | 2 +- .../applications/otheracademic/models.py | 81 ++++--------- FusionIIIT/applications/otheracademic/urls.py | 4 +- .../applications/otheracademic/views.py | 70 +++++------- .../otheracademic/assistantshipclaimform.html | 107 ++++++++---------- 8 files changed, 105 insertions(+), 170 deletions(-) diff --git a/FusionIIIT/Fusion/settings/common.py b/FusionIIIT/Fusion/settings/common.py index 46819fd35..ecc71500a 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -127,7 +127,7 @@ 'applications.ps1', 'applications.programme_curriculum', 'applications.placement_cell', - # 'applications.otheracademic', + 'applications.otheracademic', 'applications.recruitment', 'applications.scholarships', 'applications.visitor_hostel', diff --git a/FusionIIIT/Fusion/urls.py b/FusionIIIT/Fusion/urls.py index b20ca54b9..676fe950d 100755 --- a/FusionIIIT/Fusion/urls.py +++ b/FusionIIIT/Fusion/urls.py @@ -60,6 +60,6 @@ url(r'^income-expenditure/', include('applications.income_expenditure.urls')), url(r'^hr2/', include('applications.hr2.urls')), url(r'^recruitment/', include('applications.recruitment.urls')), - # url(r'^otheracademic/', include('applications.otheracademic.urls')), + url(r'^otheracademic/', include('applications.otheracademic.urls')), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/FusionIIIT/applications/otheracademic/admin.py b/FusionIIIT/applications/otheracademic/admin.py index 0c764c2fd..3125ac7f8 100644 --- a/FusionIIIT/applications/otheracademic/admin.py +++ b/FusionIIIT/applications/otheracademic/admin.py @@ -1,11 +1,10 @@ from django.contrib import admin # Register your models here. -from applications.otheracademic.models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from applications.otheracademic.models import GraduateSeminarFormTable,LeaveFormTable,BonafideFormTableUpdated,AssistantshipClaimFormStatusUpd admin.site.register(LeaveFormTable) -admin.site.register(GraduateSeminarForm) -admin.site.register(BonafideFormTable) + admin.site.register(BonafideFormTableUpdated) admin.site.register(GraduateSeminarFormTable) -admin.site.register(AssistantshipClaimForm) +admin.site.register(AssistantshipClaimFormStatusUpd) diff --git a/FusionIIIT/applications/otheracademic/apps.py b/FusionIIIT/applications/otheracademic/apps.py index e8e30ffab..ee4df723b 100644 --- a/FusionIIIT/applications/otheracademic/apps.py +++ b/FusionIIIT/applications/otheracademic/apps.py @@ -2,4 +2,4 @@ class OtheracademicConfig(AppConfig): - name = 'applications.otheracademic' + name = 'otheracademic' diff --git a/FusionIIIT/applications/otheracademic/models.py b/FusionIIIT/applications/otheracademic/models.py index 2fb9a0739..a45120b08 100644 --- a/FusionIIIT/applications/otheracademic/models.py +++ b/FusionIIIT/applications/otheracademic/models.py @@ -42,15 +42,7 @@ class Meta: -class GraduateSeminarForm(models.Model): - - roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) - semester= models.CharField(max_length=100) - date_of_seminar = models.DateField() - - class Meta: - db_table='GraduateSeminarForm' class GraduateSeminarFormTable(models.Model): @@ -64,53 +56,7 @@ class Meta: db_table='GraduateSeminarFormTable' -class BonafideFormTable(models.Model): - """ - Records information related to student leave requests. - 'leave_from' and 'leave_to' store the start and end date of the leave request. - 'date_of_application' stores the date when the leave request was applied. - 'related_document' stores any related documents or notes for the leave request. - 'place' stores the location where the leave is requested. - 'reason' stores the reason for the leave request. - 'leave_type' stores the type of leave from a dropdown. - """ - BRANCH_TYPES = ( - ('CSE', 'CSE'), - ('ME', 'ME'), - ('SM', 'SM'), - ('ECE', 'ECE'), - ('Design', 'Design') - - ) - - SEMESTER_TYPES = ( - ('I', 'I'), - ('II', 'II'), - ('III', 'III'), - ('IV', 'IV'), - ('V', 'V'), - ('VI', 'VI'), - ('VII', 'VII'), - ('VIII', 'VIII') - ) - - - student_name = models.CharField(max_length=100) - roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) - branch_type = models.CharField(max_length=50, choices=BRANCH_TYPES) - semester_type = models.CharField(max_length=20, choices=SEMESTER_TYPES) - purpose = models.TextField() - date_of_application = models.DateField() - approved = models.BooleanField() - rejected = models.BooleanField() - download_file = models.FileField(blank=True) - - - - class Meta: - db_table='BonafideFormTable' - class BonafideFormTableUpdated(models.Model): @@ -133,18 +79,31 @@ class Meta: db_table='BonafideFormTableUpdated' -class AssistantshipClaimForm(models.Model): + + +class AssistantshipClaimFormStatusUpd(models.Model): roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) student_name = models.CharField(max_length=100) discipline = models.CharField(max_length=100) - month = models.CharField(max_length=50) - year = models.CharField(max_length=50) + dateFrom = models.DateField() + dateTo = models.DateField() + # month = models.CharField(max_length=50) + # year = models.CharField(max_length=50) bank_account = models.CharField(max_length=100) - student_signature = models.CharField(max_length=100) + student_signature = models.FileField(upload_to='student_signatures/') # Change to FileField + dateApplied = models.DateField() ta_supervisor = models.CharField(max_length=100) thesis_supervisor = models.CharField(max_length=100) - date = models.DateField() - approved = models.BooleanField() + applicability = models.CharField(max_length=100) + + TA_approved = models.BooleanField() + TA_rejected = models.BooleanField() + Ths_approved = models.BooleanField() + Ths_rejected = models.BooleanField() + HOD_approved = models.BooleanField() + HOD_rejected = models.BooleanField() + Acad_approved = models.BooleanField() + Acad_rejected = models.BooleanField() class Meta: - db_table = 'AssistantshipClaimForm' + db_table = 'AssistantshipClaimFormStausUpd' \ No newline at end of file diff --git a/FusionIIIT/applications/otheracademic/urls.py b/FusionIIIT/applications/otheracademic/urls.py index 15beb0258..6e7c2c899 100644 --- a/FusionIIIT/applications/otheracademic/urls.py +++ b/FusionIIIT/applications/otheracademic/urls.py @@ -10,8 +10,6 @@ url(r'^leaveform/$', views.leave_form_submit, name='leave_form_submit'), url(r'^leaveApproveForm/$', views.leaveApproveForm, name='leaveApproveForm'), url(r'^leaveStatus/$', views.leaveStatus, name='leaveStatus'), - # url(r'^approve_leave//$', views.approve_leave, name='approve_leave'), - # url(r'^reject_leave//$', views.reject_leave, name='reject_leave'), url(r'^approve_leave/(?P\d+)/$', views.approve_leave, name='approve_leave'), url(r'^reject_leave/(?P\d+)/$', views.reject_leave, name='reject_leave'), url(r'^graduateseminar/$', views.graduateseminar, name='graduateseminar'), @@ -28,4 +26,4 @@ url(r'^submitform/$', views.assistantship_form_submission, name='assistantship_form_submission'), url(r'^approveform/$', views.assistantship_form_approval, name='assistantship_approval'), url(r'^noduesverification/$', views.nodues, name='nodues'), -] +] \ No newline at end of file diff --git a/FusionIIIT/applications/otheracademic/views.py b/FusionIIIT/applications/otheracademic/views.py index 9367d99c1..682e6d138 100644 --- a/FusionIIIT/applications/otheracademic/views.py +++ b/FusionIIIT/applications/otheracademic/views.py @@ -13,11 +13,10 @@ from notification.views import office_module_notif,file_tracking_notif from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt -from .models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from .models import LeaveFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimFormStatusUpd from django.shortcuts import render, get_object_or_404 -# from .utils import * +from datetime import date -# Create your views here. def otheracademic(request): return render(request, "otheracademic/leaveform.html") @@ -178,62 +177,50 @@ def assistantship(request): def assistantship_form_submission(request): if request.method == 'POST': # Retrieve form data - roll_no = request.user.extrainfo student_name = request.POST.get('student_name') + roll_no = request.POST.get('roll_no') discipline = request.POST.get('discipline') - month = request.POST.get('month') - year = request.POST.get('year') - bank_account = request.POST.get('bank_account') - student_signature = request.POST.get('student_signature') + date_from = request.POST.get('date_from') + date_to = request.POST.get('date_to') + bank_account_no = request.POST.get('bank_account_no') + signature = request.FILES.get('signature') + applicability = request.POST.get('applicability') ta_supervisor = request.POST.get('ta_supervisor') thesis_supervisor = request.POST.get('thesis_supervisor') - date_str = request.POST.get('date') + date_applied = request.POST.get('date_of_application') + + current_date = date.today() # Save form data to the database - assistantship_claim = AssistantshipClaimForm( - roll_no=roll_no, + assistantship_claim = AssistantshipClaimFormStatusUpd( student_name=student_name, + roll_no=request.user.extrainfo, discipline=discipline, - month=month, - year=year, - bank_account=bank_account, - student_signature=student_signature, + dateFrom=date_from, + dateTo=date_to, + bank_account=bank_account_no, + student_signature=signature, + dateApplied= current_date , ta_supervisor=ta_supervisor, thesis_supervisor=thesis_supervisor, - date=date_str, - approved = False + applicability=applicability, + TA_approved=False, + TA_rejected=False, + Ths_approved=False, + Ths_rejected=False, + HOD_approved=False, + HOD_rejected=False, + Acad_approved=False, + Acad_rejected=False ) assistantship_claim.save() - # file_id = create_file(uploader="21BCS112", - # uploader_designation="student", - # receiver="21BCS087", - # receiver_designation="CSE HOD", - # src_module="assistantship", - # src_object_id= str(assistantship_claim.id), - # file_extra_JSON= None, - # attached_file = None) - # inbox_files = view_inbox(username="vkjain", designation="CSE HOD",src_module="assistantship") - # print(inbox_files) - # print(file_id) - - - # Redirect to a success page or return a success message - return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/success-url/' with the actual URL of your success page + return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/otheracademic/assistantship' with the actual URL you want to redirect to else: # Return an error response for invalid request method return HttpResponse('Invalid request method') - - -# def assistantship_form_approval(request): -# en = FormEntry.objects.all() -# return render(request,'assistantship/assistantship_approve.html') - -# views.py - - def assistantship_form_approval(request): # Retrieve data from the database @@ -243,4 +230,3 @@ def assistantship_form_approval(request): def nodues(request): return render(request,'otheracademic/noduesverification.html') - diff --git a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html index 23e74baf2..759494f3a 100644 --- a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html +++ b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html @@ -1,10 +1,8 @@ - - {% extends 'globals/base.html' %} {% load static %} {% block title %} - File Tracking + Assistantship Claim Form {% endblock %} {% block body %} @@ -16,63 +14,65 @@
- {% block usercard %} - {% include 'globals/usercard.html' %} - {% endblock %} + {% include 'globals/usercard.html' %} +
+
- -
-
-
- + +
+
+

Assistantship Form

+ {% csrf_token %} -
- - -
-
- - -
-
- - -
-
+
- - + +
- - + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
@@ -83,11 +83,4 @@
- {% endblock %} - -{% block javascript %} - - - -{% endblock %} \ No newline at end of file From eec488dbdda07a7c088165b54988075c833a75f8 Mon Sep 17 00:00:00 2001 From: xenouno <112983459+xenouno@users.noreply.github.com> Date: Sat, 16 Mar 2024 20:03:35 +0530 Subject: [PATCH 009/141] otheracademic update * I added my module otheracademic from scratch all functionality is implemented just need to set designation * I added my module otheracademic from scratch all functionality is implemented just need to set designation * I added my module otheracademic from scratch all functionality is implemented just need to set designation * Added pylint (#1302) * Create bandit_security_test.yml Added Bandit security test for python * Update bandit_security_test.yml * Update bandit_security_test.yml * Create pylint.yml * Update pylint.yml * Update pylint.yml * Revert "Added pylint (#1302)" (#1324) This reverts commit c1359b7ce8a1945e41e90330fe39bc634d9ca6f3. * removed migrations files * changes in programme_cuuriculam,adding version to models (#1330) * bug fixes --------- Co-authored-by: Hardik Sharma <104981324+hardiksharma11@users.noreply.github.com> Co-authored-by: Raman Chaudhary <97114586+ChaudharyRaman@users.noreply.github.com> Co-authored-by: Anudeep Sanapala <71971574+anudeeps0306@users.noreply.github.com> --- FusionIIIT/Fusion/settings/common.py | 2 +- FusionIIIT/Fusion/urls.py | 4 +- .../applications/otheracademic/admin.py | 8 +- FusionIIIT/applications/otheracademic/apps.py | 3 +- .../applications/otheracademic/models.py | 85 +++----------- FusionIIIT/applications/otheracademic/urls.py | 4 +- .../applications/otheracademic/views.py | 72 +++++------- .../programme_curriculum/models.py | 53 +++++---- .../otheracademic/assistantshipclaimform.html | 108 +++++++++--------- 9 files changed, 144 insertions(+), 195 deletions(-) diff --git a/FusionIIIT/Fusion/settings/common.py b/FusionIIIT/Fusion/settings/common.py index 46819fd35..5b271e946 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -127,7 +127,7 @@ 'applications.ps1', 'applications.programme_curriculum', 'applications.placement_cell', - # 'applications.otheracademic', + 'applications.otheracademic', 'applications.recruitment', 'applications.scholarships', 'applications.visitor_hostel', diff --git a/FusionIIIT/Fusion/urls.py b/FusionIIIT/Fusion/urls.py index b20ca54b9..fc63bc8b2 100755 --- a/FusionIIIT/Fusion/urls.py +++ b/FusionIIIT/Fusion/urls.py @@ -60,6 +60,6 @@ url(r'^income-expenditure/', include('applications.income_expenditure.urls')), url(r'^hr2/', include('applications.hr2.urls')), url(r'^recruitment/', include('applications.recruitment.urls')), - # url(r'^otheracademic/', include('applications.otheracademic.urls')), - + url(r'^otheracademic/', include('applications.otheracademic.urls')), + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/FusionIIIT/applications/otheracademic/admin.py b/FusionIIIT/applications/otheracademic/admin.py index 0c764c2fd..f37d21beb 100644 --- a/FusionIIIT/applications/otheracademic/admin.py +++ b/FusionIIIT/applications/otheracademic/admin.py @@ -1,11 +1,11 @@ from django.contrib import admin # Register your models here. -from applications.otheracademic.models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from applications.otheracademic.models import GraduateSeminarFormTable,LeaveFormTable,BonafideFormTableUpdated,AssistantshipClaimFormStatusUpd admin.site.register(LeaveFormTable) -admin.site.register(GraduateSeminarForm) -admin.site.register(BonafideFormTable) + admin.site.register(BonafideFormTableUpdated) admin.site.register(GraduateSeminarFormTable) -admin.site.register(AssistantshipClaimForm) + +admin.site.register(AssistantshipClaimFormStatusUpd) diff --git a/FusionIIIT/applications/otheracademic/apps.py b/FusionIIIT/applications/otheracademic/apps.py index e8e30ffab..9b5920f10 100644 --- a/FusionIIIT/applications/otheracademic/apps.py +++ b/FusionIIIT/applications/otheracademic/apps.py @@ -2,4 +2,5 @@ class OtheracademicConfig(AppConfig): - name = 'applications.otheracademic' + + name = 'otheracademic' diff --git a/FusionIIIT/applications/otheracademic/models.py b/FusionIIIT/applications/otheracademic/models.py index 2fb9a0739..e88f58362 100644 --- a/FusionIIIT/applications/otheracademic/models.py +++ b/FusionIIIT/applications/otheracademic/models.py @@ -42,16 +42,6 @@ class Meta: -class GraduateSeminarForm(models.Model): - - roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) - semester= models.CharField(max_length=100) - date_of_seminar = models.DateField() - - - class Meta: - db_table='GraduateSeminarForm' - class GraduateSeminarFormTable(models.Model): @@ -64,55 +54,6 @@ class Meta: db_table='GraduateSeminarFormTable' -class BonafideFormTable(models.Model): - """ - Records information related to student leave requests. - - 'leave_from' and 'leave_to' store the start and end date of the leave request. - 'date_of_application' stores the date when the leave request was applied. - 'related_document' stores any related documents or notes for the leave request. - 'place' stores the location where the leave is requested. - 'reason' stores the reason for the leave request. - 'leave_type' stores the type of leave from a dropdown. - """ - BRANCH_TYPES = ( - ('CSE', 'CSE'), - ('ME', 'ME'), - ('SM', 'SM'), - ('ECE', 'ECE'), - ('Design', 'Design') - - ) - - SEMESTER_TYPES = ( - ('I', 'I'), - ('II', 'II'), - ('III', 'III'), - ('IV', 'IV'), - ('V', 'V'), - ('VI', 'VI'), - ('VII', 'VII'), - ('VIII', 'VIII') - ) - - - student_name = models.CharField(max_length=100) - roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) - branch_type = models.CharField(max_length=50, choices=BRANCH_TYPES) - semester_type = models.CharField(max_length=20, choices=SEMESTER_TYPES) - purpose = models.TextField() - date_of_application = models.DateField() - approved = models.BooleanField() - rejected = models.BooleanField() - download_file = models.FileField(blank=True) - - - - class Meta: - db_table='BonafideFormTable' - - - class BonafideFormTableUpdated(models.Model): @@ -133,18 +74,30 @@ class Meta: db_table='BonafideFormTableUpdated' -class AssistantshipClaimForm(models.Model): +class AssistantshipClaimFormStatusUpd(models.Model): roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) student_name = models.CharField(max_length=100) discipline = models.CharField(max_length=100) - month = models.CharField(max_length=50) - year = models.CharField(max_length=50) + dateFrom = models.DateField() + dateTo = models.DateField() + # month = models.CharField(max_length=50) + # year = models.CharField(max_length=50) bank_account = models.CharField(max_length=100) - student_signature = models.CharField(max_length=100) + student_signature = models.FileField(upload_to='student_signatures/') # Change to FileField + dateApplied = models.DateField() ta_supervisor = models.CharField(max_length=100) thesis_supervisor = models.CharField(max_length=100) - date = models.DateField() - approved = models.BooleanField() + applicability = models.CharField(max_length=100) + + TA_approved = models.BooleanField() + TA_rejected = models.BooleanField() + Ths_approved = models.BooleanField() + Ths_rejected = models.BooleanField() + HOD_approved = models.BooleanField() + HOD_rejected = models.BooleanField() + Acad_approved = models.BooleanField() + Acad_rejected = models.BooleanField() class Meta: - db_table = 'AssistantshipClaimForm' + db_table = 'AssistantshipClaimFormStausUpd' + diff --git a/FusionIIIT/applications/otheracademic/urls.py b/FusionIIIT/applications/otheracademic/urls.py index 15beb0258..2f152b87b 100644 --- a/FusionIIIT/applications/otheracademic/urls.py +++ b/FusionIIIT/applications/otheracademic/urls.py @@ -10,8 +10,6 @@ url(r'^leaveform/$', views.leave_form_submit, name='leave_form_submit'), url(r'^leaveApproveForm/$', views.leaveApproveForm, name='leaveApproveForm'), url(r'^leaveStatus/$', views.leaveStatus, name='leaveStatus'), - # url(r'^approve_leave//$', views.approve_leave, name='approve_leave'), - # url(r'^reject_leave//$', views.reject_leave, name='reject_leave'), url(r'^approve_leave/(?P\d+)/$', views.approve_leave, name='approve_leave'), url(r'^reject_leave/(?P\d+)/$', views.reject_leave, name='reject_leave'), url(r'^graduateseminar/$', views.graduateseminar, name='graduateseminar'), @@ -28,4 +26,6 @@ url(r'^submitform/$', views.assistantship_form_submission, name='assistantship_form_submission'), url(r'^approveform/$', views.assistantship_form_approval, name='assistantship_approval'), url(r'^noduesverification/$', views.nodues, name='nodues'), + ] + diff --git a/FusionIIIT/applications/otheracademic/views.py b/FusionIIIT/applications/otheracademic/views.py index 9367d99c1..499be56c0 100644 --- a/FusionIIIT/applications/otheracademic/views.py +++ b/FusionIIIT/applications/otheracademic/views.py @@ -13,11 +13,9 @@ from notification.views import office_module_notif,file_tracking_notif from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt -from .models import LeaveFormTable,GraduateSeminarForm,BonafideFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimForm +from .models import LeaveFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimFormStatusUpd from django.shortcuts import render, get_object_or_404 -# from .utils import * - -# Create your views here. +from datetime import date def otheracademic(request): return render(request, "otheracademic/leaveform.html") @@ -178,62 +176,52 @@ def assistantship(request): def assistantship_form_submission(request): if request.method == 'POST': # Retrieve form data - roll_no = request.user.extrainfo + student_name = request.POST.get('student_name') + roll_no = request.POST.get('roll_no') discipline = request.POST.get('discipline') - month = request.POST.get('month') - year = request.POST.get('year') - bank_account = request.POST.get('bank_account') - student_signature = request.POST.get('student_signature') + date_from = request.POST.get('date_from') + date_to = request.POST.get('date_to') + bank_account_no = request.POST.get('bank_account_no') + signature = request.FILES.get('signature') + applicability = request.POST.get('applicability') ta_supervisor = request.POST.get('ta_supervisor') thesis_supervisor = request.POST.get('thesis_supervisor') - date_str = request.POST.get('date') + date_applied = request.POST.get('date_of_application') + + current_date = date.today() # Save form data to the database - assistantship_claim = AssistantshipClaimForm( - roll_no=roll_no, + assistantship_claim = AssistantshipClaimFormStatusUpd( student_name=student_name, + roll_no=request.user.extrainfo, discipline=discipline, - month=month, - year=year, - bank_account=bank_account, - student_signature=student_signature, + dateFrom=date_from, + dateTo=date_to, + bank_account=bank_account_no, + student_signature=signature, + dateApplied= current_date , ta_supervisor=ta_supervisor, thesis_supervisor=thesis_supervisor, - date=date_str, - approved = False + applicability=applicability, + TA_approved=False, + TA_rejected=False, + Ths_approved=False, + Ths_rejected=False, + HOD_approved=False, + HOD_rejected=False, + Acad_approved=False, + Acad_rejected=False ) assistantship_claim.save() - # file_id = create_file(uploader="21BCS112", - # uploader_designation="student", - # receiver="21BCS087", - # receiver_designation="CSE HOD", - # src_module="assistantship", - # src_object_id= str(assistantship_claim.id), - # file_extra_JSON= None, - # attached_file = None) - # inbox_files = view_inbox(username="vkjain", designation="CSE HOD",src_module="assistantship") - # print(inbox_files) - # print(file_id) - - - # Redirect to a success page or return a success message - return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/success-url/' with the actual URL of your success page + return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/otheracademic/assistantship' with the actual URL you want to redirect to + else: # Return an error response for invalid request method return HttpResponse('Invalid request method') - - -# def assistantship_form_approval(request): -# en = FormEntry.objects.all() -# return render(request,'assistantship/assistantship_approve.html') - -# views.py - - def assistantship_form_approval(request): # Retrieve data from the database diff --git a/FusionIIIT/applications/programme_curriculum/models.py b/FusionIIIT/applications/programme_curriculum/models.py index 248079cd3..733217fff 100644 --- a/FusionIIIT/applications/programme_curriculum/models.py +++ b/FusionIIIT/applications/programme_curriculum/models.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ from django.core.exceptions import ValidationError from applications.globals.models import ExtraInfo +from django.core.validators import MinValueValidator, MaxValueValidator, DecimalValidator # Create your models here. @@ -26,7 +27,8 @@ ('Design', 'Design'), ('Manufacturing', 'Manufacturing'), ('Management Science', 'Management Science'), - ('Optional Elective', 'Optional Elective'), + ('Open Elective', 'Open Elective'), + ('Swayam','Swayam'), ('Project', 'Project'), ('Optional', 'Optional'), ('Others', 'Others') @@ -59,7 +61,7 @@ class Programme(models.Model): name = models.CharField(max_length=70, null=False, unique=True, blank=False) programme_begin_year = models.PositiveIntegerField(default=datetime.date.today().year, null=False) - def __str__(self): + def _str_(self): return str(self.category + " - "+ self.name) @property @@ -90,7 +92,7 @@ class Discipline(models.Model): acronym = models.CharField(max_length=10, null=False, default="", blank=False) programmes = models.ManyToManyField(Programme, blank=True) - def __str__(self): + def _str_(self): return str(self.name) + " " + str(self.acronym) @property @@ -117,7 +119,11 @@ class Curriculum(models.Model): ''' programme = models.ForeignKey(Programme, on_delete=models.CASCADE, null=False) name = models.CharField(max_length=100, null=False, blank=False) - version = models.PositiveIntegerField(default=1, null=False) + version = models.DecimalField( + max_digits=2, + decimal_places=1, + default=1.0, + validators=[MinValueValidator(1.0), DecimalValidator(max_digits=2, decimal_places=1)]) working_curriculum = models.BooleanField(default=True, null=False) no_of_semester = models.PositiveIntegerField(default=1, null=False) min_credit = models.PositiveIntegerField(default=0, null=False) @@ -125,7 +131,7 @@ class Curriculum(models.Model): class Meta: unique_together = ('name', 'version',) - def __str__(self): + def _str_(self): return str(self.name + " v" + str(self.version)) @property @@ -166,8 +172,8 @@ class Semester(models.Model): class Meta: unique_together = ('curriculum', 'semester_no',) - def __str__(self): - return str(Curriculum.__str__(self.curriculum) + ", sem-" + str(self.semester_no)) + def _str_(self): + return str(Curriculum._str_(self.curriculum) + ", sem-" + str(self.semester_no)) @property def courseslots(self): @@ -207,8 +213,13 @@ class Course(models.Model): ''' - code = models.CharField(max_length=10, null=False, unique=True, blank=False) - name = models.CharField(max_length=100, null=False, unique=True, blank=False) + code = models.CharField(max_length=10, null=False, blank=False) + name = models.CharField(max_length=100, null=False, blank=False) + version = models.DecimalField( + max_digits=2, + decimal_places=1, + default=1.0, + validators=[MinValueValidator(1.0), DecimalValidator(max_digits=2, decimal_places=1)]) credit = models.PositiveIntegerField(default=0, null=False, blank=False) lecture_hours = PositiveIntegerField(null=True, ) tutorial_hours = PositiveIntegerField(null=True) @@ -228,12 +239,14 @@ class Course(models.Model): ref_books = models.TextField() working_course = models.BooleanField(default=True) disciplines = models.ManyToManyField(Discipline, blank=True) + latest_version = models.BooleanField(default=True) class Meta: - unique_together = ('code', 'name',) + unique_together = ('code','version') - def __str__(self): - return str(self.code + " - " +self.name) + def _str_(self): + return str(self.code + " - " +self.name+"- v"+str(self.version)) + @property def courseslots(self): @@ -268,7 +281,7 @@ class Batch(models.Model): class Meta: unique_together = ('name', 'discipline', 'year',) - def __str__(self): + def _str_(self): return str(self.name) + " " + str(self.discipline.acronym) + " " + str(self.year) @@ -277,11 +290,6 @@ class CourseSlot(models.Model): Current Purpose : To store the details regarding a course slot Course slot : is defined as per the curriculum for a programme to have specific type of courses for a given semester - - - - - ATTRIBUTES : semester(programme_curriculum.Semester) - [not nullable] to denote link to the semester details for which the courseslot is made @@ -304,8 +312,8 @@ class CourseSlot(models.Model): max_registration_limit = models.PositiveIntegerField(default = 1000) - def __str__(self): - return str(Semester.__str__(self.semester) + ", " + self.name) + def _str_(self): + return str(Semester._str_(self.semester) + ", " + self.name) class Meta: unique_together = ('semester', 'name', 'type') @@ -324,6 +332,5 @@ class Meta: unique_together = ('course_id', 'instructor_id', 'batch_id') - def __self__(self): - return '{} - {}'.format(self.course_id, self.instructor_id) - \ No newline at end of file + def _self_(self): + return '{} - {}'.format(self.course_id, self.instructor_id) \ No newline at end of file diff --git a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html index 23e74baf2..eed13d771 100644 --- a/FusionIIIT/templates/otheracademic/assistantshipclaimform.html +++ b/FusionIIIT/templates/otheracademic/assistantshipclaimform.html @@ -1,10 +1,11 @@ - {% extends 'globals/base.html' %} {% load static %} {% block title %} - File Tracking + + Assistantship Claim Form + {% endblock %} {% block body %} @@ -16,63 +17,67 @@
- {% block usercard %} - {% include 'globals/usercard.html' %} - {% endblock %} + + {% include 'globals/usercard.html' %} +
+
- -
-
-
- + +
+
+

Assistantship Form

+ {% csrf_token %} -
- - -
-
- - -
-
- - -
-
+
- - + +
- - + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- +
@@ -86,8 +91,3 @@ {% endblock %} -{% block javascript %} - - - -{% endblock %} \ No newline at end of file From b83cf20c9ece06ba64c0fee07e8d60104bbac485 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 19 Mar 2024 18:45:37 +0530 Subject: [PATCH 010/141] Updated Dashboard --- FusionIIIT/Fusion/context_processors.py | 5 + .../Fusion/middleware/custom_middleware.py | 48 +++ FusionIIIT/Fusion/settings/common.py | 4 +- FusionIIIT/Fusion/urls.py | 4 +- FusionIIIT/applications/globals/urls.py | 3 +- FusionIIIT/applications/globals/views.py | 87 +++++- FusionIIIT/applications/leave/forms.py | 77 +++-- FusionIIIT/applications/leave/handlers.py | 12 +- FusionIIIT/applications/leave/helpers.py | 49 +-- FusionIIIT/applications/leave/models.py | 2 +- .../applications/otheracademic/admin.py | 1 + FusionIIIT/applications/otheracademic/apps.py | 1 + .../applications/otheracademic/models.py | 10 +- FusionIIIT/applications/otheracademic/urls.py | 4 +- .../applications/otheracademic/views.py | 4 +- .../academic_procedures/academic.html | 44 ++- FusionIIIT/templates/dashboard/dashboard.html | 11 +- FusionIIIT/templates/dashboard/modules.html | 279 ++++++++++++++---- FusionIIIT/templates/dashboard/navbar.html | 213 +++++++------ .../templates/dashboard/sidenavbar.html | 80 ++--- FusionIIIT/templates/globals/usercard.html | 95 +++--- .../otheracademic/assistantshipclaimform.html | 7 + 22 files changed, 722 insertions(+), 318 deletions(-) create mode 100644 FusionIIIT/Fusion/context_processors.py create mode 100644 FusionIIIT/Fusion/middleware/custom_middleware.py mode change 100755 => 100644 FusionIIIT/templates/academic_procedures/academic.html mode change 100755 => 100644 FusionIIIT/templates/dashboard/dashboard.html mode change 100755 => 100644 FusionIIIT/templates/dashboard/modules.html mode change 100755 => 100644 FusionIIIT/templates/dashboard/navbar.html mode change 100755 => 100644 FusionIIIT/templates/globals/usercard.html diff --git a/FusionIIIT/Fusion/context_processors.py b/FusionIIIT/Fusion/context_processors.py new file mode 100644 index 000000000..54566d56e --- /dev/null +++ b/FusionIIIT/Fusion/context_processors.py @@ -0,0 +1,5 @@ +def global_vars(request): + return { + 'global_var': request.session.get('currentDesignationSelected', 'default_value'), + 'global_var2': request.session.get('allDesignations', 'default_value2'), + } \ No newline at end of file diff --git a/FusionIIIT/Fusion/middleware/custom_middleware.py b/FusionIIIT/Fusion/middleware/custom_middleware.py new file mode 100644 index 000000000..f77873534 --- /dev/null +++ b/FusionIIIT/Fusion/middleware/custom_middleware.py @@ -0,0 +1,48 @@ +# custom_middleware.py +from django.contrib.auth.signals import user_logged_in +from django.dispatch import receiver +from applications.globals.models import (ExtraInfo, Feedback, HoldsDesignation, + Issue, IssueImage, DepartmentInfo) +from django.shortcuts import get_object_or_404, redirect, render + +def user_logged_in_middleware(get_response): + @receiver(user_logged_in) + def user_logged_in_handler(sender, user, request, **kwargs): + if 'function_executed' not in request.session: + # Run the function only if the flag is not set + # Assuming user is a model with the desired data field, retrieve the data + # For example, if your User model has a field named 'custom_field', you can access it like: + if user.is_authenticated: + desig = list(HoldsDesignation.objects.select_related('user','working','designation').all().filter(working = request.user).values_list('designation')) + print(desig) + b = [i for sub in desig for i in sub] + design = HoldsDesignation.objects.select_related('user','designation').filter(working=request.user) + + designation=[] + + designation.append(str(user.extrainfo.user_type)) + for i in design: + if str(i.designation) != str(user.extrainfo.user_type): + print('-------') + print(i.designation) + print(user.extrainfo.user_type) + print('') + designation.append(str(i.designation)) + + for i in designation: + print(i) + + request.session['currentDesignationSelected'] = designation[0] + request.session['allDesignations'] = designation + print("logged iN") + + # Set the flag in the session to indicate that the function has bee+n executed + request.session['function_executed'] = True + + def middleware(request): + if request.user.is_authenticated: + user_logged_in_handler(request.user, request.user, request) + response = get_response(request) + return response + + return middleware \ No newline at end of file diff --git a/FusionIIIT/Fusion/settings/common.py b/FusionIIIT/Fusion/settings/common.py index ecc71500a..38d809022 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -127,7 +127,7 @@ 'applications.ps1', 'applications.programme_curriculum', 'applications.placement_cell', - 'applications.otheracademic', + 'applications.otheracademic', 'applications.recruitment', 'applications.scholarships', 'applications.visitor_hostel', @@ -164,6 +164,7 @@ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'Fusion.middleware.custom_middleware.user_logged_in_middleware', ] ROOT_URLCONF = 'Fusion.urls' @@ -179,6 +180,7 @@ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'Fusion.context_processors.global_vars', ], }, }, diff --git a/FusionIIIT/Fusion/urls.py b/FusionIIIT/Fusion/urls.py index 676fe950d..fc63bc8b2 100755 --- a/FusionIIIT/Fusion/urls.py +++ b/FusionIIIT/Fusion/urls.py @@ -60,6 +60,6 @@ url(r'^income-expenditure/', include('applications.income_expenditure.urls')), url(r'^hr2/', include('applications.hr2.urls')), url(r'^recruitment/', include('applications.recruitment.urls')), - url(r'^otheracademic/', include('applications.otheracademic.urls')), - + url(r'^otheracademic/', include('applications.otheracademic.urls')), + ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/FusionIIIT/applications/globals/urls.py b/FusionIIIT/applications/globals/urls.py index f8d82ee71..2dea4e77d 100644 --- a/FusionIIIT/applications/globals/urls.py +++ b/FusionIIIT/applications/globals/urls.py @@ -23,5 +23,6 @@ # Endpoint to reset all passwords in DEV environment url(r'^resetallpass/$', views.reset_all_pass, name='resetallpass'), # API urls - url(r'^api/', include('applications.globals.api.urls')) + url(r'^api/', include('applications.globals.api.urls')), + url(r'^update_global_variable/$', views.update_global_variable, name='update_global_var'), ] diff --git a/FusionIIIT/applications/globals/views.py b/FusionIIIT/applications/globals/views.py index a7f3886c9..5b023abb5 100644 --- a/FusionIIIT/applications/globals/views.py +++ b/FusionIIIT/applications/globals/views.py @@ -740,21 +740,26 @@ def dashboard(request): } # a=HoldsDesignation.objects.select_related('user','working','designation').filter(designation = user) + print(context) + print(type(user.extrainfo.user_type)) if(request.user.get_username() == 'director'): return render(request, "dashboard/director_dashboard2.html", {}) elif( "dean_rspc" in designation): return render(request, "dashboard/dashboard.html", context) - elif user.extrainfo.user_type != 'student': + elif user.extrainfo.user_type != "student": + print ("inside") designat = HoldsDesignation.objects.select_related().filter(user=user) response = {'designat':designat} context.update(response) return render(request, "dashboard/dashboard.html", context) else: + print ("inside2") + return render(request, "dashboard/dashboard.html", context) @login_required(login_url=LOGIN_URL) -def profile(request, username=None): +def profile(request, username=None): """ Generic endpoint for views. If it's a faculty, redirects to /eis/profile/* @@ -768,16 +773,76 @@ def profile(request, username=None): """ user = get_object_or_404(User, Q(username=username)) if username else request.user - editable = request.user == user + print("editable",editable) profile = get_object_or_404(ExtraInfo, Q(user=user)) + print("profile",profile) if(str(user.extrainfo.user_type)=='faculty'): + print("profile") return HttpResponseRedirect('/eis/profile/' + (username if username else '')) if(str(user.extrainfo.department)=='department: Academics'): + print("profile2") return HttpResponseRedirect('/aims') - current = HoldsDesignation.objects.select_related('user','working','designation').filter(Q(working=user, designation__name="student")) + + array = [ + "student", + "CC convenor", + "Mechatronic convenor", + "mess_committee", + "mess_convener", + "alumini", + "Electrical_AE", + "Electrical_JE", + "Civil_AE", + "Civil_JE", + "co-ordinator", + "co co-ordinator", + "Convenor", + "Convener", + "cc1convener", + "CC2 convener", + "mess_convener_mess2", + "mess_committee_mess2" +] + + # queryset = HoldsDesignation.objects.select_related('user','working','designation').filter(Q(working=user)) + + # for obj in queryset: + # designation_name = obj.designation.name + # print("designation_name",designation_name) + + # design = False + # if designation_name in array: + # design = True + # print("design",design) + # print("designation_name",designation_name) + # if design: + # current = HoldsDesignation.objects.select_relapted('user','working','designation').filter(Q(working=user, designation__name=designation_name)) + # for obj in current: + # obj.designation.name = obj.designation.name.replace(designation_name, 'student') + + designation_name = "" + design = False + + current = HoldsDesignation.objects.select_related('user', 'working', 'designation').filter(Q(working=user)) + + for obj in current: + designation_name = obj.designation.name + if designation_name in array: + design = True + break + + if design: + current = HoldsDesignation.objects.filter(working=user, designation__name=designation_name) + for obj in current: + obj.designation.name = obj.designation.name.replace(designation_name, 'student') + + print(user.extrainfo.user_type) + print("current",current) if current: + print("profile3") student = get_object_or_404(Student, Q(id=profile.id)) + print("student",student) if editable and request.method == 'POST': if 'studentapprovesubmit' in request.POST: status = PlacementStatus.objects.select_related('notify_id','unique_id__id__user','unique_id__id__department').filter(pk=request.POST['studentapprovesubmit']).update(invitation='ACCEPTED', timestamp=timezone.now()) @@ -979,6 +1044,7 @@ def profile(request, username=None): return render(request, "globals/student_profile4.html", context) if 'achievementsubmit' in request.POST or 'deleteach' in request.POST: return render(request, "globals/student_profile5.html", context) + print("context",context) return render(request, "globals/student_profile.html", context) else: return redirect("/") @@ -1176,4 +1242,15 @@ def search(request): if len(search_results) == 0: search_results = [] context = {'sresults':search_results} - return render(request, "globals/search.html", context) + return render(request, "globals/search.html", context), + +@login_required(login_url=LOGIN_URL) +def update_global_variable(request): + if request.method == 'POST': + selected_option = request.POST.get('dropdown') + request.session['currentDesignationSelected'] = selected_option + print(selected_option) + print(request.session['currentDesignationSelected']) + return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) + # Redirect to home if not a POST request or some issue occurs + return HttpResponseRedirect(reverse('home')) diff --git a/FusionIIIT/applications/leave/forms.py b/FusionIIIT/applications/leave/forms.py index 73d939b89..ca503a78d 100644 --- a/FusionIIIT/applications/leave/forms.py +++ b/FusionIIIT/applications/leave/forms.py @@ -21,7 +21,7 @@ class StudentApplicationForm(forms.Form): end_date = forms.DateField(label='To') purpose = forms.CharField(label='Purpose', widget=forms.TextInput) address = forms.CharField(label='Address') - document = forms.FileField(label='Related Document', required=False) + document = forms.FileField(label='Related Document', required=False, widget=forms.ClearableFileInput(attrs={'multiple': True})) def __init__(self, *args, **kwargs): if 'user' in kwargs: @@ -32,32 +32,60 @@ def clean(self, *args, **kwargs): super(StudentApplicationForm, self).clean(*args, **kwargs) data = self.cleaned_data errors = dict() + + today = timezone.now().date() - """if data.get('start_date') < today: + if data.get('start_date') < today: errors['start_date'] = ['Past Dates are not allowed'] if data.get('end_date') < today: errors['end_date'] = ['Past Dates are not allowed'] -""" + + try: + fileS = data.get('document').size + if int(fileS) > 2048000: + errors['document'] = ['Documents must not be greater than 2Mb'] + except: + pass + + lt = LeaveType.objects.filter(name=data.get('leave_type')).first() + # if lt is None, use default + if lt is None: + lt = LeaveType() + if lt.requires_proof and not data.get('document'): errors['document'] = [f'{lt.name} Leave requires document proof'] - if data.get('start_date') > data.get('end_date'): - if 'start_date' in errors: - errors['start_date'].append('Start Date must be less than End Date') - else: - errors['start_date'] = ['Start Date must be less than End Date'] + try: + if data.get('start_date') > data.get('end_date'): + if 'start_date' in errors: + errors['start_date'].append('Start Date must be less than End Date') + else: + errors['start_date'] = ['Start Date must be less than End Date'] + except: + pass + + try: + leave_type = LeaveType.objects.get(name=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() - leave_type = LeaveType.objects.get(name=data.get('leave_type')) count = get_leave_days(data.get('start_date'), data.get('end_date'), leave_type, False, False) - remaining_leaves = LeavesCount.objects.get(user=self.user, leave_type=leave_type) \ + try: + remaining_leaves = LeavesCount.objects.get(user=self.user, leave_type=leave_type) \ .remaining_leaves - if remaining_leaves < count: - errors['leave_type'] = f'You have only {remaining_leaves} {leave_type.name} leaves' \ - ' remaining.' + except LeavesCount.DoesNotExist: + remaining_leaves = LeavesCount().remaining_leaves + + try: + if remaining_leaves < count: + errors['leave_type'] = f'You have only {remaining_leaves} {leave_type.name} leaves' \ + ' remaining.' + except: + pass raise VE(errors) @@ -117,7 +145,11 @@ def clean(self, *args, **kwargs): errors = dict() def check_special_leave_overlap(start_date, end_date, leave_type_id): - leave_type = LeaveType.objects.get(id=leave_type_id) + try: + leave_type = LeaveType.objects.get(id=leave_type_id) + except LeaveType.DoesNotExist: + leave_type = LeaveType() + if leave_type.name.lower() in ['restricted']: count = get_special_leave_count(start_date, end_date, leave_type.name.lower()) if count < 0: @@ -324,7 +356,11 @@ def clean(self): for form in self.forms: try: data = form.cleaned_data - leave_type = LeaveType.objects.get(id=data.get('leave_type')) + + try: + leave_type = LeaveType.objects.get(id=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() #if leave_type.is_station: # continue @@ -399,7 +435,11 @@ def clean(self, *args, **kwargs): errors = dict() def check_special_leave_overlap(start_date, end_date, leave_type_id): - leave_type = LeaveType.objects.get(id=leave_type_id) + try: + leave_type = LeaveType.objects.get(id=leave_type_id) + except LeaveType.DoesNotExist: + leave_type = LeaveType() + if leave_type.name.lower() in ['restricted']: count = get_special_leave_count(start_date, end_date, leave_type.name.lower()) if count < 0: @@ -575,7 +615,10 @@ def clean(self): for form in self.forms: try: data = form.cleaned_data - leave_type = LeaveType.objects.get(id=data.get('leave_type')) + try: + leave_type = LeaveType.objects.get(id=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() #if leave_type.is_station: # continue diff --git a/FusionIIIT/applications/leave/handlers.py b/FusionIIIT/applications/leave/handlers.py index 03488a35d..6e5c1ed94 100644 --- a/FusionIIIT/applications/leave/handlers.py +++ b/FusionIIIT/applications/leave/handlers.py @@ -275,8 +275,14 @@ def handle_student_leave_application(request): purpose=data.get('purpose'), extra_info=data.get('leave_info'), ) + leave.save() + + try: + leave_type = LeaveType.objects.get(name=data.get('leave_type')) + except LeaveType.DoesNotExist: + leave_type = LeaveType() - leave_type = LeaveType.objects.get(name=data.get('leave_type')) + leave_type.save() LeaveSegment.objects.create( leave=leave, @@ -285,7 +291,9 @@ def handle_student_leave_application(request): start_date=data.get('start_date'), end_date=data.get('end_date') ) - requested_from = request.user.leave_admins.authority.designees.first().user + + requested_from = request.user + LeaveRequest.objects.create( leave=leave, requested_from=requested_from diff --git a/FusionIIIT/applications/leave/helpers.py b/FusionIIIT/applications/leave/helpers.py index 542ac343f..9d42149b7 100644 --- a/FusionIIIT/applications/leave/helpers.py +++ b/FusionIIIT/applications/leave/helpers.py @@ -9,11 +9,17 @@ def get_designation(user): desig = list(HoldsDesignation.objects.all().filter(working = user).values_list('designation')) b = [i for sub in desig for i in sub] - c=str(Designation.objects.get(id=b[0])) - for i in b: - if str(Designation.objects.get(id=i))=='Assistant Registrar': - c='Assistant Registrar' - break + try: + c=str(Designation.objects.get(id=b[0])) + for i in b: + obj = Designation.objects.get(id=i) + if str(obj)=='Assistant Registrar': + c='Assistant Registrar' + elif str(obj)== 'administrative': + c='administrative' + except: + c = 'administrative' + print(c) return c @@ -94,21 +100,24 @@ def get_leave_days(start, end, leave_type, start_half, end_half): # TODO: Remove this hard code and make it database dependent # Maybe add one field in leave type, which tells that this has to be taken from # academic calendar - if leave_name.lower()=='restricted': - count = get_special_leave_count(start, end, leave_name.lower()) - elif leave_name.lower()=='vacation': - count = get_vacation_leave_count(start, end, leave_name.lower()) - else: - while start <= end: - if not start.weekday() in [5, 6]: - count += 1.0 - - start = start + datetime.timedelta(days=1) - - if start_half and start.weekday() not in [5, 6]: - count -= 0.5 - if end_half and end.weekday() not in [5, 6]: - count -= 0.5 + try: + if leave_name.lower()=='restricted': + count = get_special_leave_count(start, end, leave_name.lower()) + elif leave_name.lower()=='vacation': + count = get_vacation_leave_count(start, end, leave_name.lower()) + else: + while start <= end: + if not start.weekday() in [5, 6]: + count += 1.0 + + start = start + datetime.timedelta(days=1) + + if start_half and start.weekday() not in [5, 6]: + count -= 0.5 + if end_half and end.weekday() not in [5, 6]: + count -= 0.5 + except: + pass return count diff --git a/FusionIIIT/applications/leave/models.py b/FusionIIIT/applications/leave/models.py index 180f679bf..661509e57 100644 --- a/FusionIIIT/applications/leave/models.py +++ b/FusionIIIT/applications/leave/models.py @@ -32,7 +32,7 @@ class Constants: #@python_2_unicode_compatible class LeaveType(models.Model): - name = models.CharField(max_length=40, null=False) + name = models.CharField(max_length=40, null=False, default='casual') max_in_year = models.IntegerField(default=2) requires_proof = models.BooleanField(default=False) authority_forwardable = models.BooleanField(default=False) diff --git a/FusionIIIT/applications/otheracademic/admin.py b/FusionIIIT/applications/otheracademic/admin.py index 3125ac7f8..f37d21beb 100644 --- a/FusionIIIT/applications/otheracademic/admin.py +++ b/FusionIIIT/applications/otheracademic/admin.py @@ -8,3 +8,4 @@ admin.site.register(GraduateSeminarFormTable) admin.site.register(AssistantshipClaimFormStatusUpd) + diff --git a/FusionIIIT/applications/otheracademic/apps.py b/FusionIIIT/applications/otheracademic/apps.py index ee4df723b..9b5920f10 100644 --- a/FusionIIIT/applications/otheracademic/apps.py +++ b/FusionIIIT/applications/otheracademic/apps.py @@ -2,4 +2,5 @@ class OtheracademicConfig(AppConfig): + name = 'otheracademic' diff --git a/FusionIIIT/applications/otheracademic/models.py b/FusionIIIT/applications/otheracademic/models.py index a45120b08..e88f58362 100644 --- a/FusionIIIT/applications/otheracademic/models.py +++ b/FusionIIIT/applications/otheracademic/models.py @@ -43,8 +43,6 @@ class Meta: - - class GraduateSeminarFormTable(models.Model): roll_no = models.CharField(max_length=20) @@ -56,9 +54,6 @@ class Meta: db_table='GraduateSeminarFormTable' - - - class BonafideFormTableUpdated(models.Model): @@ -79,8 +74,6 @@ class Meta: db_table='BonafideFormTableUpdated' - - class AssistantshipClaimFormStatusUpd(models.Model): roll_no = models.ForeignKey(ExtraInfo, on_delete=models.CASCADE) student_name = models.CharField(max_length=100) @@ -106,4 +99,5 @@ class AssistantshipClaimFormStatusUpd(models.Model): Acad_rejected = models.BooleanField() class Meta: - db_table = 'AssistantshipClaimFormStausUpd' \ No newline at end of file + db_table = 'AssistantshipClaimFormStausUpd' + diff --git a/FusionIIIT/applications/otheracademic/urls.py b/FusionIIIT/applications/otheracademic/urls.py index 6e7c2c899..2f152b87b 100644 --- a/FusionIIIT/applications/otheracademic/urls.py +++ b/FusionIIIT/applications/otheracademic/urls.py @@ -26,4 +26,6 @@ url(r'^submitform/$', views.assistantship_form_submission, name='assistantship_form_submission'), url(r'^approveform/$', views.assistantship_form_approval, name='assistantship_approval'), url(r'^noduesverification/$', views.nodues, name='nodues'), -] \ No newline at end of file + +] + diff --git a/FusionIIIT/applications/otheracademic/views.py b/FusionIIIT/applications/otheracademic/views.py index 682e6d138..499be56c0 100644 --- a/FusionIIIT/applications/otheracademic/views.py +++ b/FusionIIIT/applications/otheracademic/views.py @@ -16,7 +16,6 @@ from .models import LeaveFormTable,BonafideFormTableUpdated,GraduateSeminarFormTable,AssistantshipClaimFormStatusUpd from django.shortcuts import render, get_object_or_404 from datetime import date - def otheracademic(request): return render(request, "otheracademic/leaveform.html") @@ -177,6 +176,7 @@ def assistantship(request): def assistantship_form_submission(request): if request.method == 'POST': # Retrieve form data + student_name = request.POST.get('student_name') roll_no = request.POST.get('roll_no') discipline = request.POST.get('discipline') @@ -217,6 +217,7 @@ def assistantship_form_submission(request): # Redirect to a success page or return a success message return HttpResponseRedirect('/otheracademic/assistantship') # Replace '/otheracademic/assistantship' with the actual URL you want to redirect to + else: # Return an error response for invalid request method return HttpResponse('Invalid request method') @@ -230,3 +231,4 @@ def assistantship_form_approval(request): def nodues(request): return render(request,'otheracademic/noduesverification.html') + diff --git a/FusionIIIT/templates/academic_procedures/academic.html b/FusionIIIT/templates/academic_procedures/academic.html old mode 100755 new mode 100644 index 6b04a54fb..35eebf446 --- a/FusionIIIT/templates/academic_procedures/academic.html +++ b/FusionIIIT/templates/academic_procedures/academic.html @@ -22,6 +22,39 @@ } + + {% endblock css %} @@ -30,13 +63,12 @@ {% include 'dashboard/navbar.html' %} {% endblock %} -
+
- {% comment %}The left-margin segment!{% endcomment %} -
+ {% comment %}The left-rail segment starts here!{% endcomment %} -
+
{% comment %}The user image card starts here!{% endcomment %} {% block usercard %} {% include 'globals/usercard.html' %} @@ -46,8 +78,8 @@
{% comment %}The Tab-Menu starts here!{% endcomment %} -