OTRS - Die Felder Service oder SLA als Pflichtfeld definieren
Problembeschreibung:
Bei der Erfassung eines Telefon- oder E-Mail Tickets sind die Felder "Service" oder "SLA" keine Pflichtfelder. Diese Felder sollen aber zwingend von den Agenten bzw. Mitarbeiten ausgefüllt werden.
Lösung:
Zur Lösung des Problems kann die entsprechende Vorlagendatei (.dtl) angepasst werden. Hierfür sollte, sofern noch nicht geschehen, zunächst ein eigener Theme (siehe OTRS-Doku) angelegt werden. Anschließend kann die entsprechende Vorlagendatei angepasst werden:
- Telefon-Ticket: \Kernel\Output\HTML\Ihr-Eigener-Theme-Name\AgentTicketPhone.dtl
- E-Mail Ticket: \Kernel\Output\HTML\Ihr-Eigener-Theme-Name\AgentTicketEmail.dtl
Innerhalb der entsprechenden Datei den folgenden Code suchen:
function submit_compose() {
if (document.compose.TypeID && document.compose.TypeID.value == "") {
alert('$JSText{"Ticket Type is required!"}');
document.compose.TypeID.focus();
return false;
}
Unterhalb dieser Zeilen den folgenden Code einfügen, um z.B. den Service als Pflichtfeld zu definieren:
else if (document.compose.ServiceID && document.compose.ServiceID.value == "") {
alert('$JSText{"Please select a service!"}');
document.compose.ServiceID.focus();
return false;
}
Des Weiteren kann das SLA mit den folgenden Zeilen als Pflichtfeld definiert werden
else if (document.compose.SLAID && document.compose.SLAID.value == "") {
alert('$JSText{"Please select an SLA!"}');
document.compose.SLAID.focus();
return false;
}
Zur Übersetzung der Hinweistexte muss zunächst, wie in der OTRS-Doku unter:
http://doc.otrs.org/developer/2.0/en/html/c630.html
beschrieben eine eigene "Custom Language" Datei angelegt werden z.B. de_Custom.pm. In diese Datei kann dann die Übersetzung des Hinweistextes mit der folgenden Programmzeile eingetragen werden z.B.:
$Self->{Translation}->{'Please select a service!'} = 'Bitte einen Service auswählen!';
- OTRS Tipps & Tricks:
Risk disclaimer
Please be aware that any information published on otrs-treff could be inaccurate or misleading. Using the published information is at your own risk. OTRS-Treff or any author of this site is not responsible for any consequential damages.

Comments
Was not working for OTRS 3
Thanks for you article but it was not working in the new version 3.0
That's how I habe done it now:
--- a/Kernel/Output/HTML/Netresearch/AgentTicketEmail.dtl
+++ b/Kernel/Output/HTML/Netresearch/AgentTicketEmail.dtl
@@ -344,14 +344,16 @@
-# example of how to use fixed ticket freetext blocks for customizations
-#
-# $Data{"TicketFreeKeyField1"}:
-#
-# $Data{"TicketFreeTextField1"}
-#
-#
-#
+
+
+ $Data{"TicketFreeKeyField1"}:
+
+ $Data{"TicketFreeTextField1"}
+ Dieses Feld wird benötigt.
+
+
+
+
#
# $Data{"TicketFreeKeyField2"}:
#
@@ -439,6 +441,10 @@
Core.Agent.TicketAction.Init();
//]]>
+
+//
# example template form for customizations
#
--- a/Kernel/Output/HTML/Netresearch/AgentTicketPhone.dtl
+++ b/Kernel/Output/HTML/Netresearch/AgentTicketPhone.dtl
@@ -294,14 +294,15 @@
-# example of how to use fixed ticket freetext blocks for customizations
-#
-# $Data{"TicketFreeKeyField1"}
-#
-# $Data{"TicketFreeTextField1"}
-#
-#
-#
+
+ $Data{"TicketFreeKeyField1"}
+
+ $Data{"TicketFreeTextField1"}
+ Dieses Feld wird benötigt.
+
+
+
+
#
# $Data{"TicketFreeKeyField2"}
#
@@ -388,6 +389,10 @@
Core.Agent.TicketAction.Init();
//]]>
+
+//
# example template form for customizations
#