예제 #1
0
 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;
 }