Coverage for website/events/models/external_event.py: 100.00%

15 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django.db import models 

2from django.utils.translation import gettext_lazy as _ 

3 

4from events.models import EVENT_CATEGORIES 

5 

6 

7class ExternalEvent(models.Model): 

8 """Model describing an external event.""" 

9 

10 organiser = models.CharField(max_length=255) 

11 

12 category = models.CharField( 

13 max_length=40, 

14 choices=EVENT_CATEGORIES, 

15 verbose_name=_("category"), 

16 help_text=_( 

17 "Alumni: Events organised for alumni, " 

18 "Education: Education focused events, " 

19 "Career: Career focused events, " 

20 "Leisure: borrels, parties, game activities etc., " 

21 "Association Affairs: general meetings or " 

22 "any other board related events, " 

23 "Other: anything else." 

24 ), 

25 ) 

26 

27 title = models.CharField(_("title"), max_length=100) 

28 

29 description = models.TextField(_("description")) 

30 

31 location = models.CharField( 

32 _("location"), 

33 max_length=255, 

34 ) 

35 

36 start = models.DateTimeField(_("start time")) 

37 

38 end = models.DateTimeField(_("end time")) 

39 

40 url = models.URLField(_("website")) 

41 

42 published = models.BooleanField(_("published"), default=False) 

43 

44 def __str__(self): 

45 """Return the event title.""" 

46 return str(self.title)