crythias wrote:1000 < 1010, so it wins.
But if it does win, it would apply to customers, too.
If I'm reading it properly, *any* customer choosing Type Rfc::SEBC will have those options.
Also, imo, you're using Type where it probably should be a queue or service.
Hi crythias
I made a mistake: Customer or Agent selects the queue and on this selection jscript code set the right type id.
So I changed the numeric label, and I substitute Type with queue but it doesn't work, but I saw a funny behaviour on the CustomerTicketMessage dtl:
Assuming i have queue A, B and SEBC-RfC-Auth (queue used into the acl criteria)
step 1 selected A the acl has no effect (Right)
step 2 selected SEBC-RfC-Auth the acl has no effect (Wrong)
step 3 selected A (or B) the
acl has effect (Wrong again)
It seems has the acl action is delayed on the next refresh of the form, I'll try two or three times the same sequence and I took always the same result.
I use the same approach, but based on queue selection switching, on the AgentTicketPhone form (same jscript funtion, same calling sequence, same 'logic') but there is a basic difference:
In CustomerTicketMessage the main logic is at the bottom of dtl
Code: Select all
<script type="text/javascript">
Core.Customer.InitFocus();
clearMandatory();
clearOptField();
unsetMandatory();
switch ($('#Dest').val() ){
case "1\|\|Postmaster":
alert("Attenzione! Utente non autorizzato a questa richiesta !");
document.getElementById('TypeID').value = '1';
break;
case "2\|\|Raw":
alert("Attenzione! Utente non autorizzato a questa richiesta !");
document.getElementById('TypeID').value = '1';
break;
case "3\|\|Junk":
alert("Attenzione! Utente non autorizzato a questa richiesta !");
document.getElementById('TypeID').value = '1';
break;
case "4\|\|Misc":
alert("Attenzione! Utente non autorizzato a questa richiesta !");
document.getElementById('TypeID').value = '1';
break;
case "5\|\|S1-Richiesta-Disponibilità":
document.getElementById('TypeID').value = '16';
showColField();
setColField();
document.getElementById('DynamicField_TicketFreeText3').value = '11 - Richiesta Collegamento';
break;
case "6\|\|S2-Interventi-Centrali":
document.getElementById('TypeID').value = '17';
showDgsaOpField();
setDgsaOpField();
break;
case "7\|\|S3-Interventi-Intermedi":
document.getElementById('TypeID').value = '18';
showDgsaOpField();
setDgsaOpField();
break;
case "8\|\|RfC-1-Non-Standard":
document.getElementById('TypeID').value = '20';
showRfCField();
setRfCField();
break;
case "9\|\|RfC-2-Standard":
document.getElementById('TypeID').value = '19';
document.getElementById('DynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.color = "red";
document.getElementById('LabelDynamicField_TicketFreeText2').style.fontWeight= "bold";
showRfCField();
setRfCStdField();
break;
case "10\|\|RfC-3-Hot-Fix":
document.getElementById('TypeID').value = '21';
showRfCField();
setRfCField();
break;
case "11\|\|RfC-4-Emergency":
alert("Attenzione! Utente non autorizzato a questa richiesta !");
document.getElementById('TypeID').value = '1';
break;
case "12\|\|DSVAI-AUTH-RfC-1-Non-Standard":
document.getElementById('TypeID').value = '20';
showRfCField();
setRfCField();
break;
case "13\|\|DSVAI-AUTH-RfC-2-Standard":
document.getElementById('TypeID').value = '19';
document.getElementById('DynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.color = "red";
document.getElementById('LabelDynamicField_TicketFreeText2').style.fontWeight= "bold";
showRfCField();
setRfCStdField();
break;
case "24\|\|SEBC-RfC-Auth":
document.getElementById('TypeID').value = '23';
document.getElementById('DynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.color = "red";
document.getElementById('LabelDynamicField_TicketFreeText2').style.fontWeight= "bold";
showRfCField();
setRfCStdField();
break;
default:
alert("Attenzione! Richiesta errata. Selezionare una richiesta tra quelle disponibili");
}
</script>
<!-- dtl:js_on_document_complete -->
But in AgentTicketPhone is after the Queue field declaration
<label class="Mandatory" for="Dest"><span class="Marker" style="color:red">*</span> <b style="color:red">$Text{"Seleziona richiesta"}:</b></label>
<div class="Field">
$Data{"ToStrg"}
<div id="DestError" class="TooltipErrorMessage" ><p>$Text{"This field is required."}</p></div>
<div id="DestServerError" class="TooltipErrorMessage"><p>$Text{"This field is required."}</p></div>
<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
$('#Dest').bind('change', function (Event) {
# alert("Attenzione! Evento Modifica coda");
clearMandatory();
clearOptField();
unsetMandatory();
switch ($('#Dest').val() ){
case "1\|\|Postmaster":
document.getElementById('TypeID').value = '1';
break;
case "2\|\|Raw":
document.getElementById('TypeID').value = '1';
break;
case "3\|\|Junk":
document.getElementById('TypeID').value = '1';
break;
case "4\|\|Misc":
document.getElementById('TypeID').value = '1';
break;
case "5\|\|S1-Richiesta-Disponibilità":
document.getElementById('TypeID').value = '16';
showColField();
setColField();
document.getElementById('DynamicField_TicketFreeText3').value = '11 - Richiesta Collegamento';
break;
case "6\|\|S2-Interventi-Centrali":
document.getElementById('TypeID').value = '17';
showDgsaOpField();
setDgsaOpField();
document.getElementById('TicketFreeText3').value = '';
break;
case "7\|\|S3-Interventi-Intermedi":
document.getElementById('TypeID').value = '18';
showDgsaOpField();
setDgsaOpField();
document.getElementById('TicketFreeText3').value = '';
break;
case "8\|\|RfC-1-Non-Standard":
document.getElementById('TypeID').value = '20';
showRfCField();
setRfCField();
break;
case "9\|\|RfC-2-Standard":
document.getElementById('TypeID').value = '19';
document.getElementById('DynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.color = "red";
document.getElementById('LabelDynamicField_TicketFreeText2').style.fontWeight= "bold";
showRfCField();
setRfCStdField();
break;
case "10\|\|RfC-3-Hot-Fix":
document.getElementById('TypeID').value = '21';
showRfCField();
setRfCField();
break;
case "11\|\|RfC-4-Emergency":
document.getElementById('TypeID').value = '22';
showRfCField();
setRfCField();
break;
case "24\|\|SEBC-RfC-Auth":
document.getElementById('TypeID').value = '23';
document.getElementById('DynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.display = 'block';
document.getElementById('LabelDynamicField_TicketFreeText2').style.color = "red";
document.getElementById('LabelDynamicField_TicketFreeText2').style.fontWeight= "bold";
showRfCField();
setRfCStdField();
break;
default:
alert("Attenzione! Richiesta errata. Selezionare una richiesta tra quelle disponibili");
}
Core.AJAX.FormUpdate($('#NewPhoneTicket'), 'AJAXUpdate', 'Dest', ['TypeID', 'NewUserID', 'NewResponsibleID', 'NextStateID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', $Data{"DynamicFieldNamesStrg"}, 'To', 'Cc', 'Bcc']);
});
//]]></script>
<!--dtl:js_on_document_complete-->
in this case the acl always works correctly.
So I'wonder if the problem is not on the acl but on the different code position leading to a different behaviour of the form.
regards