Add files via upload

This commit is contained in:
jasonMPM
2026-03-05 16:58:36 -06:00
committed by GitHub
parent 352aba0ecf
commit 9b7751a5cc

View File

@@ -1,5 +1,5 @@
from .extensions import db from .extensions import db
from datetime import datetime from datetime import datetime, date
class Project(db.Model): class Project(db.Model):
__tablename__ = 'projects' __tablename__ = 'projects'
@@ -42,12 +42,22 @@ class Deliverable(db.Model):
status = db.Column(db.String(20), nullable=False, default='upcoming') status = db.Column(db.String(20), nullable=False, default='upcoming')
created_at = db.Column(db.DateTime, default=datetime.utcnow) created_at = db.Column(db.DateTime, default=datetime.utcnow)
def effective_status(self):
"""
Returns 'overdue' if the due date has passed and the deliverable
has not been marked completed. Completed deliverables are never
auto-downgraded regardless of date.
"""
if self.status != 'completed' and self.due_date < date.today():
return 'overdue'
return self.status
def to_dict(self): def to_dict(self):
return { return {
'id': self.id, 'id': self.id,
'project_id': self.project_id, 'project_id': self.project_id,
'title': self.title, 'title': self.title,
'due_date': self.due_date.isoformat() if self.due_date else None, 'due_date': self.due_date.isoformat() if self.due_date else None,
'status': self.status, 'status': self.effective_status(),
'created_at': self.created_at.isoformat() if self.created_at else None, 'created_at': self.created_at.isoformat() if self.created_at else None,
} }