| Autor |
Mensaje |
andres22
Registrado: ene. 2011
Mensajes: 17
Estado: Desconectado Ultima visita: 26.01.11
|
BuenasTardes, estoy tratando de mostrar unas alertas en unas validaciones, desde “logic hooks”. las validaciones estan bien, pero requiero informar al usuario.
Estaba intentando algo simple como.
echo ' alert(""); ';
pero no se muestra el pop up, ¿alguien conoce que funciones proporciona Sugar para mostrar un mensaje de alerta simple?, algo sencillo que se pase como parámetro el texto y nada mas. Gracias.
|
| Enviado: 19.01.2011, 15:53
|
|
 |
eschmirman
Registrado: ene. 2010
Mensajes: 162
Estado: Desconectado Ultima visita: 15.05.12
|
Hola Andres, el alert es una sentencia de JavaScript, por lo que si lo haces desde PHP (Mal Hecho)
debes indicarle que es un codigo javascript.
Te sugiero que nos planetees tu inquietud pero desde otro punto de vista, es decir, desde que vista quieres hacer que.
Saludos,
Cualquier inquietud, no dejes de contactarme.
Saludos,
Esteban Schmirman
GrowIT - SugarCRM
* Gold Partners *
Buenos Aires, Arg
+54(11) 4856-7780
Santiago, Chile
+56 (2) 495-7314
Skype: eschmirman
|
| Enviado: 19.01.2011, 16:01
|
|
 |
andres22
Registrado: ene. 2011
Mensajes: 17
Estado: Desconectado Ultima visita: 26.01.11
|
Claro yo lo se, no s eporque me borro las etiquetas, yo estaba poniendo codigo javascript desde un ehco en php.
echo ' < s cript > alert(""); < / script > ' ;
Peor bueno uno de las validaciones es que al guardar la actualizacion de un Bug, antes de guardar evaluo si uno de los campos del Objeto Bug llega en estado 'cerrado', actualizo si previamente un campo de otra lista desplegable esta en X estado, si no se cumple, actualizo el campo estado con el valor previo. Pero entonces debo informarle al usuario que para cerrar el Bug el otro campo que llamo "tipo de solucion" debe estar en un estado X. Lo que requiero es un mensaje que se muestre cuando se cumpla la sentencia logica del "logic hook" pues la validacion ya esta
editado por: andres22, 19 Ene, 2011 - 04:27
|
| Enviado: 19.01.2011, 16:24
|
|
 |
eschmirman
Registrado: ene. 2010
Mensajes: 162
Estado: Desconectado Ultima visita: 15.05.12
|
Ok, esa validación la tienes que hacer desde javascript... Pero antes de enviar el request al server.
Fijate en la developer guide o en algun foro que explican bien como introducir javascript e invocarlo antes de llamar al botón Guardar.
Éste javascript que te menciono, no debes utilizarlo en los logic hook, sino que, en la clase EditView debes cargar tu js custom.
Saludos,
Cualquier inquietud, no dejes de contactarme.
Saludos,
Esteban Schmirman
GrowIT - SugarCRM
* Gold Partners *
Buenos Aires, Arg
+54(11) 4856-7780
Santiago, Chile
+56 (2) 495-7314
Skype: eschmirman
|
| Enviado: 19.01.2011, 16:43
|
|
 |
andres22
Registrado: ene. 2011
Mensajes: 17
Estado: Desconectado Ultima visita: 26.01.11
|

Bueno gracias por tu respuesta, aunque no lo he solucionado y no encuentro el archivo EditView. Pero bueno, aprovecho este hilo para ver si alguien me puede indicar cual es el error en este codigo.
El codigo de la funcion es el siguiente, el error estaria en la instancia del objeto Cases:
require_once('data/SugarBean.php');
if(!defined('sugarEntry') || !sugarEntry) die('Invalid Sugar EntryPoint');
class cases_hook {
function padre_de_tarea(&$bean, $event, $arguments){
/*
Valida que solo se pueda actualizar el estado de un hallazgo (Case) a "cerrado", si las actividades (tareas)
relacionadas se encuentran en estado "completada"
*/
$db = DBManagerFactory::getInstance();
$query="Select * from tasks where status not in ('Completed') and parent_id='".$bean->id."'";
$rs=$db->query($query, true, 'Error al realizar el select: ');
if($bean->estado_hallazgos_c =='Closed' && $row[$i] = $db->fetchByAssoc($rs)){
$hTmp = new Cases();
$hTmp->retrieve($bean->id);
$antiguo=$hTmp->estado_hallazgos_c;
$bean->estado_hallazgos_c=$antiguo;
}
else{
}
}
.
.
.
me dice que no encuentra la clase Cases, pero supuestamente deberia de existir el ese objeto o no... y cambio a = new Case y me muestra:
Parse error: syntax error, unexpected T_CASE, expecting T_STRING or T_VARIABLE or '$' in C:\AppServ\www\SugarCRM\custom\modules\Cases\hallazgos_Hook.php on line 37
¿Porque no me deja instanciar el objeto Cases?
otra pregunta, ¿no hay otro metodo mas sencillo para desplegar el mensaje cuando se cumple una validacion desde un logic hook? Gracias
|
| Enviado: 20.01.2011, 23:25
|
|
 |
andres22
Registrado: ene. 2011
Mensajes: 17
Estado: Desconectado Ultima visita: 26.01.11
|

Buenas tardes,
Estoy mostrando mensajes informativos cuando se cumple una validación dentro un script que llama el logic hook con el siguiente código.
if (cumple){
.
.
.
if(! function_exists('displayAdminError')) {
require_once('modules/Administration/DisplayWarnings.php');
}
$_SESSION['administrator_error'] .= 'LA PQR NO PUEDA SER ACTUALIZADA AL ESTADO "CERRADO"
HASTA QUE EL "TIPO DE SOLUCION" SEA DEFINITIVO
';
}
Me muestra un mensaje en rojo en la parte superior de la vista, pero me doy cuenta que el mensaje aparece solo para el usuario administrador.
En el archivo DisplayWarnings.php no veo ninguna variable de sesión para un mensaje normal a todos los usuarios.
Intente enviando directamente el parámetro a la función displayAdminError(), pero no funciona, en el cpdigo de DisplayWarnings.php observo que a la función se le envían como parámetro el resultado de traslate(), por ejemplo.
displayAdminError(translate('MSG_REBUILD_RELATIONSHIPS', 'Administration'));
n se donde esta la función traslate(). Asi que estoy buscando una variable de sesión, como $_SESSION['administrator_error'] pero que puedan ver todos os usuarios. Si alguien me puede ayudar le agradezco.
editado por: andres22, 26 Ene, 2011 - 05:36
|
| Enviado: 26.01.2011, 17:33
|
|
 |