protected function enviarAvisoRelDocumentoTrabajadores($documento = null) { //Enviar mensaje a los trabajadores relacionados con el documento. if (!$documento instanceof Documento) { throw new Exception("No ha facilitado un documento"); } //Para crear enlaces: $params_show = "documentos/show?id_documento=" . $documento->getPrimaryKey(); $params_download = "historico_documentos/descargar"; $params_download .= "?id_documento=" . $documento->getPrimaryKey(); $params_download .= "&version=" . $documento->getUltimaVersion(); $url_show = $this->getController()->genUrl($params_show, true); $url_download = $this->getController()->genUrl($params_download, true); $link_show = "<a href=\"" . $url_show . "\">pulse aquí</a>"; $link_download = "<a href=\"" . $url_download . "\">pulse aquí</a>"; $proyecto = $documento->getProyecto(); $fase = $documento->getFase(); $nombre_proyecto = $proyecto ? $proyecto->__toString() : "Sin definir"; $nombre_fase = $fase ? $fase->__toString() : "Sin definir"; $parametros = array('nombre' => $documento->__toString(), 'version' => $documento->getUltimaVersion(), 'link_show' => $link_show, 'link_download' => $link_download, 'proyecto' => $nombre_proyecto, 'fase' => $nombre_fase); $rels_documento_trabajador = $documento->getRelDocumentoTrabajadorsJoinTrabajador(); $destinatarios = array(); foreach ($rels_documento_trabajador as $rel) { $trabajador = $rel->getTrabajador(); $usuario = $trabajador ? $trabajador->getUsuario() : null; if ($usuario instanceof Usuario) { $destinatarios[] = $usuario->getPrimaryKey(); } } $resultado = MensajePeer::enviarMensajeAvisarRelDocumentoTrabajadores($parametros, $destinatarios, array('enviar_email' => true)); return $resultado; }