Freetext abhängig von Ticket Typ anzeigen/pflicht
Freetext abhängig von Ticket Typ anzeigen/pflicht
Hallo Leute,
Setze Ubuntu 8.04 Server mit einem OTRS 2.4.2 ein.
Funktioniert soweit auch alles gut. Jetzt geht es nur noch ein wenig ans Customizing. Dafür brauche ich 2 Freitextfelder.
Ich würde gerne das Freetextfeld2 nur aktivieren und als Pflichtfeld verwenden, wenn Ticket Type = "Auftrag" ist
Zur Verständnis:
Freetextfeld2
Key=Auftragsnummer
Also: wählt der "kunde" beim Ticket erstellen den Typ "Auftrag" im DropDown aus, soll das freie Textfeld 2 erscheinen und die Eingabe der zugehörigen Auftragsnummer Pflicht sein.
Ist sowas mit Boardmitteln möglich, oder muss man selbst was basteln (Jave,Ajax, etc...)?
Und falls man was basteln muss, kann mir wer dabei helfen? :>
Besten Gruß und Dank im voraus
Fabian
Setze Ubuntu 8.04 Server mit einem OTRS 2.4.2 ein.
Funktioniert soweit auch alles gut. Jetzt geht es nur noch ein wenig ans Customizing. Dafür brauche ich 2 Freitextfelder.
Ich würde gerne das Freetextfeld2 nur aktivieren und als Pflichtfeld verwenden, wenn Ticket Type = "Auftrag" ist
Zur Verständnis:
Freetextfeld2
Key=Auftragsnummer
Also: wählt der "kunde" beim Ticket erstellen den Typ "Auftrag" im DropDown aus, soll das freie Textfeld 2 erscheinen und die Eingabe der zugehörigen Auftragsnummer Pflicht sein.
Ist sowas mit Boardmitteln möglich, oder muss man selbst was basteln (Jave,Ajax, etc...)?
Und falls man was basteln muss, kann mir wer dabei helfen? :>
Besten Gruß und Dank im voraus
Fabian
Last edited by wonz on 18 Aug 2009, 15:55, edited 2 times in total.
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
-
- Znuny wizard
- Posts: 326
- Joined: 30 Jan 2008, 14:59
- Znuny Version: 6.0.19
- Real Name: Max Hendrik Backs
Freetext2 abhängig von Freetext1
Ticket-System
Ubuntu 18.04
OTRS 6.0.19
Ubuntu 18.04
OTRS 6.0.19
Freetext abhängig von Ticket Typ anzeigen/pflicht
okay.. habe ich gemacht :> (Danke!)
Ich hab jetzt ungefähr die Vorstellung davon, dass es damit funktionieren könnte.
Aber wie genau... so ganz verständlich sind mir die ACLs/die Umsetzung nicht...
Bzw durchschaue ich die Abhängigkeiten innerhalb des OTRS (noch) nicht gut genug.
Es gibt nicht zufällig Jemand hier der das drauf hat und sich erbarmen würde, also mir so ne ACL erstellen würde?
Ich wüsste nichtmals in welche Datei die müsste..
Auch in die CustomerTicketMessage.dtl !?
Edit:
Habe gerade die "Typ" Funktion gefunden... die kann ich natürlich statt des Freetext1 benutzen,
also müsste das FreetextX Field nur erscheinen und zum Pflichtfeld werden, wenn ich einen bestimmten Tickettyp auswähle.
Habe den Threadtitel entsprechend angepasst...
Gruß
Fabian
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
Freetext abhängig von Ticket Typ anzeigen/pflicht
Hallo,
ACL's werden in der config.pm eingepflegt.
Je nachdem wie groß deine config.pm ist, wird es, nach und nach der Übersichtlichkeit her, besser, Abschnitte "auszulagern" nach Kernel/Config/Files/
Eine entsprechende ACL für dich könnte ungefähr so aussehen (ohne Gewähr, da mal so aus den Stehgreif)...
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
Type => ['Auftrag']
},
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
mfg
Sebastian
ACL's werden in der config.pm eingepflegt.
Je nachdem wie groß deine config.pm ist, wird es, nach und nach der Übersichtlichkeit her, besser, Abschnitte "auszulagern" nach Kernel/Config/Files/
Eine entsprechende ACL für dich könnte ungefähr so aussehen (ohne Gewähr, da mal so aus den Stehgreif)...
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
Type => ['Auftrag']
},
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
mfg
Sebastian
Produktiv: OTRS 2.4.7, CiCS 3.1.5, Eigenentwicklungen
β-Testing/Mirror: OTRS 2.4.7, ITSM 2.0.2, CiCS(::ITSM) 3.1.5 (2.1.6), Eigenentwicklungen OS: Win2003, XAMPP, Apache2.2/MySQL 5, Trac/SVN
β-Testing/Mirror: OTRS 2.4.7, ITSM 2.0.2, CiCS(::ITSM) 3.1.5 (2.1.6), Eigenentwicklungen OS: Win2003, XAMPP, Apache2.2/MySQL 5, Trac/SVN
Freetext abhängig von Ticket Typ anzeigen/pflicht
Hallo Sebastian,
danke für deine Antwort.....
Leider funktioniert deine ACL nicht (oder ich mach was falsch ^^)
Auf jeden Fall ist da glaube ich ein "}," zu viel nach "Type => ['Auftrag']", oder ?? (bekam n Internal Server error...
Wie muss ich denn das Freetextfeld unter "Customer::Ticket::ViewNew" (momentan auf "1" gesetzt) und in "Core::TicketFreeText"(momentan nur Key mit Schlüssel "Auftragsnummer" und Inhalt "Auftragsnummer" aktiviert) konfigurieren wenn ich diese ACL verwenden will?
Weiterhin verstehe ich leider die Syntax immer noch nicht so ganz..
ist die ACL.. okay..
Dann müsste ja quasi ein if (Type=Auftrag) then Ticketfreekey2=Auftragsnummer irgendwo da erscheinen..
Kann man die ACL Syntax irgendwie so übersetzen ??
= IF
= then ?!!
Vielen Dank nochmal für eure Hilfe und Eure Geduld !
danke für deine Antwort.....
Leider funktioniert deine ACL nicht (oder ich mach was falsch ^^)
Auf jeden Fall ist da glaube ich ein "}," zu viel nach "Type => ['Auftrag']", oder ?? (bekam n Internal Server error...
Code: Select all
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
Type => ['Auftrag']
},
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
Weiterhin verstehe ich leider die Syntax immer noch nicht so ganz..
Code: Select all
$Self->{TicketAcl}->{'ACL-Name'} = { };
Dann müsste ja quasi ein if (Type=Auftrag) then Ticketfreekey2=Auftragsnummer irgendwo da erscheinen..
Kann man die ACL Syntax irgendwie so übersetzen ??
Code: Select all
Ticket => {
Type => ['Auftrag']
},
Code: Select all
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
Vielen Dank nochmal für eure Hilfe und Eure Geduld !
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
Freetext abhängig von Ticket Typ anzeigen/pflicht
Nach der otrs doku ( http://docu.otrs.org/2.2/de/html/c2024.html )
kann man Type gar nicht verwenden, oder verstehe ich das falsch ??
Da steht ja "Im folgenden eine Liste aller Parameter, die für ACLs verwendet werden können: "
also müsste ich doch einen Wert einen Wert eines Freitextfeldes dafür nehmen???
Sähe dann für mich so aus:
Wäre das so richtig, oder ist das falsch ???
Gruß
Fabian
kann man Type gar nicht verwenden, oder verstehe ich das falsch ??
Da steht ja "Im folgenden eine Liste aller Parameter, die für ACLs verwendet werden können: "
Code: Select all
# current user match properties
Ticket => {
Queue => ['Raw'],
State => ['new', 'open'],
Priority => ['some priority'],
Lock => ['lock'],
CustomerID => ['some id'],
CustomerUserID => ['some id'],
TicketFreeKey1 => ['some key'],
TicketFreeKey2 => ['some key'],
# ...
TicketFreeKey8 => ['some key'],
TicketFreeText1 => ['some value'],
TicketFreeText2 => ['some value'],
# ...
TicketFreeText8 => ['some value'],
}
Sähe dann für mich so aus:
Code: Select all
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
TicketFreeText1 => ['Auftrag'],
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
Gruß
Fabian
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
Freetext abhängig von Ticket Typ anzeigen/pflicht
funktioniert leider auch nicht ...
Die Syntax durchblicke ich leider immer noch nicht so wirklich ..
Soll dieser Code dazu führen, dass z.B. in der CustomerTicketMessage (also wenn der Kunde ein Ticket anlegt) das Freitextfeld2 angezeigt wird???
Die Syntax durchblicke ich leider immer noch nicht so wirklich ..

Code: Select all
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
}
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
Freetext abhängig von Ticket Typ anzeigen/pflicht
Ich hab es jetzt erst einmal anders gelöst.... o_0
So sieht die CustomerTicketMessage.dtl aus:
TypeID=3 bedeutet in meinem Fall, dass der Tickettyp = Auftrag ist.
2= Anfrage
1= default (wird noch deaktiviert)...
Das hab ich mit phpmyadmin in der mysql-DB nachgeschaut.... (Bei 2-3 Werten/TicketTypen kann man aber auch ausprobieren...)
Das Ganze ist jetzt allerdings nur Clientseitig. Sollte Jemand Javascript deaktiviert haben, so funktionierts net mehr.
Ist in unserem Fall zwar kein Beinbruch, aber halt n bissl dirty, wie ich finde.
Am schönsten wäre es natürlich noch immer, wenn man das über ACLs realisieren könnte.
Ich bin aber zu blöd um da durchzuschauen.
Falls es also Jemand mit ACLs hinbekommt, dass ein Freitextfeld nur Pflicht ist(und auch angezeigt wird), wenn ein bestimmter TicketType ausgewählt ist, wäre ich Ihm noch immer für eine Antwort dankbar, auch wenn ich mit der jetzigen Lösung erst einmal leben kann...
Gruß
Fabian
So sieht die CustomerTicketMessage.dtl aus:
Code: Select all
function submit_compose() {
...
else if (document.compose.Body.value == "") {
alert('$JSText{"A message should have a body!"}');
document.compose.Body.focus();
return false;
}
else if (document.compose.TypeID.value == "3" && document.compose.TicketFreeText2.value == "") {
alert('Auftragsnummer erforderlich!!');
document.compose.TypeID.focus();
return false;
}
...
<!-- dtl:block:FreeText -->
<tr>
<td class="contentkey">$Data{"TicketFreeKeyField2"}:</td>
<td class="contentvalue">$Data{"TicketFreeTextField2"}</td>
</tr>
<!-- dtl:block:FreeText -->
...
2= Anfrage
1= default (wird noch deaktiviert)...
Das hab ich mit phpmyadmin in der mysql-DB nachgeschaut.... (Bei 2-3 Werten/TicketTypen kann man aber auch ausprobieren...)
Das Ganze ist jetzt allerdings nur Clientseitig. Sollte Jemand Javascript deaktiviert haben, so funktionierts net mehr.
Ist in unserem Fall zwar kein Beinbruch, aber halt n bissl dirty, wie ich finde.

Am schönsten wäre es natürlich noch immer, wenn man das über ACLs realisieren könnte.
Ich bin aber zu blöd um da durchzuschauen.
Falls es also Jemand mit ACLs hinbekommt, dass ein Freitextfeld nur Pflicht ist(und auch angezeigt wird), wenn ein bestimmter TicketType ausgewählt ist, wäre ich Ihm noch immer für eine Antwort dankbar, auch wenn ich mit der jetzigen Lösung erst einmal leben kann...
Gruß
Fabian
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
-
- Znuny wizard
- Posts: 350
- Joined: 13 May 2009, 14:24
- Znuny Version: 5.0.10
Freetext abhängig von Ticket Typ anzeigen/pflicht
Hinter Type => ['Auftrag'] sollte ein , stehen!Joyner wrote: Eine entsprechende ACL für dich könnte ungefähr so aussehen (ohne Gewähr, da mal so aus den Stehgreif)...
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
Type => ['Auftrag']
},
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
Gruß
ddDagobert
Produktiv: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Test: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Entwicklung: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Test: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Entwicklung: OTRS 5.0.10 mit ITSM + Individualpakete und Feature AddOn auf SLES 11 SP2 mit PosgtreSQL 9.3
Freetext abhängig von Ticket Typ anzeigen/pflicht
Danke, ändert aber nichts daran, dass mit der ACL überhaupt nix passiert (zumindest nichts ersichtbares).ddDagobert wrote:Hinter Type => ['Auftrag'] sollte ein , stehen!Joyner wrote: Eine entsprechende ACL für dich könnte ungefähr so aussehen (ohne Gewähr, da mal so aus den Stehgreif)...
$Self->{TicketAcl}->{'ACL-Name'} = {
Ticket => {
Type => ['Auftrag']
},
},
Possible => {
Ticket => {
TicketFreeKey2 => ['Auftragsnummer'],
TicketFreeText2 => [''],
},
},
};
Gruß
ddDagobert
OS: Ubuntu 9.04; OTRS v.2.4.7; DB: MYSQL
Freetext abhängig von Ticket Typ anzeigen/pflicht
*hm*, dummerweise habe ich gerade genau das selbe Problem. Die OTRS Version ist bei mir auch 2.4.7 - das Betriebssystem ist allerdings ein SLES11.
Wenn ich es richtig verstanden habe, dann sollte doch folgender Eintrag in der Config.pm bewirken das alle Tickets nur noch in die Queue "Postmaster" verschoben werden dürfen/können, oder?
Es tut aber rein gar nichts. Andere Einstellungen aus der Config.pm werden hingegen einwandfrei übernommen (habe z.B. diverse FreeTextFields da drin stehen). Kann mir jemand sagen was da los ist? Ich habe bereits gesucht ob es sich um einen Bug handelt, aber im Bugtracker habe ich nichts gefunden. Muss ich irgendwo die ACLs aktivieren? Oder ist etwas am Syntax falsch?
Grüße Jens
Wenn ich es richtig verstanden habe, dann sollte doch folgender Eintrag in der Config.pm bewirken das alle Tickets nur noch in die Queue "Postmaster" verschoben werden dürfen/können, oder?
Code: Select all
$Self->{TicketAcl}->{'ACL-Test-Name1'} = {
Properties => {
},
Possible => {
Ticket => {
Queue => ['Postmaster'],
},
},
};
Grüße Jens
OTRS 3.0.10, ITSM 3.0.4, MySQL 5.1.49, Debian GNU/Linux 6.0