Ejemplo n.º 1
0
 public function esta_disponible($atributo, $params)
 {
     $disponible = 0;
     $recurso = Recursos::findOne($this->codigo);
     if ($recurso == null) {
         $this->addError($atributo, 'Recurso no existe');
         return false;
     }
     $prestamos = Prestamos::findBySql("SELECT id FROM prestamos WHERE codigo = " . $this->codigo . " and id_status = 3 ")->all();
     if ($prestamos == null) {
         $numPrestamos = 0;
     } else {
         $numPrestamos = count($prestamos);
     }
     $disponible = $recurso->total_existente - $numPrestamos;
     if ($disponible > 0) {
         return true;
     } else {
         $this->addError($atributo, 'Recurso no disponible');
         return false;
     }
 }
Ejemplo n.º 2
0
 public function actionDevolucion($id)
 {
     $model = $this->findModel($id);
     $model->id_status = 4;
     $model->fecha_entregado = date('Y-m-d');
     if ($model->save()) {
         $fecha_actual = strtotime(date('Y-m-d'));
         $fecha_entrada = strtotime($model->fecha_devolucion);
         if ($fecha_actual > $fecha_entrada) {
             $usuario = Usuarios::findOne($model->cedula);
             $usuario->id_status = 2;
             $usuario->update();
             $recurso = Recursos::findOne($model->codigo);
             $fecha = strtotime('+5 day', strtotime(date('Y-m-d')));
             $activacion = date('d-m-Y', $fecha);
             $content = "<p>Estimado usuario " . $usuario->nombre . ",</p>";
             $content .= "<p>La biblioteca de la institucion le informa que le ha sido suspendido su servicio de prestamo.</p>";
             $content .= "<p>Motivo: Devolucion retardada del recurso: " . $recurso->titulo . "</p>";
             $content .= "<p>Podra volver a utilizar el servicio a partir de la fecha: " . $activacion . "</p>";
             // Enviar mail.
             Yii::$app->mailer->compose("@app/mail/layouts/html", ["content" => $content])->setFrom(Yii::$app->params['adminEmail'])->setTo($usuario->email)->setSubject("Notificacion suspension")->setTextBody($content)->setHtmlBody($content)->send();
         }
         return $this->redirect(['view', 'id' => $model->id]);
     }
     return $this->redirect(['view', 'id' => $model->id]);
 }
Ejemplo n.º 3
0
 /**
  * Finds the Recursos model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Recursos the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Recursos::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }