/** * 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>"; } } }