new workspace and task order routes

This commit is contained in:
dandds
2018-12-13 16:05:44 -05:00
parent 3ca9d51b04
commit 6d92755a7f
24 changed files with 427 additions and 30 deletions

View File

@@ -19,3 +19,4 @@ from .request_review import RequestReview
from .request_internal_comment import RequestInternalComment
from .audit_event import AuditEvent
from .invitation import Invitation
from .task_order import TaskOrder

45
atst/models/task_order.py Normal file
View File

@@ -0,0 +1,45 @@
from sqlalchemy import Column, Integer, String, ForeignKey, Date
from sqlalchemy.orm import relationship
from atst.models import Base, types, mixins
class TaskOrder(Base, mixins.TimestampsMixin):
__tablename__ = "task_orders"
id = types.Id()
number = Column(String, unique=True)
clin_0001 = Column(Integer)
clin_0003 = Column(Integer)
clin_1001 = Column(Integer)
clin_1003 = Column(Integer)
clin_2001 = Column(Integer)
clin_2003 = Column(Integer)
expiration_date = Column(Date)
workspace_id = Column(ForeignKey("workspaces.id"))
workspace = relationship("Workspace")
user_id = Column(ForeignKey("users.id"))
creator = relationship("User")
@property
def budget(self):
return sum(
filter(
None,
[
self.clin_0001,
self.clin_0003,
self.clin_1001,
self.clin_1003,
self.clin_2001,
self.clin_2003,
],
)
)
def __repr__(self):
return "<TaskOrder(number='{}', budget='{}', expiration_date='{}', id='{}')>".format(
self.number, self.budget, self.expiration_date, self.id
)

View File

@@ -13,10 +13,12 @@ class Workspace(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
id = types.Id()
name = Column(String)
request_id = Column(ForeignKey("requests.id"), nullable=False)
request_id = Column(ForeignKey("requests.id"), nullable=True)
projects = relationship("Project", back_populates="workspace")
roles = relationship("WorkspaceRole")
task_orders = relationship("TaskOrder")
@property
def owner(self):
def _is_workspace_owner(workspace_role):