Move display logic out of the TaskOrder model and into the template
This commit is contained in:
@@ -97,6 +97,19 @@ def renderAuditEvent(event):
|
||||
return render_template("audit_log/events/default.html", event=event)
|
||||
|
||||
|
||||
def removeHtml(text):
|
||||
html_tags = re.compile("<.*?>")
|
||||
return re.sub(html_tags, "", text)
|
||||
|
||||
|
||||
def normalizeOrder(title):
|
||||
# reorders titles from "Army, Department of the" to "Department of the Army"
|
||||
text = title.split(", ")
|
||||
reordered_text = text[0:-1]
|
||||
reordered_text.insert(0, text[-1])
|
||||
return " ".join(reordered_text)
|
||||
|
||||
|
||||
def register_filters(app):
|
||||
app.jinja_env.filters["iconSvg"] = iconSvg
|
||||
app.jinja_env.filters["dollars"] = dollars
|
||||
@@ -110,6 +123,8 @@ def register_filters(app):
|
||||
app.jinja_env.filters["dateFromString"] = dateFromString
|
||||
app.jinja_env.filters["pageWindow"] = pageWindow
|
||||
app.jinja_env.filters["renderAuditEvent"] = renderAuditEvent
|
||||
app.jinja_env.filters["removeHtml"] = removeHtml
|
||||
app.jinja_env.filters["normalizeOrder"] = normalizeOrder
|
||||
|
||||
@contextfilter
|
||||
def translateWithoutCache(context, *kwargs):
|
||||
|
@@ -4,11 +4,8 @@ import pendulum
|
||||
from sqlalchemy import Column, Numeric, String, ForeignKey, Date, Integer
|
||||
from sqlalchemy.types import ARRAY
|
||||
from sqlalchemy.orm import relationship
|
||||
import re
|
||||
|
||||
from atst.models import Base, types, mixins
|
||||
from atst.utils.localization import translate
|
||||
from atst.filters import usPhone
|
||||
|
||||
|
||||
class Status(Enum):
|
||||
@@ -105,62 +102,6 @@ class TaskOrder(Base, mixins.TimestampsMixin):
|
||||
def is_pending(self):
|
||||
return self.status == Status.PENDING
|
||||
|
||||
@property
|
||||
def defense_component_description(self):
|
||||
if self.defense_component:
|
||||
return self.normalize_order(self.defense_component)
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def app_migration_description(self):
|
||||
if self.app_migration:
|
||||
text = translate(
|
||||
"forms.task_order.app_migration.{}".format(self.app_migration)
|
||||
)
|
||||
return self.remove_html(text)
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def native_apps_description(self):
|
||||
if self.native_apps:
|
||||
return translate(
|
||||
"task_orders.new.review.{}_native".format(self.native_apps)
|
||||
)
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def team_experience_description(self):
|
||||
if self.team_experience:
|
||||
return translate(
|
||||
"forms.task_order.team_experience.{}".format(self.team_experience)
|
||||
)
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def performance_length_description(self):
|
||||
if self.performance_length:
|
||||
return translate(
|
||||
"forms.task_order.performance_length.{}".format(self.performance_length)
|
||||
)
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def ko_phone(self):
|
||||
return usPhone(self.ko_phone_number)
|
||||
|
||||
@property
|
||||
def cor_phone(self):
|
||||
return usPhone(self.cor_phone_number)
|
||||
|
||||
@property
|
||||
def so_phone(self):
|
||||
return usPhone(self.so_phone_number)
|
||||
|
||||
def to_dictionary(self):
|
||||
return {
|
||||
"portfolio_name": self.portfolio_name,
|
||||
@@ -171,16 +112,6 @@ class TaskOrder(Base, mixins.TimestampsMixin):
|
||||
},
|
||||
}
|
||||
|
||||
def remove_html(self, text):
|
||||
html_tags = re.compile("<.*?>")
|
||||
return re.sub(html_tags, "", text)
|
||||
|
||||
def normalize_order(self, department):
|
||||
text = department.split(", ")
|
||||
reordered_text = text[0:-1]
|
||||
reordered_text.insert(0, text[-1])
|
||||
return " ".join(reordered_text)
|
||||
|
||||
def __repr__(self):
|
||||
return "<TaskOrder(number='{}', budget='{}', end_date='{}', id='{}')>".format(
|
||||
self.number, self.budget, self.end_date, self.id
|
||||
|
Reference in New Issue
Block a user