Buenos días
Vuelvo a crear el topic para que, en caso que llegue a la solución, también quede como guía a otros desarrolladores que estén iniciado con php-js y SuiteCRM.
Despues de varias recomendaciones de encarar esto por el Front, estoy intentando que la alerta de los duplicados salga dinámicamente cuando se carga el campo.
Al no tener la Custom View creada, heredé la actual e hice una llamada a un script JS.
Paso las rutas donde fue creado cada archivo:
VISTA ← Custom/modules/MODULO->views
PHP ← Custom/modules/MODULO
JS ← Custom/modules/MODULO
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once 'modules/Contacts/views/view.edit.php';
class CustomContactsViewEdit extends ContactsViewEdit
{
public function __construct()
{
parent::__construct();
$this->useForSubpanel = true;
$this->useModuleQuickCreateTemplate = true;
}
public function display()
{
parent::display();
echo '<script> validacion() </script>';
}
}
SCRIPT:
$('#cuil2_c').keyup(function(){
var cod = $("#cuil2_c").val(); //console.log(cod);
// llamada ajax a un archivo php donde realizas la query a la base de datos
$.post('../../../custom/modules/Contacts/verificacionCuit.php'),
{
codigo: $("#cuil2_c").val(), record: document.EditView.record.value
}
function(data) {
console.log(data);
if (data === 1) {
removeFromValidate('EditView', 'cuil2_c');
addToValidate('EditView', 'cuil2_c', 'text', true, 'Cuil Required');
mostrar_modal('Este código ya está utilizado');
//$('#nro_iden_value_result').html('<strong style="color:red;"> ✗</strong>');
$("#cuil2_c").val('');
$("#cuil2_c").css({"background":"#d8f5ee"});//default
}
else {
removeFromValidate('EditView', 'cuil2_c');
addToValidate('EditView', 'cuil2_c', '', true, 'Cuil Required');
//$('#nro_iden_value_result').html('<strong style="color:green;"> ✓</strong>');
$("#cuil2_c").css({"background":"#82e0aa"});//verde
}
});
});
Archivo PHP con valor de retorno para coincidencias:
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class verificacionCuit
{
public function verificaCuit($bean)
{
$cuil_ingresado = $bean->cuil2_c;
$accountBean = BeanFactory::getBean('Contacts');
$beanlist = $accountBean->get_list(
$order_by = "first_name",
$where = "cuil2_c = ${cuil_ingresado}",
$row_offset = 0,
$limit=-1,
$max=-1,
$show_deleted = 0);
if($beanlist['row_count'] >= 1 ){
return 1;
exit;
} else {}
}
}
?>
Sigo sin éxito en las pruebas en mi entorno local y no logro encontrar el error.
¿Donde podría investigar sobre esto? ¿Alguien sabe como podría encararlo?
Gracias !