Coverage for backend/core/auxiliary/models/Note.py: 76%

21 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-11-06 23:27 +0000

1from django.db import models 

2from django.utils import timezone 

3from flowsheetInternals.unitops.models.SimulationObject import SimulationObject 

4from django_bleach.models import BleachField 

5 

6from core.managers import AccessControlManager 

7class Note(models.Model): 

8 """ 

9 Note model class 

10 

11 each simulation object can have multiple notes 

12 """ 

13 flowsheet = models.ForeignKey("Flowsheet", on_delete=models.CASCADE, related_name="Notes") 

14 title = models.CharField(max_length=255) 

15 content = BleachField(max_length=2000) 

16 savedDate = models.DateTimeField(null=True) 

17 simulationObject = models.ForeignKey(SimulationObject, on_delete=models.CASCADE, related_name="notes", null=True) 

18 

19 created_at = models.DateTimeField(auto_now_add=True) 

20 objects = AccessControlManager() 

21 

22 

23 

24 @classmethod 

25 def create(cls, **kwargs): 

26 # override the default create method to set the saved date 

27 saved_date = timezone.now() 

28 instance = Note.objects.create(savedDate=saved_date, **kwargs) 

29 return instance 

30 

31 def set_saved_date(self): 

32 self.savedDate = timezone.now() 

33 self.save()