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
« 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
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='')
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