{% extends "base.html" %} {% block title %}{% if ticket %}#{{ ticket.id }} - {{ ticket.title }}{% else %}Ticket Not Found{% endif %} - Fastband{% endblock %} {% block content %} {% if ticket %}
{{ ticket.status.display_name }} {{ ticket.priority.display_name }} {{ ticket.ticket_type.display_name }}

#{{ ticket.id }} {{ ticket.title }}

Created: {{ ticket.created_at|datetime }}
Updated: {{ ticket.updated_at|relative_time }}
Description
{% if ticket.description %}
{{ ticket.description|e|replace('\n', '
')|safe }}
{% else %}

No description provided.

{% endif %}
{% if ticket.requirements %}
Requirements
    {% for req in ticket.requirements %}
  • {{ req }}
  • {% endfor %}
{% endif %} {% if ticket.problem_summary or ticket.solution_summary %}
Work Summary
{% if ticket.problem_summary %}
Problem

{{ ticket.problem_summary }}

{% endif %} {% if ticket.solution_summary %}
Solution

{{ ticket.solution_summary }}

{% endif %} {% if ticket.testing_notes %}
Testing Notes

{{ ticket.testing_notes }}

{% endif %}
{% endif %} {% if ticket.before_screenshot or ticket.after_screenshot %}
Screenshots
{% if ticket.before_screenshot %}
Before
{{ ticket.before_screenshot }}
{% endif %} {% if ticket.after_screenshot %}
After
{{ ticket.after_screenshot }}
{% endif %}
{% endif %} {% if ticket.notes %}
Notes
{{ ticket.notes|e|replace('\n', '
')|safe }}
{% endif %} {% if ticket.resolution %}
Resolution
{{ ticket.resolution|e|replace('\n', '
')|safe }}
{% endif %} {% if ticket.comments %}
Comments ({{ ticket.comments|length }})
{% for comment in ticket.comments %}
{{ comment.author[0]|upper if comment.author else '?' }} {{ comment.author or 'Unknown' }} {% if comment.comment_type != 'comment' %} {{ comment.comment_type }} {% endif %} {% if comment.review_result %} {{ comment.review_result }} {% endif %}
{{ comment.created_at|relative_time }}
{{ comment.content|e|replace('\n', '
')|safe }}
{% endfor %}
{% endif %} {% if ticket.history %}
History
{% for entry in ticket.history|reverse %}
{{ entry.actor or 'System' }} {{ entry.message or entry.action }}
{{ entry.timestamp|relative_time }}
{% if entry.field_changed %}
{{ entry.field_changed }}: {{ entry.old_value or 'none' }} {{ entry.new_value or 'none' }}
{% endif %}
{% endfor %}
{% endif %}
Details
{% if ticket.app %} {% endif %} {% if ticket.review_status %} {% endif %}
Status {{ ticket.status.display_name }}
Priority {{ ticket.priority.display_name }}
Type {{ ticket.ticket_type.display_name }}
Assignee {% if ticket.assigned_to %} {{ ticket.assigned_to[0]|upper }} {{ ticket.assigned_to }} {% else %} Unassigned {% endif %}
Created by {{ ticket.created_by or 'Unknown' }}
Application {{ ticket.app }}{% if ticket.app_version %} v{{ ticket.app_version }}{% endif %}
Review {{ ticket.review_status }}
Timestamps
{% if ticket.started_at %} {% endif %} {% if ticket.completed_at %} {% endif %} {% if ticket.due_date %} {% endif %}
Created {{ ticket.created_at|datetime }}
Updated {{ ticket.updated_at|datetime }}
Started {{ ticket.started_at|datetime }}
Completed {{ ticket.completed_at|datetime }}
Due {{ ticket.due_date|datetime('%Y-%m-%d') }}
{% if ticket.labels %}
Labels
{% for label in ticket.labels %} {{ label }} {% endfor %}
{% endif %} {% if ticket.files_to_modify or ticket.files_modified %}
Files
{% if ticket.files_modified %}
Modified
    {% for file in ticket.files_modified %}
  • {{ file }}
  • {% endfor %}
{% endif %} {% if ticket.files_to_modify %}
Planned
    {% for file in ticket.files_to_modify %}
  • {{ file }}
  • {% endfor %}
{% endif %}
{% endif %} {% if related_tickets or ticket.blocked_by or ticket.blocks %}
Related
{% if ticket.blocked_by %}
Blocked By
    {% for id in ticket.blocked_by %}
  • #{{ id }}
  • {% endfor %}
{% endif %} {% if ticket.blocks %}
Blocks
{% endif %} {% if related_tickets %}
Related
{% endif %}
{% endif %} {% if ticket.reviewers %}
Reviewers
{% for reviewer in ticket.reviewers %}
{{ reviewer[0]|upper }} {{ reviewer }}
{% endfor %}
{% endif %}
{% else %}

Ticket Not Found

{{ error or 'The requested ticket could not be found.' }}

Back to Tickets
{% endif %} {% endblock %}