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
« 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
6from core.managers import AccessControlManager
7class Note(models.Model):
8 """
9 Note model class
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)
19 created_at = models.DateTimeField(auto_now_add=True)
20 objects = AccessControlManager()
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
31 def set_saved_date(self):
32 self.savedDate = timezone.now()
33 self.save()