how can customer send ticket without choosing queue?

Moderator: crythias

Locked
msillanp
Znuny newbie
Posts: 4
Joined: 20 May 2010, 12:27
Znuny Version: 2.4

how can customer send ticket without choosing queue?

Post by msillanp »

I like to know how I can do to customers send tickets without choosing any queue? Every tickets should go 1 queue and admins can change tickets queue then. Customers should not see or choose any queue in their frame. They only type a ticket and then send it.
crythias
Moderator
Posts: 10170
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: how can customer send ticket without choosing queue?

Post by crythias »

Edit:
JoJo posted this related to what Queues can be shown to Customers (in German Forum):
by jojo "20 May 2010, 17:35

On the front end SysConfig (Ticket ->:: Customer:: Ticket:: ViewNew) parameters: CustomerPanelOwnSelection

Besides having them log on to their customer portal, most times they can send an email and get sent to the default queue.

You may also edit CustomerTicketMessage.dtl around this area to include your Default Queue Name:

Code: Select all

<!-- dtl:block:TicketType -->
                                <tr>
                                    <td width="15%" class="contentkey">$Text{"To"}:</td>
                                    <td width="85%" class="contentvalue">
                                        $Data{"ToStrg"}
                                        <font color="red" size="-2">$Text{"$Data{"Queue invalid"}"}</font>
                                    </td>
                                </tr>
If you're going to edit the .dtl files, you might choose to create a new "Theme" for your customers which holds all your modified .dtl files (originals/unmodifieds will be in Standard) so that they won't be overwritten upon OTRS upgrade. Don't forget to http://doc.otrs.org/2.4/en/html/c2079.html read up on how to make your theme active.

Alternative method: (I haven't tested, but seems to be the way you might take a look) enable CustomerGroupSupport and assign Customers to the Group that holds the Queue you want. The down side of this is groups can hold multiple queues.
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
msillanp
Znuny newbie
Posts: 4
Joined: 20 May 2010, 12:27
Znuny Version: 2.4

Re: how can customer send ticket without choosing queue?

Post by msillanp »

Thanks for advice crythias. I know that I should edit $Data{"ToStrg"} in CustomerTicketMessage.dtl but I don't know how to do that. I'm not good in programming so I don't know how I should change that to change default queue - to real queue. I would be very thankful if somebody could give me example for that.
Mike_B
Moderator
Posts: 266
Joined: 12 Jan 2010, 18:16
Znuny Version: CVS HEAD

Re: how can customer send ticket without choosing queue?

Post by Mike_B »

Hi,

Please also check this article on the wiki: http://wiki.otrs.org/index.php?title=Qu ... _Front_End

Hope it helps,

Mike.
huntingbears.nl - @michielbeijen on Twitter
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: how can customer send ticket without choosing queue?

Post by luisjf »

msillanp wrote:Thanks for advice crythias. I know that I should edit $Data{"ToStrg"} in CustomerTicketMessage.dtl but I don't know how to do that. I'm not good in programming so I don't know how I should change that to change default queue - to real queue. I would be very thankful if somebody could give me example for that.


is a good question! How I do? anybody knows?
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
crythias
Moderator
Posts: 10170
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: how can customer send ticket without choosing queue?

Post by crythias »

This is the "view code" for the rendered web page:

Code: Select all

<td width="15%" class="contentkey">To:</td> 
                                    <td width="85%" class="contentvalue"> 
                                        <select name="Dest"    onchange="document.compose.Expand.value='3'; document.compose.submit(); return false;"> 
<option value="||-">-</option> 
<option value="3||Junk">Junk</option> 
<option value="4||Misc">Misc</option> 
<option value="1||Postmaster">Postmaster</option> 
<option value="2||Raw">Raw</option> 
<option value="5||email-service">email-service</option> 
</select> 
<a id="AJAXImageDest"></a> 
which is generated from the dtl part:

Code: Select all

<!-- dtl:block:TicketType -->
                                <tr>
                                    <td width="15%" class="contentkey">$Text{"To"}:</td>
                                    <td width="85%" class="contentvalue">
                                        $Data{"ToStrg"}
                                        <font color="red" size="-2">$Text{"$Data{"Queue invalid"}"}</font>
                                    </td>
                                </tr>
so to force a Queue, we'll need to know a value and assign it to Dest all the time.

Code: Select all

<!-- dtl:block:TicketType -->
                                <tr>
                                    <td width="15%" class="contentkey">&nbsp;</td>
                                    <td width="85%" class="contentvalue">
                                        <input type="hidden" name="Dest" value="4||Misc" />
                                    </td>
                                </tr>
strong hint: get the value from "View Source" before you do make the change. Also, this is permanent and affects all clients using the web form. This doesn't prevent PostmasterFilter from assigning Queues, for instance, based upon email addresses (To or From).
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: how can customer send ticket without choosing queue?

Post by luisjf »

oh thank you crythias! works perfectly!! is a great solution!!

msillanp I think that you can put [SOLVED] in the title of the item ...
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
altjx
Znuny newbie
Posts: 56
Joined: 02 Sep 2010, 22:22
Znuny Version: None

Re: how can customer send ticket without choosing queue?

Post by altjx »

Sorry to bring back an old thread but this looks very helpful. However, in the customerticketmessage.dtl file, this is what's all in the file here:

Code: Select all

<!-- dtl:block:TicketType -->
                <div>
<!--<label for="TicketNumber">$Config{"Ticket::Hook"}</label>
                    <input title="Ticket#" type="text" name="TicketNumber" size="30" value="$QData{"TicketNumber"}" />-->
                    <label for="TypeID">$Text{"Type"}:</label>
                    $Data{"TypeStrg"}
                    <div class="Clear"></div>
                </div>
<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
    $('#TypeID').bind('change', function (Event) {
        // make sure the ticket is not yet created on queue change
        $('input#Expand').val(1);
        Core.Form.Validate.DisableValidation($(this).closest('form'));
        $(this).closest('form').submit();
    });
//]]></script>
<!--dtl:js_on_document_complete-->
<!-- dtl:block:TicketType -->
and

Code: Select all

<!-- dtl:block:Queue -->
                <div>
                    <label for="Dest" class="Mandatory">
                        <span class="Marker">*</span>
                        $Text{"To"}:
                    </label>
                    $Data{"ToStrg"}
                    <div id="DestError" class="TooltipErrorMessage" ><p>$Text{"This field is required."}</p></div>
                    <div id="DestServerError" class="TooltipErrorMessage NoJavaScriptMessage$QData{"QueueInvalid"}" ><p>$Text{"This field is required."}</p></div>
                    <div class="Clear"></div>
                </div>
<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
    $('#Dest').bind('change', function (Event) {
        // make sure the ticket is not yet created on queue change
        $('input#Expand').val(1);
        Core.Form.Validate.DisableValidation($(this).closest('form'));
        $(this).closest('form').submit();
    });
//]]></script>
<!--dtl:js_on_document_complete-->
<!-- dtl:block:Queue -->
From what in there wopuld we change? Tried comparing it to your post but things didn't match up. This seems to be completely different on OTRS 3.0.7 and I'd like to keep the dropdown visible but already selected by default.

I also tried to change the SysConfig > Tickekt >Frontend::Customer::ModuleRegistration > to Action=CustomerTicketMessage;Subaction=StoreNew;Dest=5||IT Help Desk

That worked, but for some reason I get "One or more errors has occurred". when I hit OK, it shows that the subject field is required... Any idea why it generated that error and how to take care of it?
OTRS 3.1.6
altjx
Znuny newbie
Posts: 56
Joined: 02 Sep 2010, 22:22
Znuny Version: None

Re: how can customer send ticket without choosing queue?

Post by altjx »

FIXED!!

Anyone else who have this issue, just add ;Expand=1 at the end of the line

http://bugs.otrs.org/show_bug.cgi?id=6200
OTRS 3.1.6
Locked