Add status to task order table

This commit is contained in:
Patrick Smith 2019-01-10 14:02:08 -05:00
parent 27eb15fc2d
commit dda6db8562
3 changed files with 45 additions and 2 deletions

View File

@ -0,0 +1,31 @@
"""Add status enum to task_order
Revision ID: 3d346b5c8f19
Revises: 71cbe76c3b87
Create Date: 2019-01-10 13:55:58.934890
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '3d346b5c8f19'
down_revision = '71cbe76c3b87'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('task_orders', sa.Column('status', sa.Enum('PENDING', name='status', native_enum=False), nullable=True))
# ### end Alembic commands ###
conn = op.get_bind()
conn.execute("UPDATE task_orders set status = 'PENDING'")
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('task_orders', 'status')
# ### end Alembic commands ###

View File

@ -1,10 +1,16 @@
from sqlalchemy import Column, Numeric, String, ForeignKey, Date
from enum import Enum
from sqlalchemy import Column, Enum as SQLAEnum, Numeric, String, ForeignKey, Date
from sqlalchemy.types import ARRAY
from sqlalchemy.orm import relationship
from atst.models import Base, types, mixins
class Status(Enum):
PENDING = "pending"
class TaskOrder(Base, mixins.TimestampsMixin):
__tablename__ = "task_orders"
@ -27,6 +33,8 @@ class TaskOrder(Base, mixins.TimestampsMixin):
so_id = Column(ForeignKey("users.id"))
security_officer = relationship("User", foreign_keys="TaskOrder.so_id")
status = Column(SQLAEnum(Status, native_enum=False, default=Status.PENDING))
scope = Column(String) # Cloud Project Scope
defense_component = Column(String) # Department of Defense Component
app_migration = Column(String) # App Migration
@ -67,6 +75,10 @@ class TaskOrder(Base, mixins.TimestampsMixin):
def portfolio_name(self):
return self.workspace.name
@property
def is_pending(self):
return self.status == Status.PENDING
def to_dictionary(self):
return {
"portfolio_name": self.portfolio_name,

View File

@ -67,7 +67,7 @@
<div class="panel task-order-heading row">
<div class="task-order-heading__name row">
<h2>New Task Order</h2>
<span class="label label--warning">Pending</span>
<span class="label label--{{ 'warning' if task_order.is_pending }}">{{ task_order.status.value }}</span>
</div>
<div class="task_order-heading__details row">
<div class="task-order-heading__value col">