Add files via upload
This commit is contained in:
@@ -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,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user