Coverage for app/models/program.py: 70%
27 statements
« prev ^ index » next coverage.py v7.10.2, created at 2025-12-18 20:14 +0000
« prev ^ index » next coverage.py v7.10.2, created at 2025-12-18 20:14 +0000
1from app.models import*
2from app.models.term import Term
3from app.models.courseStatus import CourseStatus
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 isBonnerScholars = BooleanField(default=False)
13 isOtherCeltsSponsored = BooleanField(default=False)
14 contactName = CharField(null=True,default='')
15 contactEmail = CharField(null=True,default='')
16 defaultLocation = CharField(null=True,default='')
18 @property
19 def url(self):
20 if self.bereaUrl:
21 return self.bereaUrl
22 if self.instagramUrl:
23 return self.instagramUrl
24 if self.facebookUrl:
25 return self.facebookUrl
26 return None # Explicitly return None if nothing else is available
27 @property
28 def description(self):
29 return self.programDescription