Change 'Department' occurences to 'Program'

This commit is contained in:
Zaki Benaissa 2024-01-06 15:19:55 +01:00
parent ea75bc29dd
commit 2a879de7e2
11 changed files with 49 additions and 27 deletions

View File

@ -36,7 +36,7 @@ class StudentFilter(django_filters.FilterSet):
student__username = django_filters.CharFilter(lookup_expr="exact", label="") student__username = django_filters.CharFilter(lookup_expr="exact", label="")
student__name = django_filters.CharFilter(method="filter_by_name", label="") student__name = django_filters.CharFilter(method="filter_by_name", label="")
student__email = django_filters.CharFilter(lookup_expr="icontains", label="") student__email = django_filters.CharFilter(lookup_expr="icontains", label="")
department__title = django_filters.CharFilter(lookup_expr="icontains", label="") program__title = django_filters.CharFilter(lookup_expr="icontains", label="")
class Meta: class Meta:
model = Student model = Student
@ -44,7 +44,7 @@ class StudentFilter(django_filters.FilterSet):
"student__username", "student__username",
"student__name", "student__name",
"student__email", "student__email",
"department__title", "program__title",
] ]
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -60,8 +60,8 @@ class StudentFilter(django_filters.FilterSet):
self.filters["student__email"].field.widget.attrs.update( self.filters["student__email"].field.widget.attrs.update(
{"class": "au-input", "placeholder": "Email"} {"class": "au-input", "placeholder": "Email"}
) )
self.filters["department__title"].field.widget.attrs.update( self.filters["program__title"].field.widget.attrs.update(
{"class": "au-input", "placeholder": "Department"} {"class": "au-input", "placeholder": "Program"}
) )
def filter_by_name(self, queryset, name, value): def filter_by_name(self, queryset, name, value):

View File

@ -176,12 +176,12 @@ class StudentAddForm(UserCreationForm):
), ),
) )
department = forms.ModelChoiceField( program = forms.ModelChoiceField(
queryset=Program.objects.all(), queryset=Program.objects.all(),
widget=forms.Select( widget=forms.Select(
attrs={"class": "browser-default custom-select form-control"} attrs={"class": "browser-default custom-select form-control"}
), ),
label="Department", label="Program",
) )
email = forms.EmailField( email = forms.EmailField(
@ -237,7 +237,7 @@ class StudentAddForm(UserCreationForm):
student = Student.objects.create( student = Student.objects.create(
student=user, student=user,
level=self.cleaned_data.get("level"), level=self.cleaned_data.get("level"),
department=self.cleaned_data.get("department"), program=self.cleaned_data.get("program"),
) )
student.save() student.save()
return user return user

View File

@ -0,0 +1,18 @@
# Generated by Django 4.0.8 on 2024-01-06 13:41
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('accounts', '0017_alter_departmenthead_options_alter_parent_options_and_more'),
]
operations = [
migrations.RenameField(
model_name='student',
old_name='department',
new_name='program',
),
]

View File

@ -128,7 +128,7 @@ class StudentManager(models.Manager):
def search(self, query=None): def search(self, query=None):
qs = self.get_queryset() qs = self.get_queryset()
if query is not None: if query is not None:
or_lookup = Q(level__icontains=query) | Q(department__icontains=query) or_lookup = Q(level__icontains=query) | Q(program__icontains=query)
qs = qs.filter( qs = qs.filter(
or_lookup or_lookup
).distinct() # distinct() is often necessary with Q lookups ).distinct() # distinct() is often necessary with Q lookups
@ -139,7 +139,7 @@ class Student(models.Model):
student = models.OneToOneField(User, on_delete=models.CASCADE) student = models.OneToOneField(User, on_delete=models.CASCADE)
# id_number = models.CharField(max_length=20, unique=True, blank=True) # id_number = models.CharField(max_length=20, unique=True, blank=True)
level = models.CharField(max_length=25, choices=LEVEL, null=True) level = models.CharField(max_length=25, choices=LEVEL, null=True)
department = models.ForeignKey(Program, on_delete=models.CASCADE, null=True) program = models.ForeignKey(Program, on_delete=models.CASCADE, null=True)
objects = StudentManager() objects = StudentManager()

View File

@ -468,7 +468,7 @@ def course_registration(request):
courses = ( courses = (
Course.objects.filter( Course.objects.filter(
program__pk=student.department.id, program__pk=student.program.id,
level=student.level, level=student.level,
semester=current_semester, semester=current_semester,
) )
@ -476,7 +476,7 @@ def course_registration(request):
.order_by("year") .order_by("year")
) )
all_courses = Course.objects.filter( all_courses = Course.objects.filter(
level=student.level, program__pk=student.department.id level=student.level, program__pk=student.program.id
) )
no_course_is_registered = False # Check if no course is registered no_course_is_registered = False # Check if no course is registered
@ -550,7 +550,7 @@ def user_course_list(request):
student__student__id=student.student.id student__student__id=student.student.id
) )
courses = Course.objects.filter(level=student.level).filter( courses = Course.objects.filter(level=student.level).filter(
program__pk=student.department.id program__pk=student.program.id
) )
return render( return render(

View File

@ -115,10 +115,10 @@ def add_score_for(request, id):
student = TakenCourse.objects.get(id=ids[s]) student = TakenCourse.objects.get(id=ids[s])
# print(student) # print(student)
# print(student.student) # print(student.student)
# print(student.student.department.id) # print(student.student.program.id)
courses = ( courses = (
Course.objects.filter(level=student.student.level) Course.objects.filter(level=student.student.level)
.filter(program__pk=student.student.department.id) .filter(program__pk=student.student.program.id)
.filter(semester=current_semester) .filter(semester=current_semester)
) # all courses of a specific level in current semester ) # all courses of a specific level in current semester
total_credit_in_semester = 0 total_credit_in_semester = 0
@ -474,7 +474,7 @@ def course_registration_form(request):
normal.fontName = "Helvetica" normal.fontName = "Helvetica"
normal.fontSize = 12 normal.fontSize = 12
normal.leading = 18 normal.leading = 18
title = "<b>EZOD UNIVERSITY OF TECHNOLOGY, ADAMA</b>" title = "<b>EZOD UNIVERSITY OF TECHNOLOGY, ADAMA</b>" # TODO: Make this dynamic
title = Paragraph(title.upper(), normal) title = Paragraph(title.upper(), normal)
Story.append(title) Story.append(title)
style = getSampleStyleSheet() style = getSampleStyleSheet()
@ -484,7 +484,9 @@ def course_registration_form(request):
school.fontName = "Helvetica" school.fontName = "Helvetica"
school.fontSize = 10 school.fontSize = 10
school.leading = 18 school.leading = 18
school_title = "<b>SCHOOL OF ELECTRICAL ENGINEERING & COMPUTING</b>" school_title = (
"<b>SCHOOL OF ELECTRICAL ENGINEERING & COMPUTING</b>" # TODO: Make this dynamic
)
school_title = Paragraph(school_title.upper(), school) school_title = Paragraph(school_title.upper(), school)
Story.append(school_title) Story.append(school_title)
@ -495,7 +497,9 @@ def course_registration_form(request):
department.fontName = "Helvetica" department.fontName = "Helvetica"
department.fontSize = 9 department.fontSize = 9
department.leading = 18 department.leading = 18
department_title = "<b>DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING</b>" department_title = (
"<b>DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING</b>" # TODO: Make this dynamic
)
department_title = Paragraph(department_title, department) department_title = Paragraph(department_title, department)
Story.append(department_title) Story.append(department_title)
Story.append(Spacer(1, 0.3 * inch)) Story.append(Spacer(1, 0.3 * inch))

View File

@ -92,8 +92,8 @@
<p class="form-title">Others</p> <p class="form-title">Others</p>
<div class="p-3"> <div class="p-3">
<div class="form-group"> <div class="form-group">
<b>{{ form.department.label }}</b>{{ form.department }} <b>{{ form.program.label }}</b>{{ form.program }}
<span class="danger">{{ form.department.errors }}</span> <span class="danger">{{ form.program.errors }}</span>
</div> </div>
<div class="form-group"> <div class="form-group">
<b>{{ form.level.label }}</b>{{ form.level }} <b>{{ form.level.label }}</b>{{ form.level }}

View File

@ -80,7 +80,7 @@
<p class="title-info"><i class="fas fa-graduation-cap"></i>Applicant Info</p> <p class="title-info"><i class="fas fa-graduation-cap"></i>Applicant Info</p>
<div class="dashboard-description"> <div class="dashboard-description">
<p><strong>School: </strong>{{ student.get_student_school }}</p> <p><strong>School: </strong>{{ student.get_student_school }}</p>
<p><strong>Department: </strong>{{ student.department }}</p> <p><strong>Program: </strong>{{ student.program }}</p>
<p><strong>Level: </strong>{{ student.level }}</p> <p><strong>Level: </strong>{{ student.level }}</p>
</div> </div>
{% endif %} {% endif %}

View File

@ -54,7 +54,7 @@
<th> ID No. </th> <th> ID No. </th>
<th> Full Name </th> <th> Full Name </th>
<th> Email </th> <th> Email </th>
<th> Department </th> <th> Program </th>
{% if request.user.is_superuser %} {% if request.user.is_superuser %}
<th> Action </th> <th> Action </th>
{% endif %} {% endif %}
@ -67,7 +67,7 @@
<td>{{ student.student.username }} </td> <td>{{ student.student.username }} </td>
<td><a href="{% url 'profile_single' student.student.id %}">{{ student.student.get_full_name }}</a></td> <td><a href="{% url 'profile_single' student.student.id %}">{{ student.student.get_full_name }}</a></td>
<td>{{ student.student.email }} </td> <td>{{ student.student.email }} </td>
<td>{{ student.department }}</td> <td>{{ student.program }}</td>
{% if request.user.is_superuser %} {% if request.user.is_superuser %}
<td> <td>

View File

@ -7,10 +7,10 @@
<div id="input-nav"><a href="{% url 'home' %}" class="primary1">Home</a> My Courses</div> <div id="input-nav"><a href="{% url 'home' %}" class="primary1">Home</a> My Courses</div>
{% if request.user.is_student %} {% if request.user.is_student %}
<div class="title-1">{{ student.department.title }}</div> <div class="title-1">{{ student.program.title }}</div>
<div class="title-line"></div> <div class="title-line"></div>
{% if student.department.summary %} {% if student.program.summary %}
<p class="program-description">{{ student.department.summary }}</p> <p class="program-description">{{ student.program.summary }}</p>
{% endif %} {% endif %}
{% endif %} {% endif %}

View File

@ -58,8 +58,8 @@
{{ form.level }} {{ form.level }}
</div> </div>
<div class="mb-3"> <div class="mb-3">
<label for="department_id" class="form-label">{{ form.department.label }}</label> <label for="program_id" class="form-label">{{ form.program.label }}</label>
{{ form.department }} {{ form.program }}
</div> </div>
</div> </div>
</div> </div>