-
Notifications
You must be signed in to change notification settings - Fork 0
/
ticket_view
167 lines (167 loc) · 8.02 KB
/
ticket_view
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<section class="fw-sticky fw-searchbar-wrapper">
<div class="container">
<div class="row align-items-center py-8">
<div class="col-md-6">
{% element 'secondary_nav' %}
{
"breadcrumbs": [{ "label":"{{ 'portal_translations.header.tabs.home' | t }}", "url":"{{portal.home_url}}" },
{ "label":"{{ 'portal_translations.header.tabs.tickets' | t }}", "url":"{{portal.tickets_home_url}}" },
{ "label":"#{{ticket.id}}", "url": "{{ticket.url}}"}]
}
{% endelement %}
</div>
<div class="col-md-4 ms-auto">
{{ portal | search_element }}
</div>
</div>
</div>
</section>
<section class="container-fluid px-0 fw-page-title-wrapper">
<div class="container">
<div class="py-24 py-lg-60 mx-0 fw-search-meta-info g-0">
<div class="fw-icon-holder pe-8">
<span class="icon-{{ ticket.source_id | ticket_source_icon }}-ticket"></span>
</div>
<div class="text-start">
<h1 class="fw-page-title">{{ ticket.subject }} #{{ ticket.id }}</h1>
<p>{{ 'portal_translations.created_on' | t}} {{ ticket.created_on | short_day_with_time }} - {{'portal_translations.via' | t}} {{ticket.source_name}}</p>
</div>
</div>
</div>
</section>
<section class="container-fluid pt-32 pb-60">
<div class="container px-0">
{{ page_message }}
<div class="row mx-0 g-0 bg-dark fw-wrapper-shadow">
<div class="col-lg-9 fw-content-wrapper mb-16 mb-lg-0">
<div class="fw-comments-wrapper line-numbers px-16 px-md-24 py-16">
<div class="row fw-satisfaction-rating">
<div class="col-12">
{% if ticket.closed? %}
<div class="fw-closed-info border rounded d-flex align-items-center mb-12">
<span class="icon-info"></span>
<div class="fw-closed-msg ms-8 ps-8">
{{ticket.status}} | {{ ticket.status_changed_on | time_ago_info }}
{% element 'link' %}
{
"id": "link-reply-ticket",
"url": "#fw-add-note-form",
"class": "fw-reply-ticket",
"content": "{{ 'portal_translations.tickets.reply.reply' | t}}"
}
{% endelement %}
</div>
</div>
{% endif %}
{% snippet ticket_survey %}
</div>
</div>
<div class="row meta-info flex-column-reverse flex-md-row">
<div class="col-md-7">
{% if ticket.outbound_email? %}
{{ ticket.outbound_initiator | ticket_profile_avatar }}
<span class="semi-bold">{{ ticket.outbound_initiator.name }}</span>
<span>{{ 'portal_translations.tickets.reported' | t }} {{ ticket.created_on | time_ago_info }}</span>
{{ ticket.status_id | ticket_status: ticket.requester_status_name }}
{% else %}
{{ ticket.requester | ticket_profile_avatar }}
<span class="semi-bold">{{ ticket.requester.name }}</span>
<span>{{ 'portal_translations.tickets.reported' | t }} {{ ticket.created_on | time_ago_info }}</span>
{{ ticket.status_id | ticket_status: ticket.requester_status_name }}
{{ ticket | ticket_cc_email: 'cc-emails-wrapper ps-lg-46' }}
{% endif %}
</div>
{% if portal.user %}
{% unless ticket.closed? %}
<div class="col-md-5 text-md-end mt-12 mt-md-0">
{% element 'link' %}
{
"id": "link-reply-ticket",
"url": "#fw-add-note-form",
"class": "btn fw-primary-button p-8 mb-8 mb-md-0 me-4 semi-bold fw-reply-ticket",
"content": "{{ 'portal_translations.tickets.reply.reply' | t }}"
}
{% endelement %}
{% element 'button' %}
{
"id": "btn-add-people",
"class": "fw-secondary-button p-8 mb-8 mb-md-0 me-4 semi-bold",
"content": "{{ 'portal_translations.tickets.add_people' | t }}",
"other_attributes": [{ "key": "data-bs-toggle", "value": "modal" },
{ "key": "data-bs-target", "value": "#addPeopleModal" }]
}
{% endelement %}
{% element 'button' %}
{
"id": "btn-close-ticket",
"class": "fw-secondary-button p-8 mb-8 mb-md-0 me-4 semi-bold fw-close-ticket",
"content": "{{ 'portal_translations.tickets.close_issue' | t }}",
"other_attributes": [{ "key": "data-href", "value": "{{ ticket.close_ticket_url }}" }]
}
{% endelement %}
</div>
{% endunless %}
{% endif %}
</div>
<div class="ps-lg-46 pt-16 pe-lg-64">
<div>
{{ ticket.description_html }}
</div>
{{ ticket | attachments }}
</div>
<div class="fw-comments mt-8">
{% if ticket.public_comments.size > 1 %}
<div class="fw-comments-meta row align-items-center">
<div class="offset-md-6 col-md-6 mt-12 mt-md-0">
<div class="d-flex align-items-center justify-content-end fw-sortby-dropdown">
{{ 'portal_translations.sorted_by' | t }}{{ ticket | ticket_reply_sort }}
</div>
</div>
</div>
{% endif %}
<div class="fw-comments-list mt-16">
{% for comment in ticket.public_comments %}
{% if comment.survey %}
{{ comment | ticket_reply_survey }}
{% else %}
<div class="fw-comment-item mb-16 mx-0 d-flex">
<div class="px-0">
{{ comment | profile_avatar }}
</div>
<div class="bg-grey-500-600 p-12 br-6 w-100">
<p class="author-info">
<span class="semi-bold">{{ comment.user.name }}</span>
<span>{{ 'portal_translations.tickets.said' | t }} {{ comment.created_on | time_ago_info }}</span>
</p>
{{ comment | ticket_cc_email: 'cc-emails-wrapper' }}
<div class="pt-12">
{{ comment.description }}
</div>
{{ comment | attachments }}
</div>
</div>
{% endif %}
{% endfor %}
<div class="fw-comment-item mb-16 mx-0 d-flex">
<div class="px-0 fw-reply-avatar {% if ticket.closed? %}closed-ticket d-none{% endif %}">
{{ portal | profile_avatar }}
</div>
<div class="fw-comment-editor">
{% unless ticket.closed? %}
<input type="text" class="form-control fw-reply-ticket fw-ticket-reply-editor" aria-label="comment" placeholder="{{ 'portal_translations.tickets.add_comment' | t }}" data-proxy-for="fw-add-note-form"/>
{% endunless %}
<div id="fw-add-note-form" class="d-none">
{% snippet ticket_reply %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% snippet ticket_details %}
</div>
</div>
</section>
{% snippet ticket_add_people %}
{% element 'code_insert' %}{}{% endelement %}