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 b98ea6960..fabe81ec2 100644 --- a/FusionIIIT/Fusion/settings/common.py +++ b/FusionIIIT/Fusion/settings/common.py @@ -163,6 +163,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' @@ -178,6 +179,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/settings/development.py b/FusionIIIT/Fusion/settings/development.py new file mode 100644 index 000000000..6acc214c1 --- /dev/null +++ b/FusionIIIT/Fusion/settings/development.py @@ -0,0 +1,55 @@ +from Fusion.settings.common import * + +DEBUG = True + +SECRET_KEY = '=&w9due426k@l^ju1=s1)fj1rnpf0ok8xvjwx+62_nc-f12-8(' + +ALLOWED_HOSTS = ['*'] + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': 'fusionlab', + 'HOST': os.environ.get("DB_HOST", default='localhost'), + 'USER': 'fusion_admin', + 'PASSWORD': 'hello123', + } +} + +REST_FRAMEWORK = { + 'DEFAULT_AUTHENTICATION_CLASSES': ( + 'rest_framework.authentication.TokenAuthentication', + ), + 'DEFAULT_PERMISSION_CLASSES': ( + 'rest_framework.permissions.IsAuthenticated', + ) +} + +if DEBUG: + MIDDLEWARE += ( + 'debug_toolbar.middleware.DebugToolbarMiddleware', + ) + + INSTALLED_APPS += ( + 'debug_toolbar', + 'django_extensions', + ) + + + ############################### + # DJANGO_EXTENSIONS SETTINGS: # + ############################### + INTERNAL_IPS = [ + '127.0.0.1', + ] + + ############################### + # DJANGO_EXTENSIONS SETTINGS: # + ############################### + SHELL_PLUS = "ipython" + + SHELL_PLUS_PRINT_SQL = True + + DEBUG_TOOLBAR_CONFIG = { + 'INTERCEPT_REDIRECTS': False, + } 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/programme_curriculum/filters.py b/FusionIIIT/applications/programme_curriculum/filters.py index d4444ff18..d1da0cca5 100644 --- a/FusionIIIT/applications/programme_curriculum/filters.py +++ b/FusionIIIT/applications/programme_curriculum/filters.py @@ -34,4 +34,10 @@ class CurriculumFilter(django_filters.FilterSet): class Meta: model = Curriculum fields = {'name': ['icontains'], - } \ No newline at end of file + 'version': ['exact'], + } + widgets = { + 'name' : forms.TextInput(attrs={'placeholder': 'Course/Project Name','max_length': 100,}), + 'name' : django_filters.CharFilter(forms.TextInput(attrs={'placeholder': 'Course/Project Name','max_length': 100,})), + 'code' : django_filters.CharFilter(forms.TextInput(attrs={'placeholder': 'Version','max_length': 10,})), + } \ No newline at end of file diff --git a/FusionIIIT/applications/programme_curriculum/forms.py b/FusionIIIT/applications/programme_curriculum/forms.py index 2e50d5154..210789e29 100644 --- a/FusionIIIT/applications/programme_curriculum/forms.py +++ b/FusionIIIT/applications/programme_curriculum/forms.py @@ -432,6 +432,7 @@ class Meta: widgets = { 'code' : forms.TextInput(attrs={'placeholder': 'Course Code','max_length': 10,'readonly':'readonly'}), 'name' : forms.TextInput(attrs={'placeholder': 'Course/Project Name','max_length': 100,'readonly':'readonly'}), + 'version' : forms.NumberInput(attrs={'placeholder': 'version_no',}, ), 'credit' : forms.NumberInput(attrs={'placeholder': 'Course Credits','readonly':'readonly'}, ), 'lecture_hours' : forms.NumberInput(attrs={'placeholder': 'Lecture hours','readonly':'readonly'}, ), 'tutorial_hours' : forms.NumberInput(attrs={'placeholder': 'Tutorial hours','readonly':'readonly'}, ), diff --git a/FusionIIIT/applications/programme_curriculum/views.py b/FusionIIIT/applications/programme_curriculum/views.py index d2ed3637a..5efb2314c 100644 --- a/FusionIIIT/applications/programme_curriculum/views.py +++ b/FusionIIIT/applications/programme_curriculum/views.py @@ -29,9 +29,13 @@ def programme_curriculum(request): user_details - Gets the information about the logged in user. des - Gets the designation about the looged in user. """ + user=request.user + + # print(context) + print(user.extrainfo.user_type + "Programme and curriculum") user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : return HttpResponseRedirect('/programme_curriculum/admin_programmes') @@ -55,10 +59,10 @@ def view_all_programmes(request): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' ug = Programme.objects.filter(category='UG') @@ -85,10 +89,10 @@ def view_curriculums_of_a_programme(request, programme_id): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' program = get_object_or_404(Programme, Q(id=programme_id)) @@ -110,10 +114,10 @@ def view_all_working_curriculums(request): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' curriculums = Curriculum.objects.filter(working_curriculum=1) @@ -139,11 +143,11 @@ def view_semesters_of_a_curriculum(request, curriculum_id): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' curriculum = get_object_or_404(Curriculum, Q(id=curriculum_id)) semesters = curriculum.semesters @@ -183,10 +187,10 @@ def view_a_semester_of_a_curriculum(request, semester_id): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' semester = get_object_or_404(Semester, Q(id=semester_id)) @@ -200,9 +204,9 @@ def view_a_courseslot(request, courseslot_id): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' course_slot = get_object_or_404(CourseSlot, Q(id=courseslot_id)) return render(request, url+'view_a_courseslot.html', {'course_slot': course_slot}) @@ -213,9 +217,9 @@ def view_all_courses(request): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' courses = Course.objects.all() @@ -231,9 +235,9 @@ def view_a_course(request, course_id): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' course = get_object_or_404(Course, Q(id=course_id)) @@ -245,9 +249,9 @@ def view_all_discplines(request): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' disciplines = Discipline.objects.all() @@ -259,9 +263,9 @@ def view_all_batches(request): url='programme_curriculum/' user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "acadadmin": + if request.session['currentDesignationSelected']== "acadadmin": return render(request, 'programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation) == "Dean Academic" or str(des.designation) == "CSE HOD": + elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or request.session['currentDesignationSelected']== "Dean Academic" or request.session['currentDesignationSelected']== "CSE HOD": url+='faculty/' @@ -294,7 +298,7 @@ def admin_view_all_programmes(request): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -322,7 +326,7 @@ def admin_view_curriculums_of_a_programme(request, programme_id): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -346,7 +350,7 @@ def admin_view_all_working_curriculums(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -366,7 +370,7 @@ def admin_view_semesters_of_a_curriculum(request, curriculum_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -420,7 +424,7 @@ def admin_view_a_semester_of_a_curriculum(request, semester_id): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -438,7 +442,7 @@ def admin_view_a_courseslot(request, courseslot_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -457,7 +461,7 @@ def admin_view_all_courses(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -478,7 +482,7 @@ def admin_view_a_course(request, course_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -493,7 +497,7 @@ def admin_view_all_discplines(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -508,7 +512,7 @@ def admin_view_all_batches(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -532,7 +536,7 @@ def add_discipline_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -554,7 +558,7 @@ def edit_discipline_form(request, discipline_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -577,7 +581,7 @@ def add_programme_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -601,7 +605,7 @@ def edit_programme_form(request, programme_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -630,7 +634,7 @@ def add_curriculum_form(request): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -671,7 +675,7 @@ def edit_curriculum_form(request, curriculum_id): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -717,7 +721,7 @@ def add_course_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -741,7 +745,7 @@ def update_course_form(request, course_id): #user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student": # or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" + if request.session['currentDesignationSelected']== "student": # or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -776,7 +780,7 @@ def add_courseslot_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -802,7 +806,7 @@ def edit_courseslot_form(request, courseslot_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -825,7 +829,7 @@ def delete_courseslot(request, courseslot_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -848,7 +852,7 @@ def add_batch_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -871,7 +875,7 @@ def edit_batch_form(request, batch_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -905,7 +909,7 @@ def instigate_semester(request, semester_id): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -945,7 +949,7 @@ def replicate_curriculum(request, curriculum_id): """ user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" or str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected']== "student" or request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" : return HttpResponseRedirect('/programme_curriculum/programmes/') elif str(request.user) == "acadadmin" : pass @@ -1013,9 +1017,9 @@ def replicate_curriculum(request, curriculum_id): def course_proposal_form(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected'] == "Associate Professor" or request.session['currentDesignationSelected'] == "Professor" or request.session['currentDesignationSelected'] == "Assistant Professor" : pass - elif str(request.user) == "acadadmin": + elif request.session['currentDesignationSelected'] == "acadadmin": return HttpResponseRedirect('/programme_curriculum/admin_programmes') faculty_id=user_details.user_id details=User.objects.get(id=faculty_id) @@ -1023,7 +1027,6 @@ def course_proposal_form(request): - form=Course_Proposal(initial={'faculty_name': faculty_name,'faculty_code':des.user}) submitbutton= request.POST.get('Submit') @@ -1031,7 +1034,9 @@ def course_proposal_form(request): if request.method == 'POST': form = Course_Proposal(request.POST) if form.is_valid(): - form.save() + new_course = form.save(commit=False) + new_course.status=0 + new_course.save() messages.success(request, " Proposal Added successful") return HttpResponseRedirect('/programme_curriculum/view_course_proposal_forms/') @@ -1043,11 +1048,11 @@ def course_proposal_form(request): # user_details = ExtraInfo.objects.get(user = request.user) # des = HoldsDesignation.objects.all().filter(user = request.user).first() -# if str(des.designation) == "student": +# if request.session['currentDesignationSelected']== "student": # return HttpResponseRedirect('/programme_curriculum/programmes/') # elif str(request.user) == "acadadmin" : # return HttpResponseRedirect('/programme_curriculum/admin_programmes') -# elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor": +# elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor": # pass # course = get_object_or_404(Course, Q(id=course_id)) @@ -1069,11 +1074,11 @@ def faculty_view_all_courses(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" : + if request.session['currentDesignationSelected'] == "student" : return HttpResponseRedirect('/programme_curriculum/programmes/') - elif str(request.user) == "acadadmin" : + elif request.session['currentDesignationSelected'] == "acadadmin" : return HttpResponseRedirect('/programme_curriculum/admin_programmes') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor": + elif request.session['currentDesignationSelected'] == "Associate Professor" or request.session['currentDesignationSelected'] == "Professor" or request.session['currentDesignationSelected'] == "Assistant Professor": pass # discipline=user_details.department @@ -1095,11 +1100,11 @@ def faculty_view_a_course(request, course_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student" : + if request.session['currentDesignationSelected'] == "student" : return HttpResponseRedirect('/programme_curriculum/programmes/') - elif str(request.user) == "acadadmin" : + elif request.session['currentDesignationSelected'] == "acadadmin" : return HttpResponseRedirect('/programme_curriculum/admin_programmes') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + elif request.session['currentDesignationSelected'] == "Associate Professor" or request.session['currentDesignationSelected'] == "Professor" or request.session['currentDesignationSelected'] == "Assistant Professor" : pass course = get_object_or_404(Course, Q(id=course_id)) return render(request, 'programme_curriculum/faculty/faculty_view_a_course.html', {'course': course}) @@ -1115,11 +1120,11 @@ def faculty_view_a_course(request, course_id): # user_details = ExtraInfo.objects.get(user = request.user) # des = HoldsDesignation.objects.all().filter(user = request.user).last() -# if str(des.designation) == "CSE HOD" : +# if request.session['currentDesignationSelected']== "CSE HOD" : # pass # elif str(request.user) == "acadadmin" : # return HttpResponseRedirect('/programme_curriculum/admin_programmes') -# elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" or str(des.designation)=="student" : +# elif request.session['currentDesignationSelected']== "Associate Professor" or request.session['currentDesignationSelected']== "Professor" or request.session['currentDesignationSelected']== "Assistant Professor" or str(des.designation)=="student" : # return HttpResponseRedirect('/programme_curriculum/programmes') # proposal = get_object_or_404(CourseProposal, Q(id=proposal_id)) # return render(request, 'programme_curriculum/hod/head_view_a_course.html', {'proposal': proposal}) @@ -1128,13 +1133,13 @@ def head_view_a_course_proposal(request,CourseProposal_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(request.user) == "CSE HOD" : + if request.session['currentDesignationSelected'] == "CSE HOD" : pass proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) - if(str(des.designation) == "Dean Academic"): - # poposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) - form = CourseProposalForm(instance=proposalform) + if (request.session['currentDesignationSelected'] == "Dean Academic"): + proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) + form = CourseProposalForm(instance=proposalform,initial={'version':1.0}) submitbutton= request.POST.get('Submit') if submitbutton: if request.method == 'POST': @@ -1154,26 +1159,56 @@ def head_view_a_update_course_proposal(request,UpdateCourseProposal_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(request.user) == "CSE HOD" : + if request.session['currentDesignationSelected'] == "CSE HOD" : pass proposalform = get_object_or_404(UpdateCourseProposal, Q(id=UpdateCourseProposal_id)) - if(str(des.designation) == "Dean Academic"): - - course = get_object_or_404(Course, Q(code=proposalform.code)) - form = CourseProposalForm(instance=proposalform) + if(request.session['currentDesignationSelected'] == "Dean Academic"): + + # course = get_object_or_404(Course, Q(code=proposalform.code)) + course =Course.objects.all().filter(code=proposalform.code).order_by('version').last() + previous = Course.objects.all().filter(code=course.code).order_by('version').last() + course.version=previous.version + version_error='' + form = CourseProposalForm(instance=proposalform,initial={'version':course.version}) submitbutton= request.POST.get('Submit') if submitbutton: if request.method == 'POST': - form = CourseProposalForm(request.POST,instance=course) - if form.is_valid(): - proposalform.status = 3 - proposalform.save() - form.save() - messages.success(request, "Updated "+ proposalform.name +" successful") - return HttpResponseRedirect("/programme_curriculum/course/"+ str(course.id) + "/") - return render(request, 'programme_curriculum/faculty/dean_view_update_a_course_proposal.html', {'course': proposalform ,'form':form,'submitbutton': submitbutton}) + form = CourseForm(request.POST) + if form.is_valid() : + previous.latest_version=False + previous.save() + form.latest_version=True + new_course = form.save(commit=False) + if(new_course.version>previous.version): + proposalform.status = 3 + proposalform.save() + form.save() + course = Course.objects.last() + messages.success(request, "Added successful") + return HttpResponseRedirect("/programme_curriculum/course/"+ str(course.id) + "/") + else: + version_error+=f'The version should be greater than {previous.version}' + return render(request, 'programme_curriculum/faculty/dean_view_update_a_course_proposal.html', {'course': proposalform ,'form':form,'submitbutton': submitbutton,'version_error':version_error}) return render(request, 'programme_curriculum/faculty/head_view_update_a_course_proposal.html', {'proposal': proposalform}) + + #return render(request,'programme_curriculum/acad_admin/update_course_form.html',{'course':course, 'form':form, 'submitbutton': submitbutton,'version_error':version_error}) + + + + + # submitbutton= request.POST.get('Submit') + # if submitbutton: + # if request.method == 'POST': + # form = CourseProposalForm(request.POST,instance=course) + # if form.is_valid(): + # proposalform.status = 3 + # proposalform.save() + # form.save() + # messages.success(request, "Updated "+ proposalform.name +" successful") + # return HttpResponseRedirect("/programme_curriculum/course/"+ str(course.id) + "/") + # return render(request, 'programme_curriculum/faculty/dean_view_update_a_course_proposal.html', {'course': proposalform ,'form':form,'submitbutton': submitbutton}) + # return render(request, 'programme_curriculum/faculty/head_view_update_a_course_proposal.html', {'proposal': proposalform}) def forward_form(request,CourseProposal_id): proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) @@ -1197,9 +1232,9 @@ def reject_form(request,CourseProposal_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).last() - if str(des.designation) == "CSE HOD" or str(des.designation) == "Dean Academic": + if request.session['currentDesignationSelected'] == "CSE HOD" or request.session['currentDesignationSelected'] == "Dean Academic": pass - elif str(request.user) == "acadadmin" or str(request.user) == "student" : + elif request.session['currentDesignationSelected'] == "acadadmin" or request.session['currentDesignationSelected'] == "student" : return HttpResponseRedirect('/programme_curriculum/programmes/') proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) @@ -1208,13 +1243,13 @@ def reject_form(request,CourseProposal_id): courses = CourseProposal.objects.all() Updatecourses = UpdateCourseProposal.objects.all() - if str(des.designation) == "CSE HOD": + if request.session['currentDesignationSelected'] == "CSE HOD": proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) proposalform.status = 2 proposalform.save() courses = CourseProposal.objects.all() return render(request, 'programme_curriculum/faculty/head_view_course_proposal_forms.html',{'courseProposals': courses,'updateProposals': Updatecourses}) - if str(des.designation) == "Dean Academic" : + if request.session['currentDesignationSelected'] == "Dean Academic" : proposalform = get_object_or_404(CourseProposal, Q(id=CourseProposal_id)) proposalform.status = 4 proposalform.save() @@ -1227,23 +1262,23 @@ def reject_update_form(request,UpdateCourseProposal_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).last() - if str(des.designation) == "CSE HOD" or str(des.designation) == "Dean Academic": + if request.session['currentDesignationSelected'] == "CSE HOD" or request.session['currentDesignationSelected'] == "Dean Academic": pass - elif str(request.user) == "acadadmin" or str(request.user) == "student" : + elif request.session['currentDesignationSelected'] == "acadadmin" or request.session['currentDesignationSelected'] == "student" : return HttpResponseRedirect('/programme_curriculum/programmes/') proposalform = get_object_or_404(UpdateCourseProposal, Q(id=UpdateCourseProposal_id)) proposalform.status = 2 proposalform.save() courses = UpdateCourseProposal.objects.all() - if str(des.designation) == "CSE HOD": + if request.session['currentDesignationSelected']== "CSE HOD": proposalform = get_object_or_404(UpdateCourseProposal, Q(id=UpdateCourseProposal_id)) proposalform.status = 2 proposalform.save() Updatecourses = UpdateCourseProposal.objects.all() courses=CourseProposal.objects.all() return render(request, 'programme_curriculum/faculty/head_view_course_proposal_forms.html',{'courseProposals': courses,'updateProposals': Updatecourses}) - if str(des.designation) == "Dean Academic" : + if request.session['currentDesignationSelected']== "Dean Academic" : proposalform = get_object_or_404(UpdateCourseProposal, Q(id=UpdateCourseProposal_id)) proposalform.status = 4 proposalform.save() @@ -1275,9 +1310,9 @@ def view_course_proposal_forms(request): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).last() - if str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + if request.session['currentDesignationSelected'] == "Associate Professor" or request.session['currentDesignationSelected'] == "Professor" or request.session['currentDesignationSelected'] == "Assistant Professor" : pass - elif str(request.user) == "acadadmin" or str(request.user) == "student" : + elif request.session['currentDesignationSelected'] == "acadadmin" or request.session['currentDesignationSelected'] == "student" : return HttpResponseRedirect('/programme_curriculum/programmes/') courseProposal = CourseProposal.objects.filter(faculty_code=des.user) @@ -1288,9 +1323,9 @@ def view_course_proposal_forms(request): updatecourseProposal = UpdateCourseProposal.objects.filter(faculty_code=des.user) - if(str(des.designation) == "CSE HOD"): + if(request.session['currentDesignationSelected'] == "CSE HOD"): return render(request, 'programme_curriculum/faculty/head_view_course_proposal_forms.html',{'courseProposals': courses,'updateProposals':updatecourses}) - elif(str(des.designation) == "Dean Academic"): + elif(request.session['currentDesignationSelected'] == "Dean Academic"): return render(request, 'programme_curriculum/faculty/dean_view_course_proposal_forms.html',{'courseProposals': courses,'updateProposals':updatecourses}) return render(request, 'programme_curriculum/faculty/view_course_proposal_forms.html',{'courseProposals': courseProposal,'updateProposals':updatecourseProposal}) @@ -1302,12 +1337,13 @@ def view_course_proposal_forms(request): def update_course_proposal_form(request, course_id): user_details = ExtraInfo.objects.get(user = request.user) des = HoldsDesignation.objects.all().filter(user = request.user).first() - if str(des.designation) == "student": + if request.session['currentDesignationSelected'] == "student": return HttpResponseRedirect('/programme_curriculum/programmes/') - elif str(request.user) == "acadadmin" : + elif request.session['currentDesignationSelected'] == "acadadmin" : return HttpResponseRedirect('/programme_curriculum/admin_programmes/') - elif str(des.designation) == "Associate Professor" or str(des.designation) == "Professor" or str(des.designation) == "Assistant Professor" : + elif request.session['currentDesignationSelected'] == "Associate Professor" or request.session['currentDesignationSelected'] == "Professor" or request.session['currentDesignationSelected'] == "Assistant Professor" : pass + faculty_id=user_details.user_id details=User.objects.get(id=faculty_id) faculty_name=details.first_name +' '+ details.last_name 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 %} -