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; } }
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]); }
/** * 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.'); } }