diff --git a/src/dispatch/case/models.py b/src/dispatch/case/models.py
index 7405bd194282..f227d8f6430d 100644
--- a/src/dispatch/case/models.py
+++ b/src/dispatch/case/models.py
@@ -230,6 +230,7 @@ class SignalInstanceRead(DispatchBase):
class ProjectRead(DispatchBase):
id: Optional[PrimaryKey]
name: NameStr
+ display_name: Optional[str]
color: Optional[str]
allow_self_join: Optional[bool] = Field(True, nullable=True)
diff --git a/src/dispatch/database/revisions/tenant/versions/2024-12-12_2d9e4d392ea4.py b/src/dispatch/database/revisions/tenant/versions/2024-12-12_2d9e4d392ea4.py
new file mode 100644
index 000000000000..01c33a2ed21e
--- /dev/null
+++ b/src/dispatch/database/revisions/tenant/versions/2024-12-12_2d9e4d392ea4.py
@@ -0,0 +1,35 @@
+"""Adding display name to the projct model
+
+Revision ID: 2d9e4d392ea4
+Revises: 575ca7d954a8
+Create Date: 2024-12-12 16:34:58.098426
+
+"""
+
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = "2d9e4d392ea4"
+down_revision = "575ca7d954a8"
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.add_column(
+ "project", sa.Column("display_name", sa.String(), server_default="", nullable=False)
+ )
+
+ # Copy data from 'name' column to 'display_name' column
+ op.execute("UPDATE project SET display_name = name")
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.drop_column("project", "display_name")
+ # ### end Alembic commands ###
diff --git a/src/dispatch/incident/models.py b/src/dispatch/incident/models.py
index d5e727d6ecd6..4094ee820550 100644
--- a/src/dispatch/incident/models.py
+++ b/src/dispatch/incident/models.py
@@ -242,6 +242,7 @@ class ProjectRead(DispatchBase):
color: Optional[str]
stable_priority: Optional[IncidentPriorityRead] = None
allow_self_join: Optional[bool] = Field(True, nullable=True)
+ display_name: Optional[str] = Field(None, nullable=True)
class CaseRead(DispatchBase):
diff --git a/src/dispatch/incident/priority/models.py b/src/dispatch/incident/priority/models.py
index 4920201e7281..da088f6993d2 100644
--- a/src/dispatch/incident/priority/models.py
+++ b/src/dispatch/incident/priority/models.py
@@ -38,6 +38,7 @@ class IncidentPriority(Base, ProjectMixin):
class ProjectRead(DispatchBase):
id: Optional[PrimaryKey]
name: NameStr
+ display_name: Optional[str]
# Pydantic models...
diff --git a/src/dispatch/plugins/dispatch_slack/case/interactive.py b/src/dispatch/plugins/dispatch_slack/case/interactive.py
index 5343a4b51b8c..6708b06ca037 100644
--- a/src/dispatch/plugins/dispatch_slack/case/interactive.py
+++ b/src/dispatch/plugins/dispatch_slack/case/interactive.py
@@ -184,7 +184,7 @@ def handle_escalate_case_command(
default_title = case.name
default_description = case.description
- default_project = {"text": case.project.name, "value": case.project.id}
+ default_project = {"text": case.project.display_name, "value": case.project.id}
blocks = [
Context(elements=[MarkdownText(text="Accept the defaults or adjust as needed.")]),
@@ -1303,7 +1303,7 @@ def escalate_button_click(
description_input(initial_value=case.description),
project_select(
db_session=db_session,
- initial_option={"text": case.project.name, "value": case.project.id},
+ initial_option={"text": case.project.display_name, "value": case.project.id},
action_id=CaseEscalateActions.project_select,
dispatch_action=True,
),
@@ -1358,7 +1358,7 @@ def handle_project_select_action(
description_input(),
project_select(
db_session=db_session,
- initial_option={"text": project.name, "value": project.id},
+ initial_option={"text": project.display_name, "value": project.id},
action_id=CaseEscalateActions.project_select,
dispatch_action=True,
),
@@ -2138,7 +2138,7 @@ def handle_report_project_select_action(
description_input(),
project_select(
db_session=db_session,
- initial_option={"text": project.name, "value": project.id},
+ initial_option={"text": project.display_name, "value": project.id},
action_id=CaseReportActions.project_select,
dispatch_action=True,
),
@@ -2243,7 +2243,7 @@ def handle_report_case_type_select_action(
description_input(),
project_select(
db_session=db_session,
- initial_option={"text": project.name, "value": project.id},
+ initial_option={"text": project.display_name, "value": project.id},
action_id=CaseReportActions.project_select,
dispatch_action=True,
),
diff --git a/src/dispatch/plugins/dispatch_slack/fields.py b/src/dispatch/plugins/dispatch_slack/fields.py
index 2c4541db4c12..2dc9c956c542 100644
--- a/src/dispatch/plugins/dispatch_slack/fields.py
+++ b/src/dispatch/plugins/dispatch_slack/fields.py
@@ -301,7 +301,7 @@ def project_select(
):
"""Creates a project select."""
projects = [
- {"text": p.name, "value": p.id}
+ {"text": p.display_name, "value": p.id}
for p in project_service.get_all(db_session=db_session)
if p.enabled
]
diff --git a/src/dispatch/plugins/dispatch_slack/incident/interactive.py b/src/dispatch/plugins/dispatch_slack/incident/interactive.py
index a27253e04600..33068ffda671 100644
--- a/src/dispatch/plugins/dispatch_slack/incident/interactive.py
+++ b/src/dispatch/plugins/dispatch_slack/incident/interactive.py
@@ -309,7 +309,7 @@ def handle_update_incident_project_select_action(
incident_status_select(initial_option={"text": incident.status, "value": incident.status}),
project_select(
db_session=db_session,
- initial_option={"text": project.name, "value": project.id},
+ initial_option={"text": project.display_name, "value": project.id},
action_id=IncidentUpdateActions.project_select,
dispatch_action=True,
),
@@ -2114,20 +2114,8 @@ def handle_update_incident_command(
description_input(initial_value=incident.description),
resolution_input(initial_value=incident.resolution),
incident_status_select(initial_option={"text": incident.status, "value": incident.status}),
- project_select(
- db_session=db_session,
- initial_option={"text": incident.project.name, "value": incident.project.id},
- action_id=IncidentUpdateActions.project_select,
- dispatch_action=True,
- ),
- incident_type_select(
- db_session=db_session,
- initial_option={
- "text": incident.incident_type.name,
- "value": incident.incident_type.id,
- },
- project_id=incident.project.id,
- ),
+ Section(text=f"*Project*: {incident.project.display_name}"),
+ Context(elements=[MarkdownText(text="Project is read-only")]),
incident_severity_select(
db_session=db_session,
initial_option={
diff --git a/src/dispatch/project/models.py b/src/dispatch/project/models.py
index b6620c8a7fe0..d7d974d3848a 100644
--- a/src/dispatch/project/models.py
+++ b/src/dispatch/project/models.py
@@ -40,6 +40,8 @@ class Project(Base):
cascade="all, delete-orphan",
)
+ display_name = Column(String, nullable=False, server_default="")
+
enabled = Column(Boolean, default=True, server_default="t")
allow_self_join = Column(Boolean, default=True, server_default="t")
@@ -82,6 +84,7 @@ def slug(self):
class ProjectBase(DispatchBase):
id: Optional[PrimaryKey]
name: NameStr
+ display_name: Optional[str] = Field("", nullable=False)
owner_email: Optional[EmailStr] = Field(None, nullable=True)
owner_conversation: Optional[str] = Field(None, nullable=True)
annual_employee_cost: Optional[int]
diff --git a/src/dispatch/static/dispatch/src/case/CaseSummaryTable.vue b/src/dispatch/static/dispatch/src/case/CaseSummaryTable.vue
index e6a186679bca..d0a780ba702b 100644
--- a/src/dispatch/static/dispatch/src/case/CaseSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/case/CaseSummaryTable.vue
@@ -6,7 +6,7 @@
-
+
{{ value }}
@@ -55,7 +55,7 @@ export default {
{ title: "Status", key: "status", sortable: false },
{ title: "Type", key: "case_type.name", sortable: false },
{ title: "Priority", key: "case_priority.name", sortable: false, width: "10%" },
- { title: "Project", key: "project.name", sortable: false },
+ { title: "Project", key: "project.display_name", sortable: false },
{ title: "Reported At", key: "reported_at", sortable: false },
{ title: "Assignee", key: "assignee.email", sortable: false },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
diff --git a/src/dispatch/static/dispatch/src/case/ReportReceiptCard.vue b/src/dispatch/static/dispatch/src/case/ReportReceiptCard.vue
index e08b6fb82e12..34bc89f11ed1 100644
--- a/src/dispatch/static/dispatch/src/case/ReportReceiptCard.vue
+++ b/src/dispatch/static/dispatch/src/case/ReportReceiptCard.vue
@@ -40,7 +40,7 @@
Project
- {{ project.name }}
+ {{ project.display_name }}
diff --git a/src/dispatch/static/dispatch/src/case/Table.vue b/src/dispatch/static/dispatch/src/case/Table.vue
index 3485aeb1f0d9..52ab6ff29fb8 100644
--- a/src/dispatch/static/dispatch/src/case/Table.vue
+++ b/src/dispatch/static/dispatch/src/case/Table.vue
@@ -79,9 +79,9 @@
:dedicatedChannel="item.dedicated_channel"
/>
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -228,7 +228,7 @@ function loadHeaders() {
{ title: "Type", value: "case_type.name", sortable: true },
{ title: "Severity", value: "case_severity.name", sortable: true },
{ title: "Priority", value: "case_priority.name", sortable: true },
- { title: "Project", value: "project.name", sortable: true },
+ { title: "Project", value: "project.display_name", sortable: true },
{ title: "Assignee", value: "assignee", sortable: false },
{ title: "Cost", key: "case_costs", sortable: false, experimental_features: true },
{ title: "Reported At", value: "reported_at", sortable: true },
diff --git a/src/dispatch/static/dispatch/src/case/priority/CasePriorityCombobox.vue b/src/dispatch/static/dispatch/src/case/priority/CasePriorityCombobox.vue
index 6b17c25e0bb2..2da677f866d7 100644
--- a/src/dispatch/static/dispatch/src/case/priority/CasePriorityCombobox.vue
+++ b/src/dispatch/static/dispatch/src/case/priority/CasePriorityCombobox.vue
@@ -25,13 +25,13 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
- {{ data.item.raw.project.name }}/{{ data.item.raw.name }}
+ {{ data.item.raw.project.display_name }}/{{ data.item.raw.name }}
{{ data.item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/case/severity/CaseSeverityCombobox.vue b/src/dispatch/static/dispatch/src/case/severity/CaseSeverityCombobox.vue
index eca0133bf9d2..78daeef429b1 100644
--- a/src/dispatch/static/dispatch/src/case/severity/CaseSeverityCombobox.vue
+++ b/src/dispatch/static/dispatch/src/case/severity/CaseSeverityCombobox.vue
@@ -25,13 +25,13 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
- {{ data.item.raw.project.name }}/{{ data.item.raw.name }}
+ {{ data.item.raw.project.display_name }}/{{ data.item.raw.name }}
{{ data.item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/case/type/CaseTypeCombobox.vue b/src/dispatch/static/dispatch/src/case/type/CaseTypeCombobox.vue
index eafd0859c1c3..09ef99672932 100644
--- a/src/dispatch/static/dispatch/src/case/type/CaseTypeCombobox.vue
+++ b/src/dispatch/static/dispatch/src/case/type/CaseTypeCombobox.vue
@@ -25,13 +25,13 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
- {{ data.item.raw.project.name }}/{{ data.item.raw.name }}
+ {{ data.item.raw.project.display_name }}/{{ data.item.raw.name }}
{{ data.item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/dashboard/incident/IncidentDrillDownTable.vue b/src/dispatch/static/dispatch/src/dashboard/incident/IncidentDrillDownTable.vue
index b26636d2c31f..d9c1cfa1d925 100644
--- a/src/dispatch/static/dispatch/src/dashboard/incident/IncidentDrillDownTable.vue
+++ b/src/dispatch/static/dispatch/src/dashboard/incident/IncidentDrillDownTable.vue
@@ -13,7 +13,7 @@
-
+
{{ value }}
@@ -45,7 +45,7 @@ export default {
headers: [
{ title: "Name", key: "name", align: "left", width: "10%" },
{ title: "Title", key: "title", sortable: false },
- { title: "Project", key: "project.name", sortable: true },
+ { title: "Project", key: "project.display_name", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
}
diff --git a/src/dispatch/static/dispatch/src/data/query/QuerySummaryTable.vue b/src/dispatch/static/dispatch/src/data/query/QuerySummaryTable.vue
index aed408507eb2..e9f27444acb8 100644
--- a/src/dispatch/static/dispatch/src/data/query/QuerySummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/data/query/QuerySummaryTable.vue
@@ -1,6 +1,6 @@
-
+
{{ value }}
@@ -29,7 +29,7 @@ export default {
return {
headers: [
{ title: "Name", key: "name", sortable: true },
- { title: "Project", key: "project.name", sortable: false },
+ { title: "Project", key: "project.display_name", sortable: false },
{ title: "Description", key: "description", sortable: false },
{ title: "Language", key: "language", sortable: true },
{
diff --git a/src/dispatch/static/dispatch/src/data/query/Table.vue b/src/dispatch/static/dispatch/src/data/query/Table.vue
index 9059d50d0358..29a916ea511b 100644
--- a/src/dispatch/static/dispatch/src/data/query/Table.vue
+++ b/src/dispatch/static/dispatch/src/data/query/Table.vue
@@ -35,9 +35,9 @@
:loading="loading"
loading-text="Loading... Please wait"
>
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -86,7 +86,7 @@ export default {
return {
headers: [
{ title: "Name", value: "name", sortable: true },
- { title: "Project", value: "project.name", sortable: false },
+ { title: "Project", value: "project.display_name", sortable: false },
{ title: "Description", value: "description", sortable: false },
{ title: "Language", value: "language", sortable: true },
{
diff --git a/src/dispatch/static/dispatch/src/data/source/SourceSummaryTable.vue b/src/dispatch/static/dispatch/src/data/source/SourceSummaryTable.vue
index 494ee2c8fb7d..dbb89b257527 100644
--- a/src/dispatch/static/dispatch/src/data/source/SourceSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/data/source/SourceSummaryTable.vue
@@ -10,7 +10,7 @@
{{ value }}
-
+
{{ value }}
@@ -67,7 +67,7 @@ export default {
return {
headers: [
{ title: "Name", key: "name", sortable: true },
- { title: "Project", key: "project.name", sortable: false },
+ { title: "Project", key: "project.display_name", sortable: false },
{ title: "Environment", key: "source_environment.name", sortable: true },
{ title: "Owner", key: "owner" },
{ title: "Status", key: "source_status", sortable: true },
diff --git a/src/dispatch/static/dispatch/src/data/source/Table.vue b/src/dispatch/static/dispatch/src/data/source/Table.vue
index 645a1e78010e..e554076870e9 100644
--- a/src/dispatch/static/dispatch/src/data/source/Table.vue
+++ b/src/dispatch/static/dispatch/src/data/source/Table.vue
@@ -45,9 +45,9 @@
{{ item.name }}
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -120,7 +120,7 @@ export default {
return {
headers: [
{ title: "Name", value: "name", sortable: true },
- { title: "Project", value: "project.name", sortable: false },
+ { title: "Project", value: "project.display_name", sortable: false },
{ title: "Environment", value: "source_environment.name", sortable: true },
{ title: "Owner", value: "owner" },
{ title: "Status", value: "source_status", sortable: true },
diff --git a/src/dispatch/static/dispatch/src/document/DocumentSummaryTable.vue b/src/dispatch/static/dispatch/src/document/DocumentSummaryTable.vue
index 89264207f54c..a4fcaef6aa1d 100644
--- a/src/dispatch/static/dispatch/src/document/DocumentSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/document/DocumentSummaryTable.vue
@@ -6,7 +6,7 @@
mdi-open-in-new
-
+
{{ value }}
@@ -39,7 +39,7 @@ export default {
headers: [
{ title: "Name", key: "name", sortable: false },
{ title: "Description", key: "description", sortable: false },
- { title: "Project", key: "project.name", sortable: true },
+ { title: "Project", key: "project.display_name", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
}
diff --git a/src/dispatch/static/dispatch/src/feedback/incident/Table.vue b/src/dispatch/static/dispatch/src/feedback/incident/Table.vue
index d6b4184a063c..172ef9bec3d7 100644
--- a/src/dispatch/static/dispatch/src/feedback/incident/Table.vue
+++ b/src/dispatch/static/dispatch/src/feedback/incident/Table.vue
@@ -44,9 +44,9 @@
{{ formatDate(item.created_at) }}
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -110,7 +110,7 @@ export default {
{ title: "Participant", value: "participant", sortable: true },
{ title: "Rating", value: "rating", sortable: true },
{ title: "Feedback", value: "feedback", sortable: true },
- { title: "Project", value: "project.name", sortable: false },
+ { title: "Project", value: "project.display_name", sortable: false },
{ title: "Created At", value: "created_at", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
diff --git a/src/dispatch/static/dispatch/src/feedback/service/Table.vue b/src/dispatch/static/dispatch/src/feedback/service/Table.vue
index 557f8e52a205..5daf3df7391b 100644
--- a/src/dispatch/static/dispatch/src/feedback/service/Table.vue
+++ b/src/dispatch/static/dispatch/src/feedback/service/Table.vue
@@ -65,9 +65,9 @@
Participants: {{ item.details[0].num_participants }}
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -125,7 +125,7 @@ export default {
{ title: "Feedback", value: "feedback", sortable: true },
{ title: "Details", value: "details", sortable: true },
{ title: "Service", value: "service", sortable: false },
- { title: "Project", value: "project.name", sortable: false },
+ { title: "Project", value: "project.display_name", sortable: false },
{ title: "Created At", value: "created_at", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
diff --git a/src/dispatch/static/dispatch/src/forms/table/Table.vue b/src/dispatch/static/dispatch/src/forms/table/Table.vue
index bb42276a0d7a..50e6b4bd24da 100644
--- a/src/dispatch/static/dispatch/src/forms/table/Table.vue
+++ b/src/dispatch/static/dispatch/src/forms/table/Table.vue
@@ -59,7 +59,7 @@
- {{ item.project.name }}
+ {{ item.project.display_name }}
diff --git a/src/dispatch/static/dispatch/src/incident/IncidentSummaryTable.vue b/src/dispatch/static/dispatch/src/incident/IncidentSummaryTable.vue
index 4dbbf869c940..be58863c90e6 100644
--- a/src/dispatch/static/dispatch/src/incident/IncidentSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/incident/IncidentSummaryTable.vue
@@ -12,7 +12,7 @@
-
+
{{ value }}
@@ -64,7 +64,7 @@ export default {
{ title: "Status", key: "status" },
{ title: "Type", key: "incident_type.name" },
{ title: "Priority", key: "incident_priority.name", width: "10%" },
- { title: "Project", key: "project.name", sortable: true },
+ { title: "Project", key: "project.display_name", sortable: true },
{ title: "Commander", key: "commander", sortable: false },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
diff --git a/src/dispatch/static/dispatch/src/incident/ReportReceiptCard.vue b/src/dispatch/static/dispatch/src/incident/ReportReceiptCard.vue
index 3bca2bb9ed9c..b29c8fc31acd 100644
--- a/src/dispatch/static/dispatch/src/incident/ReportReceiptCard.vue
+++ b/src/dispatch/static/dispatch/src/incident/ReportReceiptCard.vue
@@ -32,7 +32,7 @@
Project
- {{ project.name }}
+ {{ project.display_name }}
diff --git a/src/dispatch/static/dispatch/src/incident/Table.vue b/src/dispatch/static/dispatch/src/incident/Table.vue
index 090e93c7b273..b2764da8d981 100644
--- a/src/dispatch/static/dispatch/src/incident/Table.vue
+++ b/src/dispatch/static/dispatch/src/incident/Table.vue
@@ -60,7 +60,7 @@
return-object
@click:row="showIncidentEditSheet"
>
-
+
{{ value }}
@@ -192,7 +192,7 @@ export default {
{ title: "Type", key: "incident_type.name" },
{ title: "Severity", key: "incident_severity.name", width: "10%" },
{ title: "Priority", key: "incident_priority.name", width: "10%" },
- { title: "Project", key: "project.name", sortable: true },
+ { title: "Project", key: "project.display_name", sortable: true },
{ title: "Commander", key: "commander", sortable: false },
{ title: "Cost", key: "incident_costs", sortable: false },
{ title: "Reported At", key: "reported_at" },
diff --git a/src/dispatch/static/dispatch/src/incident/priority/IncidentPriorityCombobox.vue b/src/dispatch/static/dispatch/src/incident/priority/IncidentPriorityCombobox.vue
index eea5ff507232..3ae69bcdc315 100644
--- a/src/dispatch/static/dispatch/src/incident/priority/IncidentPriorityCombobox.vue
+++ b/src/dispatch/static/dispatch/src/incident/priority/IncidentPriorityCombobox.vue
@@ -25,13 +25,13 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
{{ item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/incident/severity/IncidentSeverityCombobox.vue b/src/dispatch/static/dispatch/src/incident/severity/IncidentSeverityCombobox.vue
index fa5c6adc3eff..a76cf7c6ab59 100644
--- a/src/dispatch/static/dispatch/src/incident/severity/IncidentSeverityCombobox.vue
+++ b/src/dispatch/static/dispatch/src/incident/severity/IncidentSeverityCombobox.vue
@@ -25,13 +25,13 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
{{ item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/incident/type/IncidentTypeCombobox.vue b/src/dispatch/static/dispatch/src/incident/type/IncidentTypeCombobox.vue
index defb51c76764..dd307d1d3268 100644
--- a/src/dispatch/static/dispatch/src/incident/type/IncidentTypeCombobox.vue
+++ b/src/dispatch/static/dispatch/src/incident/type/IncidentTypeCombobox.vue
@@ -28,7 +28,7 @@
- {{ item.raw.project.name }}/
+ {{ item.raw.project.display_name }}/
{{ item.raw.name }}
@@ -37,7 +37,7 @@
- {{ item.raw.project.name }}/
+ {{ item.raw.project.display_name }}/
{{ item.raw.name }}
diff --git a/src/dispatch/static/dispatch/src/incident/type/IncidentTypeSelect.vue b/src/dispatch/static/dispatch/src/incident/type/IncidentTypeSelect.vue
index 02109d3aca31..ed6806187d9c 100644
--- a/src/dispatch/static/dispatch/src/incident/type/IncidentTypeSelect.vue
+++ b/src/dispatch/static/dispatch/src/incident/type/IncidentTypeSelect.vue
@@ -12,7 +12,7 @@
- {{ item.raw.project.name }}/{{ item.raw.name }}
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
{{ item.raw.name }}
diff --git a/src/dispatch/static/dispatch/src/project/NewEditSheet.vue b/src/dispatch/static/dispatch/src/project/NewEditSheet.vue
index 650d93ee4af2..33ffcb963cc6 100644
--- a/src/dispatch/static/dispatch/src/project/NewEditSheet.vue
+++ b/src/dispatch/static/dispatch/src/project/NewEditSheet.vue
@@ -34,11 +34,22 @@
+
+
+
@@ -225,6 +236,7 @@ export default {
"selected.business_year_hours",
"selected.color",
"selected.description",
+ "selected.display_name",
"selected.id",
"selected.loading",
"selected.name",
diff --git a/src/dispatch/static/dispatch/src/project/ProjectCombobox.vue b/src/dispatch/static/dispatch/src/project/ProjectCombobox.vue
index 2179d8cc1022..ab2a7d0b2225 100644
--- a/src/dispatch/static/dispatch/src/project/ProjectCombobox.vue
+++ b/src/dispatch/static/dispatch/src/project/ProjectCombobox.vue
@@ -10,7 +10,7 @@
closable-chips
hide-selected
:hide-no-data="!search"
- item-title="name"
+ item-title="display_name"
item-value="id"
multiple
no-filter
@@ -108,7 +108,7 @@ export default {
let filterOptions = {
q: this.search,
itemsPerPage: this.numItems,
- sortBy: ["name"],
+ sortBy: ["display_name"],
descending: [false],
}
diff --git a/src/dispatch/static/dispatch/src/project/ProjectSelect.vue b/src/dispatch/static/dispatch/src/project/ProjectSelect.vue
index 16bdb52ceb6d..dcbafb1361bd 100644
--- a/src/dispatch/static/dispatch/src/project/ProjectSelect.vue
+++ b/src/dispatch/static/dispatch/src/project/ProjectSelect.vue
@@ -4,7 +4,7 @@
:label="label"
:loading="loading"
:menu-props="{ maxHeight: '400' }"
- item-title="name"
+ item-title="display_name"
item-value="id"
v-model="project"
return-object
@@ -19,7 +19,7 @@
- {{ data.item.raw.name }}
+ {{ data.item.raw.display_name }}
{{ data.item.raw.description }}
@@ -96,7 +96,7 @@ export default {
let filterOptions = {
q: "",
itemsPerPage: this.numItems,
- sortBy: ["name"],
+ sortBy: ["display_name"],
descending: [false],
}
diff --git a/src/dispatch/static/dispatch/src/project/Table.vue b/src/dispatch/static/dispatch/src/project/Table.vue
index a5856e4ee126..8c7e9fee4927 100644
--- a/src/dispatch/static/dispatch/src/project/Table.vue
+++ b/src/dispatch/static/dispatch/src/project/Table.vue
@@ -84,7 +84,8 @@ export default {
data() {
return {
headers: [
- { title: "Name", value: "name", sortable: true },
+ { title: "Key", value: "name", sortable: true },
+ { title: "Display Name", value: "display_name", sortable: true },
{ title: "Description", value: "description", sortable: false },
{ title: "Annual Employee Cost", value: "annual_employee_cost", sortable: false },
{ title: "Business Year Hours", value: "business_year_hours", sortable: false },
diff --git a/src/dispatch/static/dispatch/src/signal/Table.vue b/src/dispatch/static/dispatch/src/signal/Table.vue
index 6e9fad4cac41..dc65ad395e70 100644
--- a/src/dispatch/static/dispatch/src/signal/Table.vue
+++ b/src/dispatch/static/dispatch/src/signal/Table.vue
@@ -50,9 +50,9 @@
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
diff --git a/src/dispatch/static/dispatch/src/signal/TableInstance.vue b/src/dispatch/static/dispatch/src/signal/TableInstance.vue
index a002968d289c..78f5ff401e6e 100644
--- a/src/dispatch/static/dispatch/src/signal/TableInstance.vue
+++ b/src/dispatch/static/dispatch/src/signal/TableInstance.vue
@@ -41,7 +41,7 @@
-
+
{{ value }}
@@ -109,7 +109,7 @@ export default {
{ title: "Case", value: "case", sortable: false },
{ title: "Signal Definition", value: "signal", sortable: false },
{ title: "Filter Action", value: "filter_action", sortable: true },
- { title: "Project", value: "signal.project.name", sortable: true },
+ { title: "Project", value: "signal.project.display_name", sortable: true },
{ title: "Created At", value: "created_at" },
{ title: "", value: "data-table-actions", sortable: false, align: "end" },
],
diff --git a/src/dispatch/static/dispatch/src/tag/TagFilterAutoComplete.vue b/src/dispatch/static/dispatch/src/tag/TagFilterAutoComplete.vue
index 24e7a9073003..96fdbf235603 100644
--- a/src/dispatch/static/dispatch/src/tag/TagFilterAutoComplete.vue
+++ b/src/dispatch/static/dispatch/src/tag/TagFilterAutoComplete.vue
@@ -27,7 +27,8 @@
- {{ item.raw.project.name }}/{{ item.raw.tag_type.name }}/
+ {{ item.raw.project.display_name }}/{{ item.raw.tag_type.name }}/
{{ item.raw.name }}
@@ -37,9 +38,8 @@
- {{ item.raw.project.name }}/{{ item.raw.tag_type.name }}/{{
- item.raw.name
- }}
+ {{ item.raw.project.display_name }}/{{ item.raw.tag_type.name }}/{{ item.raw.name }}
{{ item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/tag/TagSummaryTable.vue b/src/dispatch/static/dispatch/src/tag/TagSummaryTable.vue
index d6e8ceb823a4..7077fdc50cf2 100644
--- a/src/dispatch/static/dispatch/src/tag/TagSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/tag/TagSummaryTable.vue
@@ -4,7 +4,7 @@
-
+
{{ value }}
@@ -45,7 +45,7 @@ export default {
{ title: "Description", value: "description", sortable: false },
{ title: "Type", value: "tag_type.name", sortable: true },
{ title: "Source", value: "source", sortable: true },
- { title: "Project", value: "project.name", sortable: true },
+ { title: "Project", value: "project.display_name", sortable: true },
{ title: "Discoverable", value: "discoverable", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
diff --git a/src/dispatch/static/dispatch/src/tag_type/TagTypeFilterCombobox.vue b/src/dispatch/static/dispatch/src/tag_type/TagTypeFilterCombobox.vue
index b31f33826174..fff65168c1e8 100644
--- a/src/dispatch/static/dispatch/src/tag_type/TagTypeFilterCombobox.vue
+++ b/src/dispatch/static/dispatch/src/tag_type/TagTypeFilterCombobox.vue
@@ -27,12 +27,15 @@
- {{ item.raw.project.name }}/ {{ item.raw.name }}
+ {{ item.raw.project.display_name }}/ {{ item.raw.name }}
- {{ item.raw.project.name }}/{{ item.raw.name }}
+
+ {{ item.raw.project.display_name }}/{{ item.raw.name }}
+
{{ item.raw.description }}
diff --git a/src/dispatch/static/dispatch/src/task/Table.vue b/src/dispatch/static/dispatch/src/task/Table.vue
index ac943ea1791a..a4703b64beb0 100644
--- a/src/dispatch/static/dispatch/src/task/Table.vue
+++ b/src/dispatch/static/dispatch/src/task/Table.vue
@@ -45,9 +45,9 @@
{{ item.description }}
-
+
- {{ item.project.name }}
+ {{ item.project.display_name }}
@@ -160,7 +160,7 @@ export default {
{ title: "Assignee", value: "assignees", sortable: false },
{ title: "Description", value: "description", sortable: false },
{ title: "Source", value: "source", sortable: true },
- { title: "Project", value: "project.name", sortable: false },
+ { title: "Project", value: "project.display_name", sortable: false },
{ title: "Due By", value: "resolve_by", sortable: true },
{ title: "Created At", value: "created_at", sortable: true },
{ title: "Resolved At", value: "resolved_at", sortable: true },
diff --git a/src/dispatch/static/dispatch/src/task/TaskSummaryTable.vue b/src/dispatch/static/dispatch/src/task/TaskSummaryTable.vue
index 2d4cad9a5652..ebc95adebbce 100644
--- a/src/dispatch/static/dispatch/src/task/TaskSummaryTable.vue
+++ b/src/dispatch/static/dispatch/src/task/TaskSummaryTable.vue
@@ -6,7 +6,7 @@
{{ value }}
-
+
{{ value }}
@@ -66,7 +66,7 @@ export default {
{ title: "Owner", key: "owner", sortable: false },
{ title: "Assignees", key: "assignees", sortable: false },
{ title: "Description", key: "description", sortable: false },
- { title: "Project", key: "project.name", sortable: true },
+ { title: "Project", key: "project.display_name", sortable: true },
{ title: "", key: "data-table-actions", sortable: false, align: "end" },
],
}