819 lines
46 KiB
Plaintext
819 lines
46 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.
|
|
# --
|
|
|
|
[% SET OTRSBusinessLabel = '<strong>OTRS Business Solution</strong>™' %]
|
|
|
|
[% RenderBlockStart("Overview") %]
|
|
<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
|
|
<h1 class="InvisibleText">[% Translate("Ticket Notification Management") | html %]</h1>
|
|
|
|
[% BreadcrumbPath = [
|
|
{
|
|
Name => Translate('Ticket Notification Management'),
|
|
Link => Env("Action"),
|
|
},
|
|
]
|
|
%]
|
|
|
|
[% SWITCH Data.Action %]
|
|
[% CASE 'Add' %]
|
|
[% BreadcrumbPath.push({ Name => Translate("Add Notification"),}) %]
|
|
[% CASE 'Change' %]
|
|
[% USE EditTitle = String(Translate("Edit Notification")) %]
|
|
[% BreadcrumbPath.push({ Name => EditTitle.append( ': ', Data.Name ) }) %]
|
|
[% END %]
|
|
|
|
[% INCLUDE "Breadcrumb.tt" Path = BreadcrumbPath %]
|
|
|
|
<div class="Clear"></div>
|
|
<div class="SidebarColumn">
|
|
[% RenderBlockStart("ActionList") %]
|
|
<div class="WidgetSimple">
|
|
<div class="Header">
|
|
<h2>[% Translate("Actions") | html %]</h2>
|
|
</div>
|
|
<div class="Content">
|
|
<ul class="ActionList">
|
|
[% RenderBlockStart("ActionOverview") %]
|
|
<li>
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %]" class="CallForAction Fullsize Center"><span><i class="fa fa-caret-left"></i>[% Translate("Go to overview") | html %]</span></a>
|
|
</li>
|
|
[% RenderBlockEnd("ActionOverview") %]
|
|
[% RenderBlockStart("ActionAdd") %]
|
|
<li>
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=Add" class="CallForAction Fullsize Center"><span><i class="fa fa-plus-square"></i>[% Translate("Add Notification") | html %]</span></a>
|
|
</li>
|
|
<li>
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=NotificationExport" class="CallForAction Fullsize Center"><span><i class="fa fa-download"></i>[% Translate("Export Notifications") | html %]</span></a>
|
|
</li>
|
|
[% RenderBlockEnd("ActionAdd") %]
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
[% RenderBlockEnd("ActionList") %]
|
|
|
|
[% RenderBlockStart("Filter") %]
|
|
<div class="WidgetSimple">
|
|
<div class="Header">
|
|
<h2><label for="FilterNotifications">[% Translate("Filter for Notifications") | html %]</label></h2>
|
|
</div>
|
|
<div class="Content">
|
|
<input type="text" id="FilterNotifications" class="FilterBox" placeholder="[% Translate("Just start typing to filter...") | html %]" name="FilterNotifications" value="" title="[% Translate("Filter for notifications") | html %]">
|
|
</div>
|
|
</div>
|
|
[% RenderBlockEnd("Filter") %]
|
|
|
|
[% RenderBlockStart("ActionImport") %]
|
|
<div class="WidgetSimple">
|
|
<div class="Header">
|
|
<h2>[% Translate("Configuration Import") | html %]</h2>
|
|
</div>
|
|
<div class="Content">
|
|
<p class="FieldExplanation">
|
|
[% Translate("Here you can upload a configuration file to import Ticket Notifications to your system. The file needs to be in .yml format as exported by the Ticket Notification module.") | html %]
|
|
</p>
|
|
<ul class="ActionList SpacingTop">
|
|
<li>
|
|
<form action="[% Env("CGIHandle") %]" method="post" enctype="multipart/form-data" class="Validate PreventMultipleSubmits">
|
|
<input type="hidden" name="Action" value="[% Env("Action") %]"/>
|
|
<input type="hidden" name="Subaction" value="NotificationImport"/>
|
|
<input type="hidden" name="FormID" value="[% Data.FormID | html %]"/>
|
|
<input name="FileUpload" id="FileUpload" type="file" size="18" class="Fixed W100pc Validate_Required [% Data.FileUploadInvalid | html %]"/>
|
|
<div id="FileUploadError" class="TooltipErrorMessage"><p>[% Translate("This field is required.") | html %]</p></div>
|
|
<div id="FileUploadServerError" class="TooltipErrorMessage"><p>[% Translate("This field is required.") | html %]</p></div>
|
|
<fieldset class="Separated">
|
|
<input type="checkbox" id="OverwriteExistingNotifications" name="OverwriteExistingNotifications" value="1" />
|
|
<label for="OverwriteExistingNotifications">[% Translate("Overwrite existing notifications?") | html %]</label>
|
|
</fieldset>
|
|
|
|
<button class="CallForAction Fullsize Center" type="submit" value="[% Translate("Upload Notification configuration") | html %]">
|
|
<span><i class="fa fa-upload"></i>[% Translate("Import Notification configuration") | html %]</span>
|
|
</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
[% RenderBlockEnd("ActionImport") %]
|
|
</div>
|
|
|
|
|
|
<div class="ContentColumn">
|
|
[% RenderBlockStart("OverviewResult") %]
|
|
<div class="WidgetSimple">
|
|
<div class="Header">
|
|
<h2>[% Translate("List") | html %]</h2>
|
|
</div>
|
|
<div class="Content">
|
|
<table class="DataTable" id="Notifications">
|
|
<thead>
|
|
<tr>
|
|
<th class="W20pc">[% Translate("Name") | html %]</th>
|
|
<th>[% Translate("Comment") | html %]</th>
|
|
<th>[% Translate("Validity") | html %]</th>
|
|
<th>[% Translate("Changed") | html %]</th>
|
|
<th>[% Translate("Created") | html %]</th>
|
|
<th class="Center W10pc">[% Translate("Export") | html %]</th>
|
|
<th class="Center W10pc">[% Translate("Copy") | html %]</th>
|
|
<th class="Center W10pc">[% Translate("Delete") | html %]</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% RenderBlockStart("NoDataFoundMsg") %]
|
|
<tr>
|
|
<td colspan="8">
|
|
[% Translate("No data found.") | html %]
|
|
</td>
|
|
</tr>
|
|
[% RenderBlockEnd("NoDataFoundMsg") %]
|
|
[% RenderBlockStart("OverviewResultRow") %]
|
|
<tr [% IF Data.ValidID != 1%]class="Invalid"[% END %]>
|
|
<td><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=Change;ID=[% Data.ID | uri %]">[% Translate(Data.Name) | html %]</a></td>
|
|
<td title="[% Data.Comment | html %]">[% Data.Comment | truncate(26) | html %]</td>
|
|
<td>[% Translate(Data.Valid) | html %]</td>
|
|
<td>[% Data.ChangeTime | Localize("TimeShort") %]</td>
|
|
<td>[% Data.CreateTime | Localize("TimeShort") %]</td>
|
|
<td class="Center"><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=NotificationExport;ID=[% Data.ID | uri %];[% Env("ChallengeTokenParam") | html %]"><i class="fa fa-download"></i><span class="InvisibleText">[% Translate("Export") | html %]</span></a></td>
|
|
<td class="Center"><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=NotificationCopy;ID=[% Data.ID | uri %];[% Env("ChallengeTokenParam") | html %]"><i class="fa fa-copy"></i><span class="InvisibleText">[% Translate("Copy") | html %]</span></a></td>
|
|
<td class="Center">
|
|
<a class="TrashCan NotificationDelete" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=Delete;ID=[% Data.ID | uri %];[% Env("ChallengeTokenParam") | html %]" title="[% Translate("Delete this notification") | html %]">
|
|
<i class="fa fa-trash-o"></i>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
[% RenderBlockEnd("OverviewResultRow") %]
|
|
<tr class="FilterMessage Hidden">
|
|
<td colspan="8">[% Translate("No matches found.") | html %]</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
[% RenderBlockEnd("OverviewResult") %]
|
|
|
|
[% RenderBlockStart("OverviewUpdate") %]
|
|
|
|
<form action="[% Env("CGIHandle") %]" method="post" class="Validate PreventMultipleSubmits" name="compose" id="NotificationEvent">
|
|
<div class="WidgetSimple">
|
|
<div class="Header">
|
|
[% IF Data.Action == 'Add' %]
|
|
<h2>[% Translate("Add Notification") | html %]</h2>
|
|
[% ELSE %]
|
|
<h2>[% Translate("Edit Notification") | html %]</h2>
|
|
[% END %]
|
|
</div>
|
|
<div class="Content">
|
|
|
|
<input type="hidden" name="Action" value="[% Env("Action") %]"/>
|
|
<input type="hidden" name="Subaction" value="[% Data.Action | uri %]Action"/>
|
|
<input type="hidden" name="ID" value="[% Data.ID | html %]"/>
|
|
[% IF Data.Action == 'Change' %]
|
|
<input type="hidden" name="ContinueAfterSave" id="ContinueAfterSave" value=""/>
|
|
[% END %]
|
|
<fieldset class="TableLike">
|
|
|
|
<label for="Name" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Name") | html %]:
|
|
</label>
|
|
<div class="Field">
|
|
<input type="text" name="Name" id="Name" value="[% Data.Name | html %]" class="W50pc Validate_Required [% Data.NameServerError %]" maxlength="200"/>
|
|
<div id="NameError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
<div id="NameServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="Comment">[% Translate("Comment") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="text" name="Comment" id="Comment" value="[% Data.Comment | html %]" class="W50pc" maxlength="250"/>
|
|
</div>
|
|
|
|
<label for="VisibleForAgent">[% Translate("Show in agent preferences") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.VisibleForAgentStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="VisibleForAgentTooltip">[% Translate("Agent preferences tooltip") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="text" name="VisibleForAgentTooltip" id="VisibleForAgentTooltip" class="W50pc" value="[% Data.VisibleForAgentTooltip | html %]" [% Data.VisibleForAgentTooltipReadonly %]/>
|
|
<p class="FieldExplanation">[% Translate("This message will be shown on the agent preferences screen as a tooltip for this notification.") | html %]</p>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="ValidID">[% Translate("Validity") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ValidOption %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Events") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
|
|
<label for="Events" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Event") | html %]:
|
|
</label>
|
|
<div class="Field">
|
|
[% Data.EventsStrg %]
|
|
<div id="EventsError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
<div id="EventsServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
<p class="FieldExplanation">[% Translate("Here you can choose which events will trigger this notification. An additional ticket filter can be applied below to only send for ticket with certain criteria.") | html %]</p>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop Collapsed">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Ticket Filter") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
|
|
[% RenderBlockStart("OverviewUpdateType") %]
|
|
<label for="TypeID">[% Translate("Type") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.TypesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
[% RenderBlockEnd("OverviewUpdateType") %]
|
|
<label for="StateID">[% Translate("State") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.StatesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="PriorityID">[% Translate("Priority") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.PrioritiesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="QueueID">[% Translate("Queue") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.QueuesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="LockID">[% Translate("Lock") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.LocksStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
[% RenderBlockStart("OverviewUpdateService") %]
|
|
|
|
<label for="ServiceID">[% Translate("Service") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ServicesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="SLAID">[% Translate("SLA") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.SLAsStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
[% RenderBlockEnd("OverviewUpdateService") %]
|
|
|
|
<label for="CustomerID">[% Translate("Customer ID") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="text" name="CustomerID" id="CustomerID" class="W75pc" value="[% Data.CustomerID | html %]"/>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="CustomerUserID">[% Translate("Customer User ID") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="text" name="CustomerUserID" id="CustomerUserID" class="W75pc" value="[% Data.CustomerUserID | html %]"/>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
[% RenderBlockStart("DynamicField") %]
|
|
<div class="SpacingTop"></div>
|
|
<label><h4>[% Translate("Dynamic Fields") | html %]</h4></label>
|
|
<div class="Clear"></div>
|
|
<div class="SpacingTop"></div>
|
|
[% RenderBlockStart("DynamicFieldElement") %]
|
|
[% Data.Label %]
|
|
<div class="Field">
|
|
[% Data.Field %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
[% RenderBlockEnd("DynamicFieldElement") %]
|
|
<div class="SpacingTop"></div>
|
|
[% RenderBlockEnd("DynamicField") %]
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop Collapsed">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Article Filter") | html %] <span class="FieldExplanation">([% Translate("Only for ArticleCreate and ArticleSend event") | html %])</span></h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
|
|
<label for="ArticleSenderTypeID">[% Translate("Article sender type") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ArticleSenderTypesStrg %]
|
|
<div id="ArticleSenderTypeIDServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("If ArticleCreate or ArticleSend is used as a trigger event, you need to specify an article filter as well. Please select at least one of the article filter fields.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="ArticleIsVisibleForCustomer">[% Translate("Customer visibility") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ArticleCustomerVisibilityStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="ArticleCommunicationChannelID">[% Translate("Communication channel") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ArticleCommunicationChannelStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="ArticleAttachmentInclude">[% Translate("Include attachments to notification") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.ArticleAttachmentIncludeStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
[% RenderBlockStart("BackendArticleField") %]
|
|
<label for="[% Data.Key %]">[% Translate(Data.Label) | html %]:</label>
|
|
<div class="Field">
|
|
<input type="text" name="[% Data.Key %]" id="[% Data.Key %]" class="W75pc [% Data.Key %]ServerError" value="[% Data.Value | html %]"/>
|
|
<div id="[% Data.Key %]ServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("If ArticleCreate or ArticleSend is used as a trigger event, you need to specify an article filter as well. Please select at least one of the article filter fields.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
[% RenderBlockEnd("BackendArticleField") %]
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Recipients") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
|
|
<label for="Recipients">[% Translate("Send to") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.RecipientsStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="RecipientAgents">[% Translate("Send to these agents") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.RecipientAgentsStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="RecipientGroups">[% Translate("Send to all group members (agents only)") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.RecipientGroupsStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="RecipientRoles">[% Translate("Send to all role members") | html %]: </label>
|
|
<div class="Field">
|
|
[% Data.RecipientRolesStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="SendOnOutOfOffice">[% Translate("Send on out of office") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="checkbox" name="SendOnOutOfOffice" id="SendOnOutOfOffice" value="1" [% Data.SendOnOutOfOfficeChecked %] />
|
|
[% Translate("Also send if the user is currently out of office.") | html %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="OncePerDay">[% Translate("Once per day") | html %]: </label>
|
|
<div class="Field">
|
|
<input type="checkbox" name="OncePerDay" id="OncePerDay" value="1" [% Data.OncePerDayChecked %] />
|
|
[% Translate("Notify user just once per day about a single ticket using a selected transport.") | html %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Notification Methods") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content TransportsContent">
|
|
<fieldset class="TableLike">
|
|
<p class="FieldExplanation">
|
|
[% Translate("These are the possible methods that can be used to send this notification to each of the recipients. Please select at least one method below.") | html %]
|
|
</p>
|
|
</fieldset>
|
|
[% RenderBlockStart("TransportRow") %]
|
|
<fieldset class="TableLike FixedLabel SpacingTop">
|
|
<legend><span>[% Translate(Data.TransportName) | html %]</span></legend>
|
|
[% RenderBlockStart("TransportRowEnabled") %]
|
|
<label for="Transport[% Data.Transport | html %]">
|
|
[% Translate("Enable this notification method") | html %]:
|
|
</label>
|
|
<div class="Field">
|
|
<input type="checkbox" name="Transports" id="Transport[% Data.Transport | html %]" value="[% Data.Transport | html %]" class="Validate_OneChecked [% Data.TransportsServerError | html %]" title="[% Translate("Transport") | html %]: [% Translate(Data.Transport) | html %]" [% Data.TransportChecked %] />
|
|
<div id="Transport[% Data.Transport | html %]Error" class="TooltipErrorMessage">
|
|
<p>[% Translate("At least one method is needed per notification.") | html %]</p>
|
|
</div>
|
|
<div id="Transport[% Data.Transport | html %]ServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("At least one method is needed per notification.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="AgentEnabledByDefault[% Data.Transport | html %]" class="AgentEnabledByDefault">
|
|
[% Translate("Active by default in agent preferences") | html %]:
|
|
</label>
|
|
<div class="Field AgentEnabledByDefault">
|
|
<input type="checkbox" name="AgentEnabledByDefault" id="AgentEnabledByDefault[% Data.Transport | html %]" value="[% Data.Transport | html %]" title="" [% Data.AgentEnabledByDefaultChecked %] />
|
|
<p class="FieldExplanation">[% Translate("This is the default value for assigned recipient agents who didn't make a choice for this notification in their preferences yet. If the box is enabled, the notification will be sent to such agents.") | html %]</p>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
[% Data.SettingsString %]
|
|
[% RenderBlockEnd("TransportRowEnabled") %]
|
|
[% RenderBlockStart("TransportRowDisabled") %]
|
|
<div class="Field">
|
|
<p class="FieldExplanation">
|
|
[% Translate("This feature is currently not available.") | html %]
|
|
</p>
|
|
</div>
|
|
[% RenderBlockEnd("TransportRowDisabled") %]
|
|
[% RenderBlockStart("TransportRowRecommendation") %]
|
|
<div class="Field Info">
|
|
<a href="[% Env("Baselink") %]Action=AdminOTRSBusiness" class="Button"><i class="fa fa-angle-double-up"></i> [% Translate("Upgrade to %s") | html | ReplacePlaceholders(OTRSBusinessLabel) %]</a>
|
|
</div>
|
|
[% RenderBlockEnd("TransportRowRecommendation") %]
|
|
[% RenderBlockStart("TransportRowNotActive") %]
|
|
<div class="Field Info">
|
|
<a href="[% Env("Baselink") %]Action=AdminCloudServices" class="Button"><i class="fa fa-angle-double-up"></i> [% Translate("Please activate this transport in order to use it.") | html %]</a>
|
|
</div>
|
|
[% RenderBlockEnd("TransportRowNotActive") %]
|
|
<div class="Clear"></div>
|
|
</fieldset>
|
|
[% RenderBlockEnd("TransportRow") %]
|
|
[% RenderBlockStart("NoDataFoundMsgTransport") %]
|
|
<fieldset class="TableLike SpacingTop">
|
|
<legend><span>[% Translate("No data found") | html %]</span></legend>
|
|
<p class="FieldExplanation">
|
|
[% Translate("No notification method found.") | html %]
|
|
</p>
|
|
</fieldset>
|
|
[% RenderBlockEnd("NoDataFoundMsgTransport") %]
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Notification Text") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<div class ="NotificationLanguageContainer">
|
|
|
|
[% RenderBlockStart("NotificationLanguage") %]
|
|
<div class="NotificationLanguage">
|
|
<div class="WidgetSimple SpacingTop [% IF !Data.Language %] Collapsed [% END %] ">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2 class="Title">
|
|
[% IF Data.Language %]
|
|
[% Translate(Data.Language) | html %]
|
|
[% ELSE %]
|
|
<span class="Warning">'[% Data.LanguageID | html %]' — [% Translate("This language is not present or enabled on the system. This notification text could be deleted if it is not needed anymore.") | html %]</span>
|
|
[% END %]
|
|
</h2>
|
|
[% RenderBlockStart("NotificationLanguageRemoveButton") %]
|
|
<div class="AdditionalInformation">
|
|
<a value="Remove Language" class="RemoveButton LanguageRemove" id="[% Data.LanguageID | html %]_Language_Remove" href="" name="Data.LanguageID_Language_Remove"><i class="fa fa-minus-square-o"></i><span class="InvisibleText">[% Translate("Remove Notification Language") | html %]</span></a>
|
|
</div>
|
|
[% RenderBlockEnd("NotificationLanguageRemoveButton") %]
|
|
</div>
|
|
|
|
<div class="Content">
|
|
|
|
<fieldset class="TableLike">
|
|
|
|
<input type="hidden" name="LanguageID" class="LanguageID" value="[% Data.LanguageID | html %]"/>
|
|
|
|
<label for="[% Data.LanguageID | html %]_Subject" id="[% Data.LanguageID | html %]_Label_Subject" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Subject") | html %]:
|
|
</label>
|
|
<div class="Field">
|
|
<input type="text" name="[% Data.LanguageID | html %]_Subject" id="[% Data.LanguageID | html %]_Subject" value="[% Data.Subject | html %]" class="W75pc Validate_Required [% Data.SubjectServerError | html %]" maxlength="200"/>
|
|
<div id="[% Data.LanguageID | html %]_SubjectError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
<div id="[% Data.LanguageID | html %]_SubjectServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="[% Data.LanguageID | html %]_Body" id="[% Data.LanguageID | html %]_Label_Body" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Text") | html %]:
|
|
</label>
|
|
<div class="RichTextField">
|
|
<textarea name="[% Data.LanguageID | html %]_Body" id="[% Data.LanguageID | html %]_Body" class="RichText Validate_RequiredRichText [% Data.BodyServerError | html %]" title="[% Translate("Message body") | html %]" rows="15" cols="[% Config("Ticket::Frontend::TextAreaNote") | html %]">[% Data.Body | html %]</textarea>
|
|
|
|
<div id="[% Data.LanguageID | html %]_BodyError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
<div id="[% Data.LanguageID | html %]_BodyServerError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required and must have less than 4000 characters.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% RenderBlockEnd("NotificationLanguage") %]
|
|
|
|
<div class="Hidden Template NotificationLanguage">
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2 class="Title"></h2>
|
|
<div class="AdditionalInformation">
|
|
<a value="Remove Language" class="RemoveButton LanguageRemove" id="Template_Language_Remove" href="" name="Template_Language_Remove"><i class="fa fa-minus-square-o"></i><span class="InvisibleText">[% Translate("Remove Notification Language") | html %]</span></a>
|
|
</div>
|
|
</div>
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
<input type="hidden" name="" class="LanguageID" value=""/>
|
|
<label for="Template_Subject" id="Template_Label_Subject" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Subject") | html %]:
|
|
</label>
|
|
<div class="Field">
|
|
<input type="text" name="Template_Subject" id="Template_Subject" value="" class="W75pc" maxlength="200"/>
|
|
<div id="Template_SubjectError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
<label for="Template_Body" id="Template_Label_Body" class="Mandatory">
|
|
<span class="Marker">*</span>
|
|
[% Translate("Text") | html %]:
|
|
</label>
|
|
<div class="RichTextField">
|
|
<textarea id="Template_Body" class="" name="Template_Body" title="[% Translate("Message body") | html %]" rows="15" cols="[% Config("Ticket::Frontend::TextAreaNote") | html %]"></textarea>
|
|
<div id="Template_BodyError" class="TooltipErrorMessage">
|
|
<p>[% Translate("This field is required.") | html %]</p>
|
|
</div>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<fieldset class="TableLike">
|
|
<label for="Language">[% Translate("Add new notification language") | html %]:</label>
|
|
<div class="Field">
|
|
[% Data.LanguageStrg %]
|
|
</div>
|
|
<div class="Clear"></div>
|
|
</fieldset>
|
|
<div class="Hidden">
|
|
[% Data.LanguageOrigStrg %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="WidgetSimple SpacingTop">
|
|
<div class="Header">
|
|
<h2>[% Translate("Save Changes") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
<fieldset class="TableLike">
|
|
|
|
<div class="Field SpacingTop">
|
|
[% IF Data.Action == 'Change' %]
|
|
<button class="CallForAction Primary" id="SubmitAndContinue" type="button" value="[% Translate("Save") | html %]"><span>[% Translate("Save") | html %]</span></button>
|
|
[% Translate("or") | html %]
|
|
<button class="CallForAction Primary" id="Submit" type="submit" value="[% Translate("Save") | html %]"><span>[% Translate("Save and finish") | html %]</span></button>
|
|
[% ELSE %]
|
|
<button class="CallForAction Primary" id="Submit" type="submit" value="[% Translate("Save") | html %]"><span>[% Translate("Save") | html %]</span></button>
|
|
[% END %]
|
|
[% Translate("or") | html %]
|
|
<a href="[% Env("Baselink") %]Action=[% Env("Action") %]">[% Translate("Cancel") | html %]</a>
|
|
</div>
|
|
<div class="Clear"></div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
|
|
<div class="WidgetSimple SpacingTop Collapsed">
|
|
<div class="Header">
|
|
<div class="WidgetAction Toggle">
|
|
<a href="#" title="[% Translate("Toggle this widget") | html %]"><i class="fa fa-caret-right"></i><i class="fa fa-caret-down"></i></a>
|
|
</div>
|
|
<h2>[% Translate("Tag Reference") | html %]</h2>
|
|
</div>
|
|
|
|
<div class="Content">
|
|
|
|
<p>[% Translate("Notifications are sent to an agent or a customer.") | html %]</p>
|
|
|
|
<p>[% Translate("You can use the following tags") | html %]:</p>
|
|
|
|
<dl>
|
|
<dt><code><OTRS_AGENT_SUBJECT[20]></code></dt>
|
|
<dd>
|
|
[% Translate("To get the first 20 character of the subject (of the latest agent article).") | html %]
|
|
</dd>
|
|
|
|
<dt><code><OTRS_AGENT_BODY[5]></code></dt>
|
|
<dd>
|
|
[% Translate("To get the first 5 lines of the body (of the latest agent article).") | html %]
|
|
</dd>
|
|
|
|
<dt><code><OTRS_AGENT_*></code></dt>
|
|
<dd>
|
|
[% Translate("To get the article attribute") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_AGENT_From>, <OTRS_AGENT_To>, <OTRS_AGENT_Cc></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CUSTOMER_SUBJECT[20]></code></dt>
|
|
<dd>
|
|
[% Translate("To get the first 20 character of the subject (of the latest customer article).") | html %]
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CUSTOMER_BODY[5]></code></dt>
|
|
<dd>
|
|
[% Translate("To get the first 5 lines of the body (of the latest customer article).") | html %]
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CUSTOMER_REALNAME></code></dt>
|
|
<dd>
|
|
[% Translate("To get the name of the ticket's customer user (if given).") | html %]
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CUSTOMER_*></code></dt>
|
|
<dd>
|
|
[% Translate("To get the article attribute") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_CUSTOMER_From>, <OTRS_CUSTOMER_To>,
|
|
<OTRS_CUSTOMER_Cc></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CUSTOMER_DATA_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the current customer user data") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_CUSTOMER_DATA_UserFirstname></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_OWNER_*></code> [% Translate("or") | html %] <code><OTRS_TICKET_OWNER_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the current ticket owner user data") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_OWNER_UserFirstname></code> [% Translate("or") | html %] <code><OTRS_TICKET_OWNER_UserFirstname></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_RESPONSIBLE_*></code> [% Translate("or") | html %] <code><OTRS_TICKET_RESPONSIBLE_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the current ticket responsible user data") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_RESPONSIBLE_UserFirstname></code> [% Translate("or") | html %] <code><OTRS_TICKET_RESPONSIBLE_UserFirstname></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CURRENT_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the current agent user who requested this action") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_CURRENT_UserFirstname></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_*></code> [% Translate("or") | html %] <code><OTRS_NOTIFICATION_RECIPIENT_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the recipient user for the notification") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_UserFullname></code> [% Translate("or") | html %] <code><OTRS_NOTIFICATION_RECIPIENT_UserFullname></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_TICKET_*></code></dt>
|
|
<dd>
|
|
[% Translate("Attributes of the ticket data") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_TICKET_TicketNumber>, <OTRS_TICKET_TicketID>,
|
|
<OTRS_TICKET_Queue>, <OTRS_TICKET_State></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_TICKET_DynamicField_*></code></dt>
|
|
<dd>
|
|
[% Translate("Ticket dynamic fields internal key values") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_TICKET_DynamicField_TestField>,
|
|
<OTRS_TICKET_DynamicField_TicketFreeText1></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_TICKET_DynamicField_*_Value></code></dt>
|
|
<dd>
|
|
[% Translate("Ticket dynamic fields display values, useful for Dropdown and Multiselect fields") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_TICKET_DynamicField_TestField_Value>,
|
|
<OTRS_TICKET_DynamicField_TicketFreeText1_Value></code>).
|
|
</dd>
|
|
|
|
<dt><code><OTRS_CONFIG_*></code></dt>
|
|
<dd>
|
|
[% Translate("Config options") | html %]
|
|
([% Translate(" e. g.") | html %] <code><OTRS_CONFIG_HttpType></code>).
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="SpacingTop">
|
|
[% Translate("Example notification") | html %]:
|
|
</p>
|
|
<label for="SubjectExample">[% Translate("Subject") | html %]</label>:
|
|
<input type="text" name="SubjectExample" id="SubjectExample" value="Ticket Created: <OTRS_TICKET_Title>" size="80" maxlength="80" readonly />
|
|
<br/>
|
|
<label for="ResponseExample">[% Translate("Text") | html %]</label>:
|
|
<br/>
|
|
<textarea rows="12" cols="70" name="ResponseExample" id="ResponseExample" readonly>
|
|
Hi <OTRS_NOTIFICATION_RECIPIENT_UserFirstname>,
|
|
|
|
ticket [<OTRS_CONFIG_TicketHook><OTRS_TICKET_TicketNumber>] has been created in queue <OTRS_TICKET_Queue>.
|
|
|
|
<OTRS_CUSTOMER_REALNAME> wrote:
|
|
<OTRS_CUSTOMER_Body[30]>
|
|
|
|
<OTRS_CONFIG_HttpType>://<OTRS_CONFIG_FQDN>/<OTRS_CONFIG_ScriptAlias>index.pl?Action=AgentTicketZoom;TicketID=<OTRS_TICKET_TicketID>
|
|
|
|
-- <OTRS_CONFIG_NotificationSenderName>
|
|
</textarea>
|
|
</div>
|
|
</div>
|
|
[% RenderBlockEnd("OverviewUpdate") %]
|
|
|
|
</div>
|
|
<div class="Clear"></div>
|
|
</div>
|
|
[% RenderBlockEnd("Overview") %]
|