intranet/templates/ticket.html.twig
Audrey Jensen 632199009d init
2023-06-28 15:38:14 +00:00

158 lines
5.7 KiB
Twig

<!DOCTYPE html>
<html>
{{ include('_header.html.twig') }}
<body>
<!-- Navigation -->
<div class="siteNavbar">
<ul class="list-group list-group-horizontal-md">
<h3 class="px-5 navitem"><a class=" list-group-item list-group-item-action text-decoration-none h-100 text-white border-0" onclick="history.back()">
<span class="bi bi-arrow-bar-left"/>
Back
</a>
</h3>
</ul>
</div>
<div class="container">
<div class="row">
<table class="table">
<tr>
<h1>
<small class="text-muted">Ticket #{{ticket.getId()}}</small>
{{ticket.getSummary()}}
</h1>
</tr>
<tr></tr>
</table>
</div>
<div class="row">
<ul
class="list-group col-8">
<!--Ticket Creator -->
<li class="col-12 border border-dark rounded list-group-item list-group-item-primary">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">
{{ticket.getCreatedBy().getFullName() ?? ticket.getCreatedBy().getEmail()}}</h5>
<small>{{ticket.getCreatedAt().format('m-d-y')}}</small>
</div>
<p class="mb-1">{{ticket.getDescription()|nl2br}}</p>
</li>
{% for comment in ticket.getComments() %}
<li class=" border border-dark rounded list-group-item my-1
{# If this comment does not belong to an end user (is sales support) then float right #}
{% if comment.getCreatedBy().getRole() != 'end_user' %}
col-11 list-group-item-warning align-self-end
{% else %}
col-12 list-group-item-primary
{% endif %}">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">
{{comment.getCreatedBy().getFullName() ?? comment.getCreatedBy.getEmail()}}</h5>
<div>
<small>{{comment.getCreatedAt().format('m-d-y')}}:</small>
<small class="text-muted">{{comment.getCreatedAt().format('h:m A')}}</small>
</div>
</div>
<p class="mb-1">{{comment.getBody()|nl2br}}</p>
{% if comment.getAttachmentName() != null %}
<p>Attachment: <a href="{{ asset('TicketAttachments/' ~ portal ~ '/' ~ ticket.getId() ~ '/' ~ comment.getId() ~ '-' ~ comment.getAttachmentName())}}">{{comment.getAttachmentName()}}</a> </p>
{% endif %}
</li>
{% endfor %}
</ul>
<div class="col-4">
<div class="card text-center service-card py-2">
<div class="card-body">
<div class="card-header">
<h4>Status</h4>
</div>
<div class="card-text">
<h5 class="text-capitalize">{{ticket.getStatus()}}</h5>
</div>
</div>
</div>
<div class=" py-2 card text-center service-card">
<div class="card-body">
<div class="card-header">
<h5 class="card-title">Contributors</h5>
</div>
<div class="card-text">
<div class="container-fluid">
<div class="row">
{% for contributor in ticket.getContributors() %}
<div class="col">
<img/>
{% if contributor.getUser().getFirstname == NULL and contributor.getUser().getLastName == NULL %}
<p>{{contributor.getUser().getEmail()}}
{% else %}
<p>{{contributor.getUser().getFirstname()}}<br>{{contributor.getUser().getLastName()}}</p>
{% endif %}
{% if contributor.getUser() == ticket.getCreatedBy() %}
<small class="text-muted">Creator</small>
{% endif %}
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
<div class="card py-2">
<div class="card text-center service-card">
<div class="card-body">
<div class="card-header">
<h5 class="card-title">Ticket Details</h5>
</div>
<div class="card-text">
<div class="container-fluid">
<div class="row">
<p class="col-6 text-start"><strong>Created: </strong>{{ticket.getCreatedAt().format('M d, Y')}}</p>
<p class="col-6 text-start"><strong>Due By: </strong>{{ticket.getDueAt() ? ticket.getDueAt().format('M d, Y') : "N/A"}}</p>
</div>
<div class="row">
<p class="col-6 text-start"><strong>Created By: </strong>{{ticket.getCreatedBy().getFullName()}}</p>
<p class="col-6 text-start"><strong>Assignee: </strong>{{ticket.getAssignedTo() ? ticket.getAssignedTo().getFullName() : "Not Assigned"}}
</div>
<div class="row">
<p class="col text-start"><strong>Category: </strong>{{ticket.getCategory() ?? "Not Specified"}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card text-center service-card">
<div class="card-body">
<div class="card-header">
<h5 class="card-title">Attachments</h5>
</div>
<div class="card-text">
<div class="container">
<div class="row">
{% for comment in ticket.getComments() %}
{% if comment.getAttachmentName() != null %}
<a class="col-4 text-decoration-none" href="{{ asset('TicketAttachments/' ~ portal ~ '/' ~ ticket.getId() ~ '/' ~ comment.getId() ~ '-' ~ comment.getAttachmentName())}}">
<i class="bi bi-file-earmark-pdf-fill icon"></i>
<p class="text-truncate">{{comment.getAttachmentName()}}</p>
</a>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>