Coverage for backend/django/core/auxiliary/models/Note.py: 100%
22 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +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, AllFlowsheetStatesManager
7class Note(models.Model):
8 """
9 Note model class
11 each simulation object can have multiple notes
12 """
13 flowsheet_state = models.ForeignKey("FlowsheetState", 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()
21 all_states = AllFlowsheetStatesManager()
23 @classmethod
24 def create(cls, **kwargs):
25 # override the default create method to set the saved date
26 saved_date = timezone.now()
27 instance = Note.objects.create(savedDate=saved_date, **kwargs)
28 return instance
30 def set_saved_date(self):
31 self.savedDate = timezone.now()
32 self.save()