Add files via upload
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from .extensions import db
|
||||
from datetime import datetime
|
||||
from datetime import datetime, date
|
||||
|
||||
class Project(db.Model):
|
||||
__tablename__ = 'projects'
|
||||
@@ -42,12 +42,22 @@ class Deliverable(db.Model):
|
||||
status = db.Column(db.String(20), nullable=False, default='upcoming')
|
||||
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):
|
||||
return {
|
||||
'id': self.id,
|
||||
'project_id': self.project_id,
|
||||
'title': self.title,
|
||||
'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,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user