[gelöst] Ticket-Formular abhängig vom Tickettyp

Hilfe zu OTRS Problemen aller Art
Post Reply
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

[gelöst] Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Hallo

Wir nutzen verschiedene Ticket-Typen und einige freie Felder, um zusätzliche Informationen zu sammeln. Da für alle Typen einige freie Felder vorhanden sind, wäre das Formular sehr unübersichtlich. Daher die Frage:

Ist es möglich, das Ticketformular soweit anzupassen, dass bei Auswahl des Ticket-Typen nur bestimmte freie Felder angezeigt werden?
Last edited by TheDude on 05 Mar 2012, 13:06, edited 2 times in total.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Freie Felder auf Ticketformular abhängig vom Tickettyp

Post by TheDude »

Eine Alternative wäre auch, dass bei Auswahl eines Ticket-Typs vordefinierter Text im Editor-Feld erscheint.

z.B. bei neuen Benutzern:
- Name
- Vorname
- Stellennummer
...

Wie kann ich sowas umsetzen?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Hallo

also versuche es doch mal so

Code: Select all

switch ($('#TypeID').val() ) {
        case "2":
            document.getElementById('TicketFreeText5').style.display = 'block';
			document.getElementById('LabelTicketFreeText5').style.display = 'block';
        break;
        default:
		document.getElementById('TicketFreeText5').style.display = 'none';
        document.getElementById('LabelTicketFreeText5').style.display = 'none';
    }	
In die entsprechende dtl Datei einfügen (Ich habs jetzt bei CustomerTicketMessage.dtl getestet)

Oder schau dir diesen Thread mal an, besonders den Post. Da habe ich das, glaube ich zumindest, auch her http://forums.otrs.org/viewtopic.php?f=60&t=8032#p39578

EDIT: ach entschuldige, jetzt ist der Code richtig, da war ich etwas zu voreilig :D
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Den Thread hatte ich gesehen. Versucht umzusetzen auch doch zum einen bin ich kein Programmierer und hatte mit dem passenden Einfügen meine Probleme, zum anderen geht es da, soweit ich das richtig verstanden habe, darum den passenden Text bei entsprechender Queue einzusetzen. Ich bräuchte diese Funktion bei Auswahl des Ticket-Typs, da die Customer die Queues nicht sehen.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Jawoll, dann machs doch so wie ichs im Beispiel geschrieben habe. ;)
Ich hab auch nur die Vorlage benutzt und mir das mit meinen kaum vorhandenen Kenntnissen angepasst :D

suche dir die richtige Typeid raus und das entsprechende Freetextfeld und ändere die werte und dann musste den code nur noch in der customerTicktMessage.dtl einsetzten. Und zwar an diese stelle:
<script type="text/javascript">
Core.Customer.InitFocus();
HIER CODE EINFÜGEN
</script>
<!-- dtl:js_on_document_complete -->

Das ist ganz unten in der Datei. Und dann sollte es eigentlich funktionieren.

Ich hoffe zumindest ich habs richtig verstanden. so kannst du jedenfalls einen Ticket Typ auswählen und dementsprechend erscheint dann das definierte Freitextfeld, so war es doch gedacht, oder?
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Jetzt hab ichs verstanden. Ich dachte, der Code würde bewirken, dass im Text-Editor was eingetragen wird. Mein Fehler.

Code habe ich in der CustomerTicketMessage.dtl eingetragen. Effek ist wie gewünscht.
Frage dazu: Wo genau finde ich die TypeID und an welcher Stelle trage ich sie ein? Hatte vermutet, dass es über case geht, doch das war nichts.


Alternativ wäre es sicher auch noch gut zu wissen, wie bei entsprechender Ticket-Auswahl im Text-Editor vordefinierte Fragen erscheinen. Ich denke, dies würde weniger Programieraufwand erfordern, da ich bei der oben beschriebenen Lösung alle freien Felder per Code in der CustomerTicketMessage.dtl eintragen müsste. Kein Problem, solange sich nichts ändert...
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Achso :D
Doch genau bei dem Case musst du die Typeid eintragen

case "2":

Also entweder holst du dir die Id aus der Datenbank mit SQLBefehl:
select * from otrs.ticket_type

oder, das mache ich immer, wenn ich dafür zu faul bin, gehst du unter Admin -> Typen und wählst den entsprechenden aus, dann zeigt er dir oben im Adressfeld vom Brwoser im Link auch die ID an.


das andere weiß ich nicht, aber ich werde mal was ausprobieren
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Auf sowas muss man erstmal kommen...

Wenn ich das richtig sehe, legt er die ID nach Anlegen der Typen fest. Dumm nur dass die Reichenfolge der Typen dann alphabetisch ist. Es würde ja schon reichen, wenn man die ID beim Öffnen/Editieren des Typs sehen könnte.

Danke erstmal bis hier.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

so ausprobiert :D

Code: Select all

switch ($('#TypeID').val() ) {
        case "2":
            document.getElementById('TicketFreeText5').style.display = 'block';
         document.getElementById('LabelTicketFreeText5').style.display = 'block';
 document.compose.RichText.value = "hier <br/> Text einfügen";
        break;
        default:
      document.getElementById('TicketFreeText5').style.display = 'none';
        document.getElementById('LabelTicketFreeText5').style.display = 'none';
    }   
einfach die Zeile: document.compose.RichText.value = "hier <br/> Text einfügen";
dazufügen oder eben statt der Freitextfelder benutzen.


Ja, wieso, siehst du doch auch oben im Link. Wenn du beispiel auf Incident klickst, steht oben imn der Adresszeile: http://localhost/otrs/index.pl?Action=AdminType;Subaction=Change;ID=2
Sonst mach es eben über die SQL Abfrage^^ :D
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Das meine ich ja mit drauf kommen. Manchal ist es ja auch einfach... :)

Wenn ich den Text statt der Freitextfelder nutzen möchte, müsste ich also folgenden nehmen?


switch ($('#TypeID').val() ) {
case "2":
document.compose.RichText.value = "hier <br/> Text einfügen";
break;
}
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

achso :D hihi

genau, damit müsste es funktionieren (:
tuts bei mir auch (:

Liebe Grüße
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Klappt...Super...Vielen Dank
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Neuer Tag, neue Aufgaben...

Beim Customer klappt das mittlerweile super.

Frage nun:

Wenn die Agents ein Telefon- oder EMailticket aufgeben, kann ich mir das ja auch anzeigen lassen. Kann ich das dort genauso nach Ticket-Typ machen? In welcher Datei muss ich ggf. den Code dazu reinschreiben?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Ich schon wieder (:
jawol das funktioniert auch. Versuchs mal in der AgentTicketEmail.dtl bzw. AgentTicketPhone.dtl.
Entweder im Javascriptbereich ganz unten oder direkt unter Tickettype.
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Werde ich morgen mal probieren.

Für heute noch eine Frage:

Ich habe neben den FreeText-Feldern auch eins mit Zeit. Würde der Code, um dieses auzublenden so aussehen?

document.getElementById('TicketFreeTime1').style.display = 'none';
document.getElementById('LabelTicketFreeTime1').style.display = 'none';
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Jawoll genauso müsste es funktioniern (:
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

hmm...macht er nicht.

Ich bekomme eine Fehlermeldung von der Webseite:

Objekt erforderlich
{anonymous}(TypeError: Oblekt erforderlich)
printStackTrace(#Object)
{anonymous}(#function)
{anonymous}()
{anonymous}([object Event])
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

ich dachte, es würde so gehen.
Ich probiers bei mir auch nochmal aus, ansonsten weiß ich auch nicht^^
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Ich hätte es jetzt auch so vermutet. Ist die Bezeichnung vielleicht falsch?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Kann kein Ticket abschicken.

Ticket-Typ ausgesucht, Felder erscheinen und werden ausgefüllt, doch die Nachricht wird nicht abgeschickt. Es erscheint am oberen linken Rand eine Nachrichtenblase, dass dieses Feld noch benötigt werde. Kann es sein, dass ich bei den Freitextfeldern keine Pflichtangabe setzen darf?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Nee die Bezeichnung ist richtig, jedenfalls steht sie ebenso da drüber bei den Zeitfeldern auch^^

jaa, du darfst die nicht als Pflichtfelder definieren, das funktioniert nicht. Aber es gibt eine Möglichkeit sie als Pflicht zu definieren, wenn sie angezeigt sind.
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

wie denn?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

so:

Code: Select all

    switch ($('#TypeID').val() ) {
            case "2":
                document.getElementById('TicketFreeText5').style.display = 'block';
             document.getElementById('LabelTicketFreeText5').style.display = 'block';
document.getElementById('LabelTicketFreeText5').className = 'Mandatory';
         document.getElementById('TicketFreeText5').className = 'TicketFreeText  Validate_RequiredDropdown ServerError';
    document.compose.RichText.value = "hier <br/> Text einfügen";
            break;
            default:
          document.getElementById('TicketFreeText5').style.display = 'none';
            document.getElementById('LabelTicketFreeText5').style.display = 'none';
        }   
alsomusst du praktisch diese Zeilen hinzufügen:

Code: Select all

document.getElementById('LabelTicketFreeText5').className = 'Mandatory';
         document.getElementById('TicketFreeText5').className = 'TicketFreeText  Validate_RequiredDropdown ServerError';
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Funktioniert. Gibt es noch eine Möglichkeit, dass er das Feld für den Customer als Pflichtfeld kennzeichnet?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

Also nicht, dass ich wüsste. Ich habe einfach dem Freitextfeld den Wert/Namen ein Sternchen verpasst. Also statt Name: dann *Name. Aber anders wüsste ich jetzt nicht.
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Ist auch eine Möglichkeit.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Ich kann den code für das Einblenden der entsprechenden Felder ja auch im Telefon- und EMailticket des Agenten einfügen? Aber an welcher Stelle genau? Versuche scheiterten bisher. Es werden zwar die Felder ausgeblendet (bei Default-Angabe), erscheinen jedoch nicht bei der Typ-Auswahl.
Last edited by TheDude on 21 Feb 2012, 15:47, edited 1 time in total.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

jawoll, das kannst du.
und zwar im phone hier:

Code: Select all

<!-- dtl:block:TicketType -->
                    <label class="Mandatory" for="TypeID"><span class="Marker">*</span> $Text{"Type"}:</label>
                    <div class="Field">
                        $Data{"TypeStrg"}
                        <div id="TypeIDError" class="TooltipErrorMessage"><p>$Text{"This field is required."}</p></div>
                        <div id="TypeIDServerError" class="TooltipErrorMessage"><p>$Text{"This field is required."}</p></div>
<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
    $('#TypeID').bind('change', function (Event) {
        Core.AJAX.FormUpdate($('#NewPhoneTicket'), 'AJAXUpdate', 'TypeID', ['NewUserID', 'NewResponsibleID', 'NextStateID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', 'TicketFreeText1', 'TicketFreeText2', 'TicketFreeText3', 'TicketFreeText4', 'TicketFreeText5', 'TicketFreeText6', 'TicketFreeText7', 'TicketFreeText8', 'TicketFreeText9', 'TicketFreeText10', 'TicketFreeText11', 'TicketFreeText12', 'TicketFreeText13', 'TicketFreeText14', 'TicketFreeText15', 'TicketFreeText16', 'To', 'Cc', 'Bcc']);
HIER EINFÜGEN
});
//]]></script>
<!--dtl:js_on_document_complete-->
                    </div>
                    <div class="Clear"></div>
<!-- dtl:block:TicketType -->
im AgentEmail dann entsprechend auch im selben Block.
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Funktioniert nicht.

Code: Select all

switch ($('#TypeID').val() ) {
	
		case "1":
            document.getElementById('DynamicField_TicketFreeText1').style.display = 'block';
         document.getElementById('LabelDynamicField_TicketFreeText1').style.display = 'block';
		 break;
		 
		 default:
      document.getElementById('DynamicField_TicketFreeText1').style.display = 'none';
      document.getElementById('LabelDynamicField_TicketFreeText1').style.display = 'none';
		}
Bewirkt nichts. Bei mir ist dieser Abschnitt:

Code: Select all

Core.AJAX.FormUpdate($('#NewPhoneTicket'), 'AJAXUpdate', 'TypeID', ['NewUserID', 'NewResponsibleID', 'NextStateID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', 'TicketFreeText1', 'TicketFreeText2', 'TicketFreeText3', 'TicketFreeText4', 'TicketFreeText5', 'TicketFreeText6', 'TicketFreeText7', 'TicketFreeText8', 'TicketFreeText9', 'TicketFreeText10', 'TicketFreeText11', 'TicketFreeText12', 'TicketFreeText13', 'TicketFreeText14', 'TicketFreeText15', 'TicketFreeText16', 'To', 'Cc', 'Bcc']);
aber auch anders. die Einträge der TicketFreeText... sind dort nicht vorhanden. Müssen die mit rein?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: Ticket-Formular abhängig vom Tickettyp

Post by jojo »

3.1. hat keine Freitext Felder mehr, sondern Dynamic Fields...
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Stimmt, ist mir auch grad aufgefallen. Habe den Eintrag dahingehend geändert:

Code: Select all

<script type="text/javascript">//<![CDATA[
    $('#TypeID').bind('change', function (Event) {
        Core.AJAX.FormUpdate($('#NewPhoneTicket'), 'AJAXUpdate', 'TypeID', ['Dest', 'NewUserID', 'NewResponsibleID', 'NextStateID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', 'DynamicField_TicketFreeText1', $Data{"DynamicFieldNamesStrg"}, 'To', 'Cc', 'Bcc']);
		
		switch ($('#TypeID').val() ) {
	
		case "1":
            document.getElementById('DynamicField_TicketFreeText1').style.display = 'block';
         document.getElementById('LabelDynamicField_TicketFreeText1').style.display = 'block';
		 break;
		 
		 default:
      document.getElementById('DynamicField_TicketFreeText1').style.display = 'none';
      document.getElementById('LabelDynamicField_TicketFreeText1').style.display = 'none';
		}
		
		
    });
//]]></script>
Funktioniert so auch schon zum Teil. Wenn ich das das Formular aufrufe, wird das Feld angezeigt. Wähle ich einen Ticket-Typ aus, wo es nicht auftauchen soll, ist es auch ausgeblendet, genauso, wenn ich wieder auf die Grunduaswahl "-" gehe, und es erscheint, wenn ich auf den entsprechenden Typ gehe. Kann ich das soweit angeben, dass auch schon beim Aufruf des Formulars die Felder ausgeblendet sind. sollten sie ja eigentlich bereits durch die default-Angabe, oder?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
zuckerbaeckerin
Znuny advanced
Posts: 144
Joined: 29 Aug 2011, 11:55
Znuny Version: 3.0.10

Re: Ticket-Formular abhängig vom Tickettyp

Post by zuckerbaeckerin »

ja, das Problem hatte ich auch. allerdings weiß ich nicht mehr genau, wie ich es gelöst habe.
Ganz unten in dem Block

Code: Select all

<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
    Core.Agent.TicketAction.Init();
# ---
# ITSM
# ---
    $('a.AsPopup').bind('click', function (Event) { Core.UI.Popup.OpenPopup($(this).attr('href'), 'Action'); return false;});
# ---
HIER
//]]></script>
<!--dtl:js_on_document_complete-->
habe ich HIER den ganzen Code nochmal stehen. vielleicht löst das ja auch dein Problem. (:
[LIVE]OTRS 3.0.10
ITSM 3.0.5
unter Windows
mit Oracle
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Damit geht's. Thx.
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
Misfitz
Znuny newbie
Posts: 43
Joined: 22 Feb 2012, 16:21
Znuny Version: 3_3_3
Real Name: Patrick Veit
Company: Ametras mobility

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by Misfitz »

Hallo,

ich habe versucht diesen Code für die Queues einzufügen, aber leider ohne Erfolg.

OTRS blendet mir die FreeText Felder nicht aus.

Mein vorhaben ist:

Ein Agent soll bei auswählen der Queues verschiedene FreeText Felder angezeigt bekommen. Die anderen FreeText Felder sollen komplett ausgeblendet werden. Leider habe ich keine Ahnung von der Materie :-(

Hier im Forum ist eine Anleitung aber die funktioniert bei mir leider auch nicht.

Code: Select all

<script type="text/javascript">//<![CDATA[
    $('#Dest').bind('change', function (Event) {
        Core.AJAX.FormUpdate($('#NewPhoneTicket'), 'AJAXUpdate', 'Dest', ['NewUserID', 'NewResponsibleID', 'NextStateID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', 'TicketFreeText1', 'TicketFreeText2', 'TicketFreeText3', 'TicketFreeText4', 'TicketFreeText5', 'TicketFreeText6', 'TicketFreeText7', 'TicketFreeText8', 'TicketFreeText9', 'TicketFreeText10', 'TicketFreeText11', 'TicketFreeText12', 'TicketFreeText13', 'TicketFreeText14', 'TicketFreeText15', 'TicketFreeText16', 'To', 'Cc', 'Bcc']);
		function nonetext() {
    // you should only add lines in here that A) you have defined in SysConfig and B) that you will show ... somewhen (in the switch/case) but not all the time.
          document.getElementById('TicketFreeText1').style.display = 'none';
          document.getElementById('LabelTicketFreeText1').style.display = 'none';
          document.getElementById('TicketFreeText2').style.display = 'none';
          document.getElementById('LabelTicketFreeText2').style.display = 'none';
          document.getElementById('TicketFreeText3').style.display = 'none';
          document.getElementById('LabelTicketFreeText3').style.display = 'none';
          document.getElementById('TicketFreeText4').style.display = 'none';
          document.getElementById('LabelTicketFreeText4').style.display = 'none';
		  document.getElementById('TicketFreeText5').style.display = 'none';
          document.getElementById('LabelTicketFreeText5').style.display = 'none';
          document.getElementById('TicketFreeText6').style.display = 'none';
          document.getElementById('LabelTicketFreeText6').style.display = 'none';
          document.getElementById('TicketFreeText7').style.display = 'none';
          document.getElementById('LabelTicketFreeText7').style.display = 'none';
          document.getElementById('TicketFreeText8').style.display = 'none';
          document.getElementById('LabelTicketFreeText8').style.display = 'none';
		  document.getElementById('TicketFreeText9').style.display = 'none';
          document.getElementById('LabelTicketFreeText9').style.display = 'none';
          document.getElementById('TicketFreeText10').style.display = 'none';
          document.getElementById('LabelTicketFreeText10').style.display = 'none';
          document.getElementById('TicketFreeText11').style.display = 'none';
          document.getElementById('LabelTicketFreeText11').style.display = 'none';
          document.getElementById('TicketFreeText12').style.display = 'none';
          document.getElementById('LabelTicketFreeText12').style.display = 'none';
    }
	
	switch ($('#Dest').val() ) { //this is where the queue is relevant (Dest = Queue)
        case  "2\|\|Meine Queue": // need to slash escape the pipes
          nonetext(); // This clears all the ticketfreetext listed before showing what you want
          document.getElementById('TicketFreeText3').style.display = 'block';
          document.getElementById('LabelTicketFreeText3').style.display = 'block';
        break;
    #   case "3\|\|Eine andere Queue": //Don't forget to slash escape BOTH pipes.
    #      nonetext(); // This clears all the ticketfreetext listed before showing what you want
    #      document.getElementById('TicketFreeText2').style.display = 'block';
    #      document.getElementById('LabelTicketFreeText2').style.display = 'block';
    #      document.getElementById('TicketFreeText3').style.display = 'block';
    #      document.getElementById('LabelTicketFreeText3').style.display = 'block';
    #      document.getElementById('TicketFreeText4').style.display = 'block';
    #      document.getElementById('LabelTicketFreeText4').style.display = 'block';
    #   break;
    #    default:
    #      document.compose.RichText.value = $('#Dest').val(); //remove this. debug only. shows queue information
    #      document.getElementById('TicketFreeText3').style.display = 'none';
    #      document.getElementById('LabelTicketFreeText3').style.display = 'none';
	
	});
//]]></script>
Ich verstehe diesen Code so, dass bei der Auswahl für ein Neues PhoneTicket dem Agenten alle Freetextfelder der Sysconfig angezeigt werden ausser wenn er die Queue ID 2\|\|Meine Queue auswählt wird Ihm das FreeText Feld 3 nicht angezeigt. Aber in diesem Fall wird bei der Queueauswahl nicht mal mehr die Eingabemaske refresht.

Kann mir hier jemand behilflich sein. Danke.

Ich verzweifle fast!!!
DasaTech
Znuny newbie
Posts: 3
Joined: 22 Mar 2012, 11:28
Znuny Version: 31200

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by DasaTech »

Hallo ihr Lieben,

ich bin dem Thread hier soweit gefolgt und habe meinen Code antsprechend angepasst. Habe ihn auch unten wie beschrieben positioniert:

Code: Select all

<!-- dtl:js_on_document_complete -->
<script type="text/javascript">
    Core.Customer.InitFocus();
	
	switch ($('#TypeID').val() ) {
        case "9":
            document.getElementById('DynamicField_Kunststofftyp').style.display = 'block';
         document.getElementById('LabelDynamicField_Kunststofftyp').style.display = 'block';
        break;
        default:
      document.getElementById('DynamicField_Kunststofftyp').style.display = 'none';
        document.getElementById('LabelDynamicField_Kunststofftyp').style.display = 'none';
    }   
	
</script>
<!-- dtl:js_on_document_complete -->
Die ID ist korrekt und der Name des DynamicFields is´t auch korrekt.

Dennoch erhalte ich im CustomerBereich folgende Fehlermeldung:

document.getElementById("DynamicField_Kunststofftyp") is null

Irgendwie steige ich nicht dahinter wo das Problem liegt. Weiss hier jemand Rat?

Würde mich über Lösungsvorschläge sehr freuen. Danke

Grüße
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Ich würde sagen, er findet keinen Inhalt oder Bezug zu dem passenden Datenfeld, was auf einen ev. falschen Namen oder Feldbezeichnung deutet. Ist das Feld vielleicht auf ungültig gesetzt?


Eine neue Frage hat sich bei mir auch noch eröffnet:

Bei Auswahl des Typs erscheinen die entsprechenden Felder. Aber teilweise stehen diese nicht direkt unter einander, sonders es wird zeilenweise Platz gelassen (wahrscheinlich für die ausgelassenen Felder, denke ich). Da ich die Felder mittlerweile über dem Textfeld einblenden lasse, ist das natürlich sehr unschön, da beim Aufrufen der Seite unter der Ticket-Typ Auswahl nun ca. 7 cm Platz ist.

Wie kann ich angeben, dass die Felder, trotz des Ausblendens einiger Felder, zusammen unter einander eingeblendet werden?

Und eins noch: Ich nutze auch ein FreeTime-Feld. Leider funktioniert das Ausblednen bei diesem mit dem folgenden Code nicht. Wo liegt der Fehler? Muss der code bei diesen Feldern anders sein?

Code: Select all


case "1":
  document.getElementById('DynamicField_TicketFreeTime1').style.display = 'none';
	document.getElementById('LabelDynamicField_TicketFreeTime1').style.display = 'none';

OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
sokatec
Znuny newbie
Posts: 50
Joined: 09 Sep 2009, 10:00
Znuny Version: 3.1.x

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by sokatec »

Hallo zusammen,

mit folgendem Code blende ich Dynamische Felder ein bzw. aus:
Meine Frage ist nun: Wie kann ich bei einer entsprechenden Eingabe in einem dynamischen Feld ein weiteres dynamisches Feld anzeigen lassen?
Also z.B. Wenn der Customer im Formular im Feld "Test" eine "Ja" einträgt (oder auswählt) soll ein weiteres dynamischen Feld angezeigt werden. (z.B. ein Datumsfeld)

Kann mir jemand helfen?

Vielen Dank und Grüße

Code: Select all

   switch ($('#TypeID').val() ) {
   case "9":
         document.getElementById('DynamicField_TEST').style.display = 'block';
        document.getElementById('LabelDynamicField_TEST').style.display = 'block';

        document.getElementById('LabelDynamicField_TEST').className = 'Mandatory';
			document.getElementById('DynamicField_TEST').className = 'DynamicField_TEST  Validate_RequiredDropdown ServerError';
		break;
        default:
		
         document.getElementById('DynamicField_TEST').style.display = 'none';
        document.getElementById('LabelDynamicField_TEST').style.display = 'none';

	}  
"Produktiv": OTRS: 3.1.x, ITSM
OS: Windows
Apache2/MySQL 5
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Da muss ich passen.

Meine Frage mit dem Ausblenden des Zeitfeldes ist noch offen. Bei folgendem Code bekomme ich immer eine Fehlermeldung.

Code: Select all

document.getElementById('DynamicField_TicketFreeTime1').style.display = 'none';
   document.getElementById('LabelDynamicField_TicketFreeTime1').style.display = 'none';

OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
beflo
Znuny newbie
Posts: 3
Joined: 04 Apr 2013, 12:24
Znuny Version: 3.2.2
Real Name: Florian

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by beflo »

Hi,

ich habe die Tipps bei uns entsprechend umgesetzt und der Code sieht zum Test folgendermaßen aus:

Code: Select all

	switch ($('#TypeID').val() ) {
	case "11":
            document.getElementById('DynamicField_Telefonnummer').style.display = 'block';
         document.getElementById('LabelDynamicField_Telefonnummer').style.display = 'block';
		 document.compose.RichText.value = "Name: <br/> Org.-Einheit: ";
     	break;
        default:
		   document.getElementById('DynamicField_Telefonnummer').style.display = 'none';
         document.getElementById('LabelDynamicField_Telefonnummer').style.display = 'none';
		
          }  
Er blendet wie gewünscht auch das Feld standardmäßig aus. Allerdings blendet er mir es nicht ein, wenn ich den Ticket-Typ ändere.
Ich sehe nur absolut kein Fehler oder hat sich in Version 3.2.2 wieder etwas geändert?

DANKE!
beflo
Znuny newbie
Posts: 3
Joined: 04 Apr 2013, 12:24
Znuny Version: 3.2.2
Real Name: Florian

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by beflo »

Also ich hab das jetzt anders gelöst.
Der Tickettyp wird nun per URL mitgegeben und es gibt einen neuen Menüeintrag in der Menüleiste.
TheDude
Znuny expert
Posts: 208
Joined: 24 Jan 2012, 15:01
Znuny Version: 4.0.13
Real Name: Jörg Brümmer
Company: Kreis Minden-Lübbecke

Re: [gelöst] Ticket-Formular abhängig vom Tickettyp

Post by TheDude »

Mit

Code: Select all

document.compose.RichText.value = "<br/>HINWEISTEXT";
lasse ich einen Hinweis im Textfeld erscheinen. gibt es eine Möglichkeit, dass dieser Text entfernt wird, sobald jemand in das Textfeld klickt oder einen Tickettyp ausgewählt hat?
OTRS 5.0.18 auf Debian Linux | Apache2 | MySQL
Post Reply