Coverage for app/logic/landingPage.py: 97%

29 statements  

« prev     ^ index     » next       coverage.py v7.2.5, created at 2023-05-24 14:13 +0000

1import os 

2from flask import g 

3from app.models.programManager import ProgramManager 

4from app.models.program import Program 

5 

6 

7def getManagerProgramDict(user): 

8 if user.isAdmin or user.isBonnerScholar: 

9 programs = Program.select() 

10 else: 

11 programs = Program.select().where(Program.isBonnerScholars == False) 

12 managerRows = list(ProgramManager.select()) 

13 managerProgramDict = {} 

14 

15 for program in programs: 

16 managerProgramDict[program] = {"managers": "", "image": os.path.join('static', 'images/logos/celts_symbol.png')} 

17 with os.scandir("./app/static/images/landingPage") as it: 

18 for entry in it: 

19 if entry.name.split('.')[0] == f'{program.programName}': 

20 managerProgramDict[program]["image"] = os.path.join('static', f'images/landingPage/{entry.name}') 

21 break 

22 for row in managerRows: 

23 if managerProgramDict[row.program]["managers"] == "": 

24 managerProgramDict[row.program]["managers"] = f'{row.user.firstName} {row.user.lastName}' 

25 else: 

26 managerProgramDict[row.program]["managers"] = f'{managerProgramDict[row.program]["managers"]}, {row.user.firstName} {row.user.lastName}' 

27 return managerProgramDict 

28 

29def getActiveEventTab(programID): 

30 program = Program.get_by_id(programID) 

31 if program.isBonnerScholars: 

32 return "bonnerScholarsEvents" 

33 elif program.isStudentLed: 

34 return "studentLedEvents" 

35 else: 

36 return "otherEvents"