Hi,
we've been reluctant to customize the "Edit ticket 80" screen for Online customers, because we prefer that they use the standard screens as much as possible. However, in some edge cases we are forced to make some sort of modification to it.
I'm trying to figure out what the best way to configure the ScreenChoosers are, so that everything works as close to normal as possible. Both for new tickets, replying to tickets, editing tickets, creating new tickets from persons and whereever else the Edit Ticket is called.
Here are the three screenchoosers I'm testing out so far:
New request
#setLanguageLevel 3;
String args;
Map cgi = getCgiVariables();
cgi.remove("action");
cgi.remove("_sf");
cgi.insert("actionType", "0"); //0 = New request
for (cgi.first(); !cgi.eof(); cgi.next())
args += "&" + cgi.getKey() + "=" + cgi.getVal();
setVariable("url", getProgramTicket() + "&action=doScreenDefinition&idString=ej_editTicket_80_kopi" + args);
Edit request
#setLanguageLevel 3;
String args;
Map cgi = getCgiVariables();
cgi.remove("action");
cgi.remove("_sf");
cgi.insert("entryId", cgi.get("ticketId"));
cgi.insert("actionType", "2"); //2 = Edit request
for (cgi.first(); !cgi.eof(); cgi.next())
args += "&" + cgi.getKey() + "=" + cgi.getVal();
setVariable("url", getProgramTicket() + "&action=doScreenDefinition&idString=ej_editTicket_80_kopi" + args);
Reply to customer
#setLanguageLevel 3;
String args;
Map cgi = getCgiVariables();
cgi.remove("action");
cgi.remove("_sf");
cgi.insert("entryId", cgi.get("ticketId"));
cgi.insert("actionType", "1"); //1 = Add message
for (cgi.first(); !cgi.eof(); cgi.next())
args += "&" + cgi.getKey() + "=" + cgi.getVal();
setVariable("url", getProgramTicket() + "&action=doScreenDefinition&idString=ej_editTicket_80_kopi" + args);
This seems to "mostly" work, but there is at least one problem. When you start out with the inline-reply to customer, but then click the Edit button it crashes:


What are the experiences you guys have when modifying the "Edit ticket" screen in Online?