Skip to content

Commit dffcb2b

Browse files
committed
Merge branch 'bonnerCheckmarkProfile' of https://github.com/BCStudentSoftwareDevTeam/celts into bonnerCheckmarkProfile
2 parents c3de4af + b6eba3b commit dffcb2b

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

app/logic/certification.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,36 @@ def termsInTotal(username):
6262
break
6363
return totalTerms
6464

65-
65+
def termsInTotal(username):
66+
"""
67+
Returns a list of Fall + Spring semesters a student has attended, like ["Fall 2023", "Spring 2024"]
68+
"""
69+
user = User.select().where(User.username == username).get()
70+
currentTerm = g.current_term
71+
studentStanding = user.rawClassLevel
72+
currentTermIsFall = currentTerm.description.startswith("Fall")
73+
fallAndSpringTerms = []
74+
75+
classLevelToYears = {"Freshman": 1, "Sophomore": 2, "Junior": 3, "Senior": 4}
76+
yearsCompleted = classLevelToYears.get(studentStanding)
77+
78+
if currentTerm.isSummer or currentTermIsFall:
79+
studentStartYear = currentTerm.year - yearsCompleted + 1
80+
totalTermsList = (yearsCompleted) * 2 - 1
81+
else: # Spring
82+
studentStartYear = currentTerm.year - yearsCompleted
83+
totalTermsList = (yearsCompleted) * 2
84+
85+
for i in range(totalTermsList):
86+
if i % 2 == 0: # Fall
87+
semester = "Fall"
88+
year = studentStartYear + i // 2
89+
else: # Spring
90+
semester = "Spring"
91+
year = studentStartYear + i // 2 + 1
92+
fallAndSpringTerms.append(f"{semester} {year}")
93+
94+
return fallAndSpringTerms
6695

6796
def getCertRequirementsWithCompletion(*, certification, username):
6897
"""

0 commit comments

Comments
 (0)