Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

from django.core.validators import MinValueValidator 

from django.db import models 

 

from backend_app.models.abstract.module import Module, ModuleSerializer, ModuleViewSet 

from backend_app.models.currency import Currency 

from backend_app.models.file_picture import Picture 

from backend_app.models.university import University 

from backend_app.permissions.moderation import ModerationLevels 

 

 

class UniversityInfo(Module): 

moderation_level = ModerationLevels.DEPENDING_ON_SITE_SETTINGS 

 

university = models.OneToOneField( 

University, 

on_delete=models.PROTECT, 

related_name="university_info", 

primary_key=True, 

null=False, 

) 

 

cost_exchange = models.DecimalField( 

decimal_places=2, max_digits=20, validators=[MinValueValidator(0)], null=True 

) 

cost_double_degree = models.DecimalField( 

decimal_places=2, max_digits=20, validators=[MinValueValidator(0)], null=True 

) 

costs_currency = models.ForeignKey(Currency, on_delete=models.PROTECT, null=True) 

 

cover_photos = models.ManyToManyField(Picture) 

 

 

class UniversityInfoSerializer(ModuleSerializer): 

class Meta: 

model = UniversityInfo 

fields = ModuleSerializer.Meta.fields + ( 

"university", 

"cost_exchange", 

"cost_double_degree", 

"cost_currency", 

"cover_photos", 

) 

 

 

class UniversityInfoViewSet(ModuleViewSet): 

queryset = UniversityInfo.objects.all() # pylint: disable=E1101 

serializer_class = UniversityInfoSerializer 

permission_classes = ModuleViewSet.permission_classes 

end_point_route = "universityInfo"