Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ac-6 : week-5 : add staff view, complete faculty view, add alumni details #1311

Merged
merged 6 commits into from
Feb 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

1 change: 1 addition & 0 deletions FusionIIIT/applications/department/api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
url(r'dep-main/$', views.DepMainAPIView.as_view(), name='depmain'),
url(r'fac-view/$', views.FacAPIView.as_view(), name='facapi'),
url(r'staff-view/$',views.StaffAPIView.as_view(),name='staffapi'),
url(r'all-students/(?P<bid>[0-9]+)/$', views.AllStudentsAPIView.as_view() ,name='all_students')

]
45 changes: 45 additions & 0 deletions FusionIIIT/applications/department/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,52 @@ def get(self,request):
}

return Response(data)

class AllStudentsAPIView(APIView):
def get(self,request,bid):
print(self.request.query_params)
# bid = self.request.query_params.get()

# Decode bid into filter criteria
filter_criteria = decode_bid(bid)
if not filter_criteria:
return Response({'detail': 'Invalid bid value'}, status=status.HTTP_400_BAD_REQUEST)

# Apply additional department filter since it seems fixed
filter_criteria['id__department__name'] = 'CSE'

student_list1 = Student.objects.order_by('id').filter(
id__user_type='student',
**filter_criteria
).select_related('id')

# paginator = Paginator(student_list1, 25, orphans=5)
# page_number = request.GET.get('page')
# student_list = paginator.get_page(page_number)

# Serialize the queryset
serializer = StudentSerializer(student_list1, many=True)
serialized_data = serializer.data

# Create a response dictionary
response_data = {'student_list': serialized_data}

return Response(response_data)


def decode_bid(bid):
"""Decodes the bid structure into programme, batch, and department (if applicable)."""
try:
department_code = bid[0]
programme = {
'1': 'B.Tech',
'2': 'M.Tech',
'3': 'PhD', # Assuming there are more departments
}[department_code]
batch = 2021 - len(bid) + 1
return {'programme': programme, 'batch': batch}
except (IndexError, KeyError):
return None # Handle malformed bid values

def browse_announcements():
"""
Expand Down
3 changes: 2 additions & 1 deletion FusionIIIT/applications/department/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
url(r'^$', views.dep_main, name='dep'),
url(r'^facView/$', views.faculty_view, name='faculty_view'),
url(r'^staffView/$', views.staff_view, name='staff_view'),
url(r'^All_Students/(?P<bid>[0-9]+)/$', views.all_students,name='all_students'),
url(r'All_Students/(?P<bid>[0-9]+)/$', views.all_students,name='all_students'),
url(r'alumni/$', views.alumni, name='alumni'),
url(r'^approved/$', views.approved, name='approved'),
url(r'^deny/$', views.deny, name='deny'),

Expand Down
36 changes: 33 additions & 3 deletions FusionIIIT/applications/department/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ def faculty_view(request):
department, ann_date, user_info - Gets and store data from FORM used for Announcements.

"""
context_f = faculty()
usrnm = get_object_or_404(User, username=request.user.username)
user_info = ExtraInfo.objects.all().select_related('user','department').filter(user=usrnm).first()
num = 1
Expand Down Expand Up @@ -183,7 +184,8 @@ def faculty_view(request):
context = browse_announcements()
return render(request, 'department/dep_request.html', {"user_designation":user_info.user_type,
"announcements":context,
"request_to":requests_received
"request_to":requests_received,
"fac_list" : context_f
})

def staff_view(request):
Expand All @@ -200,6 +202,7 @@ def staff_view(request):
department, ann_date, user_info - Gets and store data from FORM used for Announcements for Students.

"""
context_f = faculty()
usrnm = get_object_or_404(User, username=request.user.username)
user_info = ExtraInfo.objects.all().select_related('user','department').filter(user=usrnm).first()
num = 1
Expand Down Expand Up @@ -228,7 +231,8 @@ def staff_view(request):
context = browse_announcements()
return render(request, 'department/dep_request.html', {"user_designation":user_info.user_type,
"announcements":context,
"request_to":requests_received
"request_to":requests_received,
"fac_list" : context_f
})

@login_required(login_url='/accounts/login')
Expand All @@ -255,7 +259,8 @@ def decode_bid(bid):
programme = {
'1': 'B.Tech',
'2': 'M.Tech',
'3': 'PhD', # Assuming there are more departments
'3': 'PhD',

}[department_code]
batch = 2021 - len(bid) + 1
return {'programme': programme, 'batch': batch}
Expand Down Expand Up @@ -316,6 +321,31 @@ def faculty():
print(cse_f)
return context_f

def alumni(request):
"""
This function is used to Return data of Alumni Department-Wise.

@variables:
cse_a - Stores data of alumni from CSE Department
ece_a - Stores data of alumni from ECE Department
me_a - Stores data of alumni from ME Department
sm_a - Stores data of alumni from ME Department
context_a - Stores all above variables in Dictionary

"""
cse_a=ExtraInfo.objects.filter(department__name='CSE',user_type='alumni')
ece_a=ExtraInfo.objects.filter(department__name='ECE',user_type='alumni')
me_a=ExtraInfo.objects.filter(department__name='ME',user_type='alumni')
sm_a=ExtraInfo.objects.filter(department__name='SM',user_type='alumni')

context_a = {
"cse_a" : cse_a,
"ece_a" : ece_a,
"me_a" : me_a,
"sm_a" : sm_a
}
return render(request, 'department/alumni.html', context_a)

def approved(request):
"""
This function is used to approve requests.
Expand Down
55 changes: 55 additions & 0 deletions FusionIIIT/templates/department/alumni.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{% extends 'globals/base.html' %}
{% load static %}

{% block title %}
Alumni_List
{% endblock %}

{% block body %}
<link href="https://cdn.rawgit.com/mdehoog/Semantic-UI/6e6d051d47b598ebab05857545f242caf2b4b48c/dist/semantic.min.css" rel="stylesheet" type="text/css" />
{% block navBar %}
{% include 'dashboard/navbar.html' %}
{% endblock %}

{% comment %}The tab menu starts here!{% endcomment %}
<div class="ui pointing secondary menu">
<a class="active item" data-tab="complaint">


Alumni List
<a class="active item" href="{% url 'dep:dep' %}"><button style="border: none; float: right; display: block;" class="ui inverted right floated small blue button">
Back
</button></a>


</a>
</div>

{% comment %} <div class="ui active tab" data-tab="complaint"> {% endcomment %}
<div class="ui vertical segment">

<table class="ui very basic collapsing celled sortable table"
style="padding-left: 2.5%; padding-right: 2.5%;padding-top: 1%; padding-bottom: 1.5%; margin: auto;">
<thead>
<th>Roll</th>
<th>Department</th>
<th>Programme</th>
<th>Batch</th>
<th>Cpi</th>
<th>Category</th>
<th>First Name</th>
<th>Last Name</th>
<th>Hall No.</th>
<th>Room No.</th>
<th>Specialization</th>
</thead>

<div class="ui divider"></div>
{% comment %} </div> {% endcomment %}
</div>


{% comment %} {% endblock %} {% endcomment %}

{% include 'department/alert.html' %}
{% endblock %}
81 changes: 74 additions & 7 deletions FusionIIIT/templates/department/cse_dep.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,14 @@ <h1><center> Welcome to CSE Department </center></h1>
Announcements
</a>

<a class="item" data-tab="Request">
Requests
<a class="item" data-tab="alumni">
Alumni
</a>

{% comment %} <a class="item" data-tab="Request">
Requests
</a> {% endcomment %}

</div>
<div class="ui active tab" data-tab="about-us">
<div class="ui vertical segment">
Expand Down Expand Up @@ -316,7 +320,70 @@ <h3>
</div>
</div>

<div class="ui tab" data-tab="Request">
<div class="ui tab" data-tab="alumni">
<div class="ui vertical segment">
<div class="content">
<div class="description">
<span>
{% comment %}Get student Data{% endcomment %}
<div class="ui styled accordion">
<div class="title">
<i class="dropdown icon"></i>
PhD Students
</div>
<div class="content">
<a class="item" href="./alumni/">
<!-- <button style="border: none; float: left; display: block;" class="ui inverted right floated small red button" onclick="requestModal()"> -->
<button style="border: solid; float: left; display: block;">
PhD Students
</button>
</a>
<br>
</div>
</div>

<div class="ui styled accordion">
<div class="title">
<i class="dropdown icon"></i>
MTech Students
</div>
<div class="content">
<a class="item" href="./alumni/">
<!-- <button style="border: none; float: left; display: block;" class="ui inverted right floated small red button" onclick="requestModal()"> -->
<button style="border: solid; float: left; display: block;">
MTech Students
</button>
</a>
<br>
</div>
</div>



<div class="ui styled accordion">
<div class="title">
<i class="dropdown icon"></i>
BTech Students
</div>
<div class="content">
<a class="item" href="./alumni/">
<!-- <button style="border: none; float: left; display: block;" class="ui inverted right floated small red button" onclick="requestModal()"> -->
<button style="border: solid; float: left; display: block;">
BTech Students
</button>
</a>
<br>
</div>
</div>

</span>
<div class="ui divider"></div>
</div>
</div>
</div>
</div>

{% comment %} <div class="ui tab" data-tab="Request">
<div class="ui vertical segment">
<div class="content">
<div class="description">
Expand Down Expand Up @@ -344,7 +411,7 @@ <h3>
{% endblock %}
{% endwith %}
</span>
{% comment %} <div class="ui divider"></div> {% endcomment %}

</div>
</div>
</div>
Expand All @@ -359,18 +426,18 @@ <h3>
{% include "department/request_history.html" %}
{% endblock %}
</span>
{% comment %} <div class="ui divider"></div> {% endcomment %}

</div>
</div>
</div>
</div>

</span>
{% comment %} <div class="ui divider"></div> {% endcomment %}

</div>
</div>
</div>
</div>
</div> {% endcomment %}



Expand Down
Loading