From 03563e10d70cea9eb24a344b991e521fa53073b4 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Tue, 31 Jan 2023 09:29:51 +0530 Subject: [PATCH 1/9] added user_sem and year constraints to pre registration eligibility check --- .../applications/academic_procedures/views.py | 31 +++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index cf234307d..d8d291fc7 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -312,7 +312,8 @@ def academic_procedures_student(request): if user_sem==2 and des_flag==False and ug_flag==True: branchchange_flag=True - pre_registration_date_flag = get_pre_registration_eligibility(current_date) + pre_registration_date_flag = get_pre_registration_eligibility(current_date, user_sem, year) + # print("PRD: ", pre_registration_date_flag) final_registration_date_flag = get_final_registration_eligibility(current_date) add_or_drop_course_date_flag = get_add_or_drop_course_date_eligibility(current_date) pre_registration_flag = False @@ -326,7 +327,10 @@ def academic_procedures_student(request): final_registration_flag = student_registration_check_final.final_registration_flag # print(">>>>>>>>>>>>>>>>>>>>>>",student_registration_check_pre.pre_registration_flag) + acad_year = get_acad_year(user_sem, year) + # print("acad_year: ", year) + # print("user_sem: ", user_sem) currently_registered_courses = get_currently_registered_courses(user_details.id, user_sem) next_sem_branch_course = get_sem_courses(next_sem_id, batch) @@ -1214,9 +1218,30 @@ def phd_details(request): def get_student_register(id): return Register.objects.all().select_related('curr_id','student_id','curr_id__course_id','student_id__id','student_id__id__user','student_id__id__department').filter(student_id = id) -def get_pre_registration_eligibility(current_date): +def get_pre_registration_eligibility(current_date, user_sem, year): + ''' + This function is used to extract the elgibility of pre-registration for a given semester + for a given year from the Calendar table. + + @param: + current_date - current date at the user end + user_sem - current semester of the user(integer) + year - current year at the user end + + @variables: + pre_registration_date - stores the object returned from calendar table for a given description + prd_start_date - holds start date of the pre registeration + prd_end_date - holds end date of the pre registration + + #exception handling: + In case calendar table has no row for the given description pre_registration_date will store None value, + Therefore from_date and to_date attributes cannot be accessed so the function will return False. + + ''' try: - pre_registration_date = Calendar.objects.all().filter(description="Pre Registration").first() + # print(f"Pre Registration {user_sem} {year}") + # pre_registration_date = Calendar.objects.all().filter(description="Pre Registration").first() + pre_registration_date = Calendar.objects.all().filter(description=f"Pre Registration {user_sem} {year}").first() prd_start_date = pre_registration_date.from_date prd_end_date = pre_registration_date.to_date if current_date>=prd_start_date and current_date<=prd_end_date: From a3528871f1d3ce2fdd214dc827ae77304cb1dd7f Mon Sep 17 00:00:00 2001 From: Anunaya Date: Wed, 1 Feb 2023 17:19:38 +0530 Subject: [PATCH 2/9] removed comments used debug PRD --- FusionIIIT/applications/academic_procedures/views.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index d8d291fc7..4b47696f8 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -313,7 +313,6 @@ def academic_procedures_student(request): branchchange_flag=True pre_registration_date_flag = get_pre_registration_eligibility(current_date, user_sem, year) - # print("PRD: ", pre_registration_date_flag) final_registration_date_flag = get_final_registration_eligibility(current_date) add_or_drop_course_date_flag = get_add_or_drop_course_date_eligibility(current_date) pre_registration_flag = False @@ -329,8 +328,6 @@ def academic_procedures_student(request): # print(">>>>>>>>>>>>>>>>>>>>>>",student_registration_check_pre.pre_registration_flag) acad_year = get_acad_year(user_sem, year) - # print("acad_year: ", year) - # print("user_sem: ", user_sem) currently_registered_courses = get_currently_registered_courses(user_details.id, user_sem) next_sem_branch_course = get_sem_courses(next_sem_id, batch) @@ -1239,7 +1236,6 @@ def get_pre_registration_eligibility(current_date, user_sem, year): ''' try: - # print(f"Pre Registration {user_sem} {year}") # pre_registration_date = Calendar.objects.all().filter(description="Pre Registration").first() pre_registration_date = Calendar.objects.all().filter(description=f"Pre Registration {user_sem} {year}").first() prd_start_date = pre_registration_date.from_date From 5dd0363f851ba79b06fe56d801ed36fe2c105764 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Fri, 3 Feb 2023 10:24:18 +0530 Subject: [PATCH 3/9] changed auto sem calculation to fetch data from database --- FusionIIIT/applications/academic_procedures/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index 4b47696f8..8d4c770d3 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -264,7 +264,7 @@ def academic_procedures_student(request): year = demo_date.year registers = get_student_register(user_details.id) - user_sem = get_user_semester(request.user, ug_flag, masters_flag, phd_flag) + # user_sem = get_user_semester(request.user, ug_flag, masters_flag, phd_flag) user_branch = get_user_branch(user_details) batch = obj.batch_id @@ -297,8 +297,12 @@ def academic_procedures_student(request): curr_sem_id = Semester.objects.get(curriculum = curr_id, semester_no = obj.curr_semester_no) try: + semester_no = obj.curr_semester_no+1 next_sem_id = Semester.objects.get(curriculum = curr_id, semester_no = obj.curr_semester_no+1) + user_sem = semester_no + except Exception as e: + user_sem = get_user_semester(request.user, ug_flag, masters_flag, phd_flag) next_sem_id = curr_sem_id student_registration_check_pre = get_student_registrtion_check(obj,next_sem_id) From cdfdf60f3b33d61423a444e4c197613b6236c393 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Fri, 3 Feb 2023 10:29:02 +0530 Subject: [PATCH 4/9] reused semester_no variable to fetch data for next_sem_id --- FusionIIIT/applications/academic_procedures/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index 8d4c770d3..aaae264d6 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -298,7 +298,7 @@ def academic_procedures_student(request): try: semester_no = obj.curr_semester_no+1 - next_sem_id = Semester.objects.get(curriculum = curr_id, semester_no = obj.curr_semester_no+1) + next_sem_id = Semester.objects.get(curriculum = curr_id, semester_no = semester_no) user_sem = semester_no except Exception as e: From 7bacb5edbfd4c46365bb5317656caefe8da05ae6 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Tue, 7 Feb 2023 15:49:51 +0530 Subject: [PATCH 5/9] added start date display to pre regiration page so that date start date is visible(if it is sem by acadadmin) --- FusionIIIT/applications/academic_procedures/views.py | 12 ++++++++---- .../templates/academic_procedures/register.html | 6 ++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index aaae264d6..73a6ce757 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -316,7 +316,8 @@ def academic_procedures_student(request): if user_sem==2 and des_flag==False and ug_flag==True: branchchange_flag=True - pre_registration_date_flag = get_pre_registration_eligibility(current_date, user_sem, year) + pre_registration_date_flag, prd_start_date= get_pre_registration_eligibility(current_date, user_sem, year) + print("start_date: ", prd_start_date) final_registration_date_flag = get_final_registration_eligibility(current_date) add_or_drop_course_date_flag = get_add_or_drop_course_date_eligibility(current_date) pre_registration_flag = False @@ -507,6 +508,7 @@ def academic_procedures_student(request): # 'pre_register': pre_register, 'pre_registration_timestamp': pre_registration_timestamp, 'prd': pre_registration_date_flag, + 'prd_start_date': prd_start_date, 'frd': final_registration_date_flag, 'adc_date_flag': add_or_drop_course_date_flag, 'pre_registration_flag' : pre_registration_flag, @@ -1245,11 +1247,13 @@ def get_pre_registration_eligibility(current_date, user_sem, year): prd_start_date = pre_registration_date.from_date prd_end_date = pre_registration_date.to_date if current_date>=prd_start_date and current_date<=prd_end_date: - return True + return True, None + if current_date +
Pre Registration will start on {{prd_start_date}}. +
+ {% else %}
Pre Registration date hasn't come yet
{% endif %} + {% endif %} {% else %}

You are not Eligible for Registration !!

From 96d96697c5fb5b556456b6e3a026bd48e977be47 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Tue, 7 Feb 2023 15:58:44 +0530 Subject: [PATCH 6/9] added start date display to pre regiration page so that start date is visible(if it is set by acadadmin) --- FusionIIIT/templates/academic_procedures/register.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FusionIIIT/templates/academic_procedures/register.html b/FusionIIIT/templates/academic_procedures/register.html index df1c319d6..3e8ed9c31 100755 --- a/FusionIIIT/templates/academic_procedures/register.html +++ b/FusionIIIT/templates/academic_procedures/register.html @@ -195,7 +195,7 @@ {% else %} {% if prd_start_date%} -
Pre Registration will start on {{prd_start_date}}. +
Pre Registration will start on {{prd_start_date}}
{% else %} From a85a02374e72743d3b8531b8022762ac303c8408 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Tue, 7 Feb 2023 16:00:34 +0530 Subject: [PATCH 7/9] changes in requirement --- requirements.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/requirements.txt b/requirements.txt index da704c688..ff10316eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ beautifulsoup4==4.9.3 billiard==3.6.3.0 Brotli==1.0.9 bs4==0.0.1 -celery==5.2.3 +celery==5.0.5 certifi==2020.12.5 cffi==1.14.4 chardet==4.0.0 @@ -14,13 +14,13 @@ click==7.1.2 click-didyoumean==0.0.3 click-plugins==1.1.1 click-repl==0.1.6 -cryptography==36.0.2 +cryptography==3.3.1 defusedxml==0.6.0 Django==3.1.5 django-allauth==0.44.0 django-cleanup==5.1.0 django-cors-headers==3.7.0 -django-debug-toolbar==3.2.4 +django-debug-toolbar==3.2 django-extensions==3.1.1 django-filter==2.4.0 django-markdown-deux==1.0.5 @@ -35,14 +35,14 @@ future==0.18.2 html-text==0.5.2 html5lib==1.1 idna==2.10 -ipython==8.2.0 +ipython==7.20.0 ipython-genutils==0.2.0 jsonfield==3.1.0 jsonschema==3.2.0 kombu==5.0.2 -lxml==4.8.0 -markdown2==2.4.2 -numpy==1.22.3 +lxml==4.6.2 +markdown2==2.3.10 +numpy==1.19.5 oauthlib==3.1.0 openpyxl==3.0.7 Pillow==8.1.0 @@ -61,9 +61,9 @@ requests==2.25.1 requests-oauthlib==1.3.0 six==1.15.0 soupsieve==2.1 -sqlparse==0.4.2 +sqlparse==0.4.1 swapper==1.1.2.post1 -urllib3==1.26.8 +urllib3==1.26.2 vine==5.0.0 wcwidth==0.2.5 webencodings==0.5.1 @@ -71,4 +71,4 @@ whitenoise==5.2.0 xhtml2pdf==0.2.5 xlrd==2.0.1 XlsxWriter==1.3.7 -xlwt==1.3.0 +xlwt==1.3.0 \ No newline at end of file From 5b077cf49fe1122cd6b7a24acec76d7a420cf2f3 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Tue, 7 Feb 2023 16:06:23 +0530 Subject: [PATCH 8/9] added start date display to pre regiration page so that start date is visible(if it is set by acadadmin) --- FusionIIIT/templates/academic_procedures/register.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FusionIIIT/templates/academic_procedures/register.html b/FusionIIIT/templates/academic_procedures/register.html index 1b385c246..6ef3b6e0c 100755 --- a/FusionIIIT/templates/academic_procedures/register.html +++ b/FusionIIIT/templates/academic_procedures/register.html @@ -199,7 +199,7 @@ {% else %} {% if prd_start_date%} -
Pre Registration will start on {{prd_start_date}} +
Pre Registration will start on {{prd_start_date}}.
{% else %} From 87022cfbd71d798b3666fa13023017da474651b1 Mon Sep 17 00:00:00 2001 From: Anunaya Date: Sun, 12 Feb 2023 16:13:20 +0530 Subject: [PATCH 9/9] updated requirement according to main barnch and removed start_date print statement --- .../applications/academic_procedures/views.py | 1 - requirements.txt | 16 ++++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/FusionIIIT/applications/academic_procedures/views.py b/FusionIIIT/applications/academic_procedures/views.py index 73a6ce757..7e55e3e45 100644 --- a/FusionIIIT/applications/academic_procedures/views.py +++ b/FusionIIIT/applications/academic_procedures/views.py @@ -317,7 +317,6 @@ def academic_procedures_student(request): branchchange_flag=True pre_registration_date_flag, prd_start_date= get_pre_registration_eligibility(current_date, user_sem, year) - print("start_date: ", prd_start_date) final_registration_date_flag = get_final_registration_eligibility(current_date) add_or_drop_course_date_flag = get_add_or_drop_course_date_eligibility(current_date) pre_registration_flag = False diff --git a/requirements.txt b/requirements.txt index 132f905ec..4cc3a0a30 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,13 +14,13 @@ click==7.1.2 click-didyoumean==0.0.3 click-plugins==1.1.1 click-repl==0.1.6 -cryptography==3.3.1 +cryptography==36.0.2 defusedxml==0.6.0 Django==3.1.5 django-allauth==0.44.0 django-cleanup==5.1.0 django-cors-headers==3.7.0 -django-debug-toolbar==3.2 +django-debug-toolbar==3.2.4 django-extensions==3.1.1 django-filter==2.4.0 django-markdown-deux==1.0.5 @@ -35,14 +35,14 @@ future==0.18.2 html-text==0.5.2 html5lib==1.1 idna==2.10 -ipython==7.20.0 +ipython==8.2.0 ipython-genutils==0.2.0 jsonfield==3.1.0 jsonschema==3.2.0 kombu==5.0.2 -lxml==4.6.2 -markdown2==2.3.10 -numpy==1.19.5 +lxml==4.8.0 +markdown2==2.4.2 +numpy==1.22.3 oauthlib==3.1.0 openpyxl==3.0.7 Pillow==8.1.0 @@ -61,9 +61,9 @@ requests==2.25.1 requests-oauthlib==1.3.0 six==1.15.0 soupsieve==2.1 -sqlparse==0.4.1 +sqlparse==0.4.2 swapper==1.1.2.post1 -urllib3==1.26.2 +urllib3==1.26.8 vine==5.0.0 wcwidth==0.2.5 webencodings==0.5.1