
On Wed, 27 Oct 2004 14:58:35 -0600, Tyler Hepworth
On Wed, 27 Oct 2004 14:40:28 -0400, Pete McDonnell
wrote: Rudi, do you think this is something that would have to be set using Perl code (altering the function, perhaps?) Or might one be able to change the order in which the options are displayed using HTML changes?
I wonder if it's simply displaying them in alphabetical order right now?
No it is not. If you look at Contact Customer (phone), it is set to "yes". If you look at Compose Answer (email) it is set to "no". I am digging through the source code to figure out how this is generated. Please be patient as I hope to have something figured out by the end of today.
Ok, I have some insight on this with a NOT RECOMMENDED fix. The code for Compose Answer is contained in AgentCompose.pm The code for Contact Customer is in AgentPhone.pm. Here is the gist of it if $Param{Answered} is defined then set the select option value to display the defined value. Otherwise, set the selected value to "Yes" and display that. When dumping the result of $Param{Answered}, AgentCompose.pm returns the value "0", which is a defined value and corresponds to the state "No". If you change the value to "Yes" and submit it, then the next time you work on the ticket $Param{Answered} returns a value of 1 and displays "Yes" in the ticket screen. So this works as it should. It is built that way by design. Where does $Param{Answered} come from you might ask? It is stored in the database in the table "ticket". The column is "ticket_answered". So, ultimately, what is displayed in the ticket screen (yes or no) depends on what is stored in the database. All new tickets are created with a default value of "0". Why does Contact Customer show "yes" then? Dumping the result of $Param{Answered} returns undef - it is not defined. I have set a ticket to "No", submitted, and reopened, but it always displays "Yes" even if the value in the database is "No". This is a bug that needs to be fixed. So, how can I make Contact Customer (email) display yes (other than setting it to yes and saving it). You have to break the system. You either have to reprogram the ticket module to make the default value of new tickets "1" which would be a lie. Or you can modify $Param{Answered} in AgentCompose.pm to set it to undef. Which would make the ticket also show "Yes" regardless of whether that is really true.