/**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id, $modelClass = __CLASS__)
 {
     $model = Informe::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
 /**
  * Devuelve un mensaje formateado segun el tipo de actividad
  * @param Actividad $actividad objeto de tipo Actividad que se quiere formatear
  * @return string mensaje formateado
  */
 public static function getMensaje($actividad)
 {
     // El mensaje
     $mensaje = "";
     $icon = "";
     // Primero buscamos el usuario que realizó la accion
     $usuario = Yii::app()->user->um->loadUserById($actividad['usuario_id']);
     if ($usuario) {
         switch ($actividad['entidad_tipo']) {
             // Si es una actividad sobre un empleado
             case Empleado::model()->tableName():
                 $empleado = Empleado::model()->findByPk($actividad['entidad_id']);
                 $icon = 'group';
                 if ($actividad['tipo'] == self::TIPO_CREATE) {
                     $mensaje = "<b>" . $usuario->username . "</b> creó el empleado " . CHtml::link($empleado->nombre_completo, array('/personal/empleado/view', 'id' => $empleado->id), array('class' => 'btn btn-small btn-silver'));
                 } elseif ($actividad['tipo'] == self::TIPO_UPDATE) {
                     if ($actividad['detalle'] != null) {
                         $mensaje = "<b>" . $usuario->username . "</b>  " . $actividad['detalle'] . " del empleado " . CHtml::link($empleado->nombre_completo, array('/personal/empleado/view', 'id' => $empleado->id), array('class' => 'btn btn-small btn-silver'));
                     } else {
                         $mensaje = $usuario->username . " actualizó los datos del contacto " . CHtml::link($empleado->nombre_completo, array('/personal/empleado/view', 'id' => $empleado->id), array('class' => 'btn btn-small btn-silver'));
                     }
                 } elseif ($actividad['tipo'] == self::TIPO_DELETE) {
                     $mensaje = "<b>" . $usuario->username . "</b>  elimino al empleado \"" . Util::Truncate($empleado->nombre_completo, 15) . "\" ";
                 } elseif ($actividad['tipo'] == self::TIPO_RESTORE) {
                     $mensaje = "<b>" . $usuario->username . "</b>  Asigno como Encargado a " . CHtml::link($empleado->nombre_completo, array('/personal/empleado/view', 'id' => $empleado->id), array('class' => 'btn btn-small btn-silver')) . " de <b> \"" . Util::Truncate(Empleado::model()->findByPk($actividad['detalle'])->nombre_completo, 15) . "\" </b> a ACTIVOS";
                 }
                 break;
                 // Si es una actividad sobre un una Solicitud
             // Si es una actividad sobre un una Solicitud
             case SolicitudPermiso::model()->tableName():
                 $solicitud = SolicitudPermiso::model()->findByPk($actividad['entidad_id']);
                 $icon = 'archive';
                 if ($actividad['tipo'] == self::TIPO_CREATE) {
                     //                        $mensaje = "<b>" . $usuario->username . "</b> ha enviado una solicitud a " . CHtml::link(Empleado::model()->findByPk($solicitud->seccion)->nombre_completo, array('/personal/empleado/view', 'id' => $solicitud->empleado_id), array('class' => 'btn btn-small btn-silver'));
                 } elseif ($actividad['tipo'] == self::TIPO_UPDATE) {
                     if ($actividad['detalle'] != null) {
                         $mensaje = "<b>" . $usuario->username . "</b>  " . $actividad['detalle'] . " del empleado " . CHtml::link(Empleado::model()->findByPk($solicitud->seccion)->nombre_completo, array('/personal/empleado/view', 'id' => $solicitud->empleado_id), array('class' => 'btn btn-small btn-silver'));
                     } else {
                         $mensaje = $usuario->username . " actualizó los datos de la solicitud enviada a  " . CHtml::link(Empleado::model()->findByPk($solicitud->seccion)->nombre_completo, array('/personal/empleado/view', 'id' => $solicitud->empleado_id), array('class' => 'btn btn-small btn-silver'));
                     }
                 } elseif ($actividad['tipo'] == self::TIPO_DELETE) {
                     $mensaje = "<b>" . $usuario->username . "</b> ha cambiado de etapa a la solicitud enviada por  \"" . Util::Truncate(Empleado::model()->findByPk($solicitud->seccion)->nombre_completo, 15);
                 } elseif ($actividad['tipo'] == self::TIPO_RESTORE) {
                     //                        $mensaje = "<b>" . $usuario->username . "</b>  ha cambiado de etapa a la solicitud enviada por " . CHtml::link(Empleado::model()->findByPk($solicitud->seccion)->nombre_completo, array('/personal/empleado/view', 'id' => $solicitud->empleado_id), array('class' => 'btn btn-small btn-silver')) . " <b> \"";
                 }
                 break;
                 // Si es una actividad sobre un deuda
             // Si es una actividad sobre un deuda
             case Informe::model()->tableName():
                 $informe = Informe::model()->findByPk($actividad['entidad_id']);
                 $icon = 'usd';
                 if ($actividad['tipo'] == self::TIPO_CREATE) {
                     $mensaje = "<b>" . $usuario->username . "</b> A enviado un informe a " . CHtml::link(Empleado::model()->findByPk($informe->entidad_id)->nombre_completo, array('/notificacion/informe/view', 'id' => $informe->id), array('class' => 'btn btn-small btn-silver'));
                 } elseif ($actividad['tipo'] == self::TIPO_UPDATE) {
                     if ($actividad['detalle'] != null) {
                         $mensaje = "<b>" . $usuario->username . "</b>  " . $actividad['detalle'] . " del contacto " . CHtml::link($informe->cltCliente->nombre_completo, array('/notificacion/cltCliente/view', 'id' => $informe->id), array('class' => 'btn btn-small btn-silver'));
                     } else {
                         $mensaje = $usuario->username . " actualizó el informe enviado a " . CHtml::link(Empleado::model()->findByPk($informe->entidad_id)->nombre_completo, array('/notificacion/informe/view', 'id' => $informe->cltCliente->id), array('class' => 'btn btn-small btn-silver'));
                     }
                 } elseif ($actividad['tipo'] == self::TIPO_DELETE) {
                     $mensaje = "<b>" . $usuario->username . "</b>  eliminó el informe enviado a \"" . CHtml::link(Empleado::model()->findByPk($informe->entidad_id)->nombre_completo, array('/notificacion/informe/view', 'id' => $informe->cltCliente->id), array('class' => 'btn btn-small btn-silver'));
                 }
                 break;
                 //                // Si es una actividad sobre una Transaccion
             //                // Si es una actividad sobre una Transaccion
             case Tarea::model()->tableName():
                 $tarea = Tarea::model()->findByPk($actividad['entidad_id']);
                 $icon = 'tasks';
                 if ($actividad['tipo'] == self::TIPO_CREATE) {
                     //                        $mensaje = "<b>" . $usuario->username . "</b> asigno la tarea  <b>" . $tarea->nombre . "</b> al empleado/a " . CHtml::link(Empleado::model()->findByPk($tarea->responsable_id)->nombre_completo, array('/tareas/tarea/view', 'id' => $tarea->id), array('class' => 'btn btn-small btn-silver'));
                 } elseif ($actividad['tipo'] == self::TIPO_UPDATE) {
                     if ($actividad['detalle'] != null) {
                         $mensaje = "<b>" . $usuario->username . "</b>  " . $actividad['detalle'] . " del cliente  " . CHtml::link(Empleado::model()->findByPk($tarea->responsable_id)->nombre_completo, array('/cliente/cltCliente/view', 'id' => $tarea->id), array('class' => 'btn btn-small btn-silver'));
                     } else {
                         $mensaje = "<b>" . $usuario->username . "</b> actualizó la tarea  <b>" . $tarea->nombre . "</b> del clienete " . CHtml::link(Empleado::model()->findByPk($tarea->responsable_id)->nombre_completo, array('/cliente/cltCliente/view', 'id' => $tarea->id), array('class' => 'btn btn-small btn-silver'));
                     }
                 } elseif ($actividad['tipo'] == self::TIPO_DELETE) {
                     $mensaje = "<b>" . $usuario->username . "</b>  eliminó la tarea \"" . Util::Truncate($tarea->nombre, 15) . "\" signada a " . Empleado::model()->findByPk($tarea->responsable_id)->nombre_completo;
                 }
                 break;
                 // Si es una actividad sobre un mail
                 //                case Mail::model()->tableName():
                 //                    $mail = Mail::model()->findByPk($actividad['entidad_id']);
                 //                    if (isset($mail)) {
                 //                        $contacto = CltCliente::model()->findByPk($mail->contacto_id);
                 //                        $icon = 'envelope';
                 //
                 //                        if ($actividad['tipo'] == self::TIPO_CREATE) {
                 //                            $mensaje = $usuario->username . " envió un mail a " . CHtml::link($contacto->nombre_completo, array('/cliente/cltCliente/view', 'id' => $contacto->id), array('class' => 'btn btn-small btn-silver'));
                 //                        }
                 //                    }
                 //                    break;
             // Si es una actividad sobre un mail
             //                case Mail::model()->tableName():
             //                    $mail = Mail::model()->findByPk($actividad['entidad_id']);
             //                    if (isset($mail)) {
             //                        $contacto = CltCliente::model()->findByPk($mail->contacto_id);
             //                        $icon = 'envelope';
             //
             //                        if ($actividad['tipo'] == self::TIPO_CREATE) {
             //                            $mensaje = $usuario->username . " envió un mail a " . CHtml::link($contacto->nombre_completo, array('/cliente/cltCliente/view', 'id' => $contacto->id), array('class' => 'btn btn-small btn-silver'));
             //                        }
             //                    }
             //                    break;
             default:
                 break;
         }
         if ($mensaje) {
             return "<div class='metro_tmtime' datetime='2013-04-10 18:30'>\n                            <span class='date'>" . Util::FormatDate($actividad['fecha'], 'd/m/Y') . "</span>\n                            <span class='time'>" . Util::FormatDate($actividad['fecha'], 'H:i') . "</span>\n                        </div>\n                        <div class='metro_tmicon'><i class='aweso-{$icon}'></i></div>\n                        <div class='metro_tmlabel'>{$mensaje}</div>";
         }
     }
 }