Coverage for app/models/program.py: 71%

28 statements  

« prev     ^ index     » next       coverage.py v7.10.2, created at 2025-08-22 19:51 +0000

1from app.models import* 

2from app.models.term import Term 

3from app.models.courseStatus import CourseStatus 

4 

5class Program(baseModel): 

6 programName = CharField() 

7 instagramUrl = TextField(null=True) 

8 facebookUrl = TextField(null=True) 

9 bereaUrl = TextField(null=True) 

10 programDescription = TextField() 

11 partner = CharField(null=True) 

12 isStudentLed = BooleanField(default=False) 

13 isBonnerScholars = BooleanField(default=False) 

14 isOtherCeltsSponsored = BooleanField(default=False) 

15 contactName = CharField(null=True,default='') 

16 contactEmail = CharField(null=True,default='') 

17 defaultLocation = CharField(null=True,default='') 

18 

19 @property 

20 def url(self): 

21 if self.bereaUrl: 

22 return self.bereaUrl 

23 if self.instagramUrl: 

24 return self.instagramUrl 

25 if self.facebookUrl: 

26 return self.facebookUrl 

27 return None # Explicitly return None if nothing else is available 

28 @property 

29 def description(self): 

30 return self.programDescription 

31 

32 

33