Como segunda parte al articulo de
mejoras para la plantilla Discussion Next Gen vamos a ver como hemos habilitado la posibilidad de envío de mensajes privados.
Demo
Foro ESLUG Si recordáis del anterior articulo, vimos que en el Avatar habíamos incluido la imagen
la cual abría un cuadro de dialogo
Que nos permitía mandar el mensaje, esto lo conseguíamos llamando a la función
showDialogTwo(par1, par2) donde los parámetros eran el destinatario y el usuario remitente.
¿Como lo hacemos?
1-. Preparamos el cuadro de dialogo.
Para ello es necesario incluir el modulo de Dojo o mas bien Dijit que tiene la funcionalidad, en este caso el Dijit.Dialog, además como veis en el ejemplo hemos puesto otros módulos como el editor de Dojo (que no es el mismo que viene para los Rich Text).
2-. Creamos la capa "formDialog" donde ira el cuadro de Dialogo y la dejamos oculta con
style="display:none;" fijaros que es importante decir que tipo de objeto es en el atributo
dojoType en este caso
dijit.Dialog y hay otro atributo
execute que ejecuta una función al hacer submit.
3-. Una vez creada la capa cargamos el objeto en una variable
secondDlg cuando cargue la pagina
y creamos una función
showDialogTwo que sera la que muestre la capa
En esta función le metemos el HTML dentro de la capa incluyendolo en la atributo
content, también le damos un titulo al cuadro con el atributo
title y por ultimo los mostramos en pantalla con el
método show() Si os fijáis este script esta incrustado en un control de tipo
SCRIPTBLOCK que hemos puesto en la Xpage
Bueno hasta aqui todo ok, ahora falta explicar que hace la funcion que se ejecuta cuando hacemos submit del mensaje privado.
Básicamente lo que hace es crear un documento de tipo mensaje privado (es un formulario de toda la vida) pasándole mediante POST los campos
En este formulario hemos puesto un agente en el WebQuerySave para que envíe un correo al destinatario informándole de que tiene un nuevo mensaje y de paso hacer un ComputeWithForm del documento creado, ya que tiene muchos mas campos de los que le hemos puesto.
Bueno,no se si os he aclarado u os he puesto la cabeza como un plato. En fin cualquier duda o sugerencia ya sabéis que podéis exponerla aquí o en el
foro Un Saludo
XpagesOpenNTFForos