Files
2024-10-14 00:08:40 +02:00

244 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.
# --
[% RenderBlockStart("Overview") %]
<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
<h1 class="InvisibleText">[% Translate("State Management") | html %]</h1>
[% BreadcrumbPath = [
{
Name => Translate("State Management"),
Link => Env("Action"),
},
]
%]
[% SWITCH Data.Action %]
[% CASE 'Add' %]
[% BreadcrumbPath.push({ Name => Translate("Add State"),}) %]
[% CASE 'Change' %]
[% USE EditTitle = String(Translate("Edit State")) %]
[% 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 Create"><span><i class="fa fa-plus-square"></i>[% Translate("Add State") | html %]</span></a>
</li>
[% RenderBlockEnd("ActionAdd") %]
</ul>
</div>
</div>
[% RenderBlockEnd("ActionList") %]
[% RenderBlockStart("Filter") %]
<div class="WidgetSimple">
<div class="Header">
<h2><label for="FilterStates">[% Translate("Filter for States") | html %]</label></h2>
</div>
<div class="Content">
<input type="text" id="FilterStates" class="FilterBox" placeholder="[% Translate("Just start typing to filter...") | html %]" name="FilterStates" value="" title="[% Translate("Filter for states") | html %]">
</div>
</div>
[% RenderBlockEnd("Filter") %]
<div class="WidgetSimple">
<div class="Header">
<h2>[% Translate("Hint") | html %]</h2>
</div>
<div class="Content">
<p class="FieldExplanation">
[% Translate("Attention") | html %]: [% Translate("Please also update the states in SysConfig where needed.") | html %]
</p>
<p class="FieldExplanation">
[% Translate("See also") | html %]: <a href="https://doc.otrs.com/doc" target="_blank">https://doc.otrs.com/doc</a>
</p>
</div>
</div>
</div>
<div class="ContentColumn">
<div class="WidgetSimple">
[% RenderBlockStart("OverviewResult") %]
<div class="Header">
<h2>[% Translate("List") | html %]</h2>
</div>
<div class="Content">
<table class="DataTable" id="States">
<thead>
<tr>
<th>[% Translate("Name") | html %]</th>
<th>[% Translate("Type") | html %]</th>
<th>[% Translate("Comment") | html %]</th>
<th>[% Translate("Validity") | html %]</th>
<th>[% Translate("Changed") | html %]</th>
<th>[% Translate("Created") | html %]</th>
</tr>
</thead>
<tbody>
[% RenderBlockStart("NoDataFoundMsg") %]
<tr>
<td colspan="6">
[% Translate("No data found.") | html %]
</td>
</tr>
[% RenderBlockEnd("NoDataFoundMsg") %]
[% RenderBlockStart("OverviewResultRow") %]
<tr [% IF Data.ValidID != 1%]class="Invalid"[% END %]>
<td><a class="AsBlock" href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=Change;ID=[% Data.ID | uri %]">[% Data.Name | html %]</a></td>
<td>[% Translate(Data.TypeName) | html %]</td>
<td title="[% Data.Comment | html %]">[% Data.Comment | truncate(20) | html %]</td>
<td>[% Translate(Data.Valid) | html %]</td>
<td>[% Data.ChangeTime | Localize("TimeShort") %]</td>
<td>[% Data.CreateTime | Localize("TimeShort") %]</td>
</tr>
[% RenderBlockEnd("OverviewResultRow") %]
<tr class="FilterMessage Hidden">
<td colspan="6">[% Translate("No matches found.") | html %]</td>
</tr>
</tbody>
</table>
</div>
[% RenderBlockEnd("OverviewResult") %]
[% RenderBlockStart("OverviewUpdate") %]
<div class="Header">
[% IF Data.Action == 'Add' %]
<h2>[% Translate("Add State") | html %]</h2>
[% ELSE %]
<h2>[% Translate("Edit State") | html %]</h2>
[% END %]
</div>
<div class="Content">
<form id="EntityUpdate" action="[% Env("CGIHandle") %]" method="post" class="Validate PreventMultipleSubmits">
<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 class="Mandatory" for="Name"><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.NameInvalid | html %]" maxlength="200"/>
<div id="NameError" class="TooltipErrorMessage">
<p>[% Translate("This field is required.") | html %]</p>
</div>
<div id="NameServerError" class="TooltipErrorMessage">
<p>
[% RenderBlockStart("RequiredValidOptionServerError") %]
[% Translate("This field is required.") | html %]
[% RenderBlockEnd("RequiredValidOptionServerError") %]
[% RenderBlockStart("InSettingNameServerError") %]
[% Translate("This state is present in a SysConfig setting, confirmation for updating settings to point to the new type is needed!") | html %]
[% RenderBlockEnd("InSettingNameServerError") %]
</p>
</div>
</div>
<div class="Clear"></div>
<label class="Mandatory" for="TypeID"><span class="Marker">*</span> [% Translate("State type") | html %]:</label>
<div class="Field">
[% Data.StateTypeOption %]
<div id="TypeIDError" class="TooltipErrorMessage">
<p>[% Translate("This field is required.") | html %]</p>
</div>
<div id="TypeIDServerError" class="TooltipErrorMessage">
<p>[% Translate("This field is required.") | html %]</p>
</div>
</div>
<div class="Clear"></div>
<label class="Mandatory" for="ValidID"><span class="Marker">*</span> [% Translate("Validity") | html %]:</label>
<div class="Field">
[% Data.ValidOption %]
<div id="ValidIDError" class="TooltipErrorMessage">
<p>[% Translate("This field is required.") | html %]</p>
</div>
<div id="ValidIDServerError" class="TooltipErrorMessage">
<p>
[% RenderBlockStart("RequiredValidOptionServerError") %]
[% Translate("This field is required.") | html %]
[% RenderBlockEnd("RequiredValidOptionServerError") %]
[% RenderBlockStart("InSettingValidOptionServerError") %]
[% Translate("Is not possible to invalidate this entry, all config settings have to be changed beforehand.") | html %]
[% RenderBlockEnd("InSettingValidOptionServerError") %]
[% RenderBlockStart("MergeErrorValidOptionServerError") %]
[% Translate("It's not possible to invalidate this entry because there is no other merge states in system!") | html %]
[% RenderBlockEnd("MergeErrorValidOptionServerError") %]
</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>
<div class="Clear"></div>
<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>
[% RenderBlockStart("StateInSysConfig") %]
<input type="hidden" name="OldName" id="OldName" value="[% Data.OldName | html %]"/>
<input type="hidden" name="UpdateEntity" id="UpdateEntity" value=""/>
<div id="EntityInSetting" class="Hidden">
<div class="TextDialog">
<h1>[% Translate("This state is used in the following config settings:") | html %]</h1>
<ul>
[% RenderBlockStart("StateInSysConfigRow") %]
<li class="InSysConfigSetting">[% Data.SettingName %]</li>
[% RenderBlockEnd("StateInSysConfigRow") %]
</ul>
<p class="FieldExplanation"></p>
</div>
</div>
[% RenderBlockEnd("StateInSysConfig") %]
[% RenderBlockStart("StateInSysConfigDirty") %]
<input type="hidden" name="SysConfigDirty" id="SysConfigDirty" value="1"/>
[% RenderBlockEnd("StateInSysConfigDirty") %]
</form>
</div>
[% RenderBlockEnd("OverviewUpdate") %]
</div>
</div>
<div class="Clear"></div>
</div>
[% RenderBlockEnd("Overview") %]