232 lines
12 KiB
Plaintext
232 lines
12 KiB
Plaintext
# --
|
|
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
|
|
# --
|
|
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
|
|
# the enclosed file COPYING for license information (GPL). If you
|
|
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
|
|
# --
|
|
<!-- TODO move before the merge the JS in the JS file -->
|
|
## nofilter(TidyAll::Plugin::OTRS::TT::ScriptUsage)
|
|
|
|
<div id="MainBox" class="TicketView ARIARoleMain [% Config("Ticket::Frontend::CustomerTicketOverviewSortable") %] ">
|
|
[% RenderBlockStart("Filled") %]
|
|
<div class="ActionRow">
|
|
<ul class="Filter Tabs">
|
|
[% RenderBlockStart("FilterHeader") %]
|
|
<li>
|
|
<a class="[% Data.ClassA | html %]" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];Filter=[% Data.Filter | uri %];SortBy=[% Data.SortBy | uri %];OrderBy=[% Data.OrderBy | uri %][% Data.CustomerIDs %];">
|
|
[% Translate(Data.Name) | html %] ([% Data.Count | html %])
|
|
</a>
|
|
</li>
|
|
[% RenderBlockEnd("FilterHeader") %]
|
|
[% IF Data.CustomerIDStrg %]
|
|
<li>
|
|
[% Data.CustomerIDStrg %]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
<div class="Tabs Pagination">
|
|
[% Data.SiteNavBar %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
</div>
|
|
<div class="Content">
|
|
<table class="Overview">
|
|
<thead>
|
|
<tr>
|
|
<th class="Ticket [% Data.TicketSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Ticket;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Config("Ticket::Hook") %]
|
|
</a>
|
|
</th>
|
|
<th class="Title [% Data.TitleSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Title;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Translate("Title") | html %]
|
|
</a>
|
|
</th>
|
|
<th class="State [% Data.StateSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=State;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Translate("State") | html %]
|
|
</a>
|
|
</th>
|
|
[% RenderBlockStart("OverviewNavBarPageOwner") %]
|
|
<th class="Owner [% Data.OwnerSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Owner;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Translate("Owner") | html %]
|
|
</a>
|
|
</th>
|
|
[% RenderBlockEnd("OverviewNavBarPageOwner") %]
|
|
[% RenderBlockStart("OverviewNavBarPageQueue") %]
|
|
<th class="Queue [% Data.QueueSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Queue;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Translate("Queue") | html %]
|
|
</a>
|
|
</th>
|
|
[% RenderBlockEnd("OverviewNavBarPageQueue") %]
|
|
[% RenderBlockStart("OverviewNavBarPageDynamicField") %]
|
|
<th class="DynamicField Last [% Data.CSS | html %]">
|
|
[% RenderBlockStart("OverviewNavBarPageDynamicFieldSortable") %]
|
|
<a name="OverviewControl" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=DynamicField_[% Data.DynamicFieldName | uri %];OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">[% Translate(Data.Label) | html %]</a>
|
|
[% RenderBlockEnd("OverviewNavBarPageDynamicFieldSortable") %]
|
|
[% RenderBlockStart("OverviewNavBarPageDynamicFieldNotSortable") %]
|
|
<span>[% Translate(Data.Label) | html %]</span>
|
|
[% RenderBlockEnd("OverviewNavBarPageDynamicFieldNotSortable") %]
|
|
</th>
|
|
[% RenderBlockEnd("OverviewNavBarPageDynamicField") %]
|
|
# example of how to use fixed dynamic field blocks for customizations
|
|
# Note: Field1 and Field2 are the names of the fields and had to be replaced with the actual
|
|
# field names
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field1") %]
|
|
# <th class="DynamicField Last [% Data.CSS | html %]">
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field1_Sortable") %]
|
|
# <a name="OverviewControl" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=DynamicField_[% Data.DynamicFieldName | uri %];OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">[% Translate(Data.Label) | html %]</a>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field1_Sortable") %]
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field1_NotSortable") %]
|
|
# <span>[% Translate(Data.Label) | html %]</span>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field1_NotSortable") %]
|
|
# </th>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field1") %]
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field2") %]
|
|
# <th class="DynamicField Last [% Data.CSS | html %]">
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field2_Sortable") %]
|
|
# <a name="OverviewControl" href="[% Env("Baselink") %]Action=[% Env("Action") %];[% Data.LinkSort %];SortBy=DynamicField_[% Data.DynamicFieldName | uri %];OrderBy=[% Data.OrderBy | uri %]">[% Translate(Data.Label) | html %]</a>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field2_Sortable") %]
|
|
#[% RenderBlockStart("OverviewNavBarPageDynamicField_Field2_NotSortable") %]
|
|
# <span>[% Translate(Data.Label) | html %]</span>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field2_NotSortable") %]
|
|
# </th>
|
|
#[% RenderBlockEnd("OverviewNavBarPageDynamicField_Field2") %]
|
|
<th class="Age [% Data.AgeSort | uri %]">
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];SortBy=Age;OrderBy=[% Data.OrderBy | uri %];Filter=[% Data.Filter | uri %]">
|
|
[% Translate("Age") | html %]
|
|
</a>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% RenderBlockStart("Record") %]
|
|
<tr class="MasterAction">
|
|
<td class="Ticket">
|
|
<a href="[% Env("Baselink") %]Action=CustomerTicketZoom;TicketNumber=[% Data.TicketNumber | uri %]" class="MasterActionLink">[% Data.TicketNumber | html %]</a>
|
|
</td>
|
|
<td class="Title">
|
|
<div>
|
|
<h2>[% Data.Subject | truncate(60) | html %]</h2>
|
|
- [% Data.Body | truncate(200) | html %]
|
|
</div>
|
|
</td>
|
|
<td class="Status">[% Translate(Data.State) | html %]</td>
|
|
[% RenderBlockStart("RecordOwner") %]
|
|
<td class="Owner">[% Data.OwnerName | html %]</td>
|
|
[% RenderBlockEnd("RecordOwner") %]
|
|
[% RenderBlockStart("RecordQueue") %]
|
|
<td class="Queue" title="[% Data.Queue | html %]">[% Data.Queue | truncate(20) | html %]</td>
|
|
[% RenderBlockEnd("RecordQueue") %]
|
|
[% RenderBlockStart("RecordDynamicField") %]
|
|
<td>
|
|
<div title="[% Data.Title | html %]">
|
|
[% RenderBlockStart("RecordDynamicFieldLink") %]
|
|
<a href="[% Data.Link | Interpolate %]" class="DynamicFieldLink">[% Data.Value %]</a>
|
|
[% RenderBlockEnd("RecordDynamicFieldLink") %]
|
|
[% RenderBlockStart("RecordDynamicFieldPlain") %]
|
|
[% Data.Value %]
|
|
[% RenderBlockEnd("RecordDynamicFieldPlain") %]
|
|
</div>
|
|
</td>
|
|
[% RenderBlockEnd("RecordDynamicField") %]
|
|
# example of how to use fixed dynamic field blocks for customizations
|
|
# Note: Field1 and Field2 are the names of the fields and had to be replaced with the actual
|
|
# field names
|
|
#[% RenderBlockStart("RecordDynamicField_Field1") %]
|
|
# <td>
|
|
# <div title="[% Data.Title | html %]">
|
|
#[% RenderBlockStart("RecordDynamicField1Link") %]
|
|
# <a href="[% Data.Link | Interpolate %]" class="DynamicFieldLink">[% Data.Value %]</a>
|
|
#[% RenderBlockEnd("RecordDynamicField1Link") %]
|
|
#[% RenderBlockStart("RecordDynamicField1Plain") %]
|
|
# [% Data.Value %]
|
|
#[% RenderBlockEnd("RecordDynamicField1Plain") %]
|
|
# </div>
|
|
# </td>
|
|
#[% RenderBlockEnd("RecordDynamicField_Field1") %]
|
|
#[% RenderBlockStart("RecordDynamicField_Field2") %]
|
|
# <td>
|
|
# <div title="[% Data.Title | html %]">
|
|
#[% RenderBlockEnd("RecordDynamicField1Link") %]
|
|
# <a href="[% Data.Link | Interpolate %]" class="DynamicFieldLink">[% Data.Value %]</a>
|
|
#[% RenderBlockEnd("RecordDynamicField1Link") %]
|
|
#[% RenderBlockEnd("RecordDynamicField1Plain") %]
|
|
# [% Data.Value %]
|
|
#[% RenderBlockEnd("RecordDynamicField1Plain") %]
|
|
# </div>
|
|
# </td>
|
|
#[% RenderBlockEnd("RecordDynamicField_Field2") %]
|
|
<td class="Age" title="[% Data.Created | Localize("TimeShort") | html %]">[% Data.CustomerAge | truncate(20) | html %]</td>
|
|
</tr>
|
|
[% RenderBlockEnd("Record") %]
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
[% RenderBlockStart("FilterFooter") %]
|
|
<div id="BottomActionRow" class="ActionRow BigButtons">
|
|
<ul class="Tabs Filter">
|
|
[% RenderBlockStart("FilterFooterItem") %]
|
|
<li class="[% Data.ClassLI | html %]">
|
|
<a class="[% Data.ClassA | html %]" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=[% Env("Subaction") %];Filter=[% Data.Filter | uri %];SortBy=[% Data.SortBy | uri %];OrderBy=[% Data.OrderBy | uri %];">
|
|
[% Translate(Data.Name) | html %] ([% Data.Count | html %])
|
|
</a>
|
|
</li>
|
|
[% RenderBlockEnd("FilterFooterItem") %]
|
|
<li class="Clear"></li>
|
|
</ul>
|
|
<div class="Tabs Pagination">
|
|
[% Data.SiteNavBar %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
</div>
|
|
[% RenderBlockEnd("FilterFooter") %]
|
|
[% WRAPPER JSOnDocumentComplete %]
|
|
<script type="text/javascript">
|
|
$('#CustomerIDs').on('change.CustomerIDs', function (Event) {
|
|
var QueryString = '[% Env("Baselink") %]Action=[% Env("Action") %];[% Data.Link %]';
|
|
|
|
// Include customer selection
|
|
if ($(this).val()) {
|
|
$.each($(this).val(), function (Key, Value) {
|
|
QueryString += 'CustomerIDs=' + encodeURIComponent(Value) + ';';
|
|
})
|
|
}
|
|
|
|
// Redirect
|
|
window.location.href = QueryString;
|
|
|
|
return false;
|
|
});
|
|
</script>
|
|
[% END %]
|
|
[% RenderBlockEnd("Filled") %]
|
|
|
|
[% RenderBlockStart("Empty") %]
|
|
<div class="Placeholder">
|
|
[% RenderBlockStart("EmptyDefault") %]
|
|
<h2>[% Translate("Welcome!") | html %]</h2>
|
|
[% RenderBlockStart("EmptyDefaultButton") %]
|
|
<p>
|
|
[% Translate("Please click the button below to create your first ticket.") | html %]
|
|
</p>
|
|
<a class="Button" href="[% Env("Baselink") %]Action=CustomerTicketMessage">[% Translate("Create your first ticket") | html %]</a>
|
|
[% RenderBlockEnd("EmptyDefaultButton") %]
|
|
[% RenderBlockEnd("EmptyDefault") %]
|
|
[% RenderBlockStart("EmptyCustom") %]
|
|
<h2>[% Translate(Data.Title) | html %]</h2>
|
|
<p>
|
|
[% Translate(Data.Text) | html %]
|
|
</p>
|
|
[% RenderBlockStart("EmptyCustomButton") %]
|
|
<a class="Button" href="[% Env("Baselink") %]Action=CustomerTicketMessage">[% Translate(Data.Button) | html %]</a>
|
|
[% RenderBlockEnd("EmptyCustomButton") %]
|
|
[% RenderBlockEnd("EmptyCustom") %]
|
|
</div>
|
|
[% RenderBlockEnd("Empty") %]
|
|
</div>
|