/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $this->layout->title = 'Editar Alcance';
     $this->layout->titulo = 'Gestión de Actividades';
     $alcance = Alcance::find($id);
     $actividad = Actividad::find($alcance->actividadid);
     $calificaciones = Calificacion::getListCmbAll();
     $this->layout->nest('content', 'alcances.edit', array('alcance' => $alcance, 'calificaciones' => $calificaciones, 'actividad' => $actividad));
 }
 /**
  * @param	Calificacion $calificacion The calificacion object to add.
  */
 protected function doAddCalificacion($calificacion)
 {
     $this->collCalificacions[] = $calificacion;
     $calificacion->setUsuario($this);
 }
    }
    $curso = Curso::find($id);
    $editable = false;
    if (Session::get('tipo_usuario') == "Administrador" || RelacionUsuarioCurso::where('id_usuario', '=', Session::get('user_id'))->where('id_curso', '=', $id)->where('estado', '=', 'activo')->where('tipo_relacion', '=', 'Profesor Admin')->count() > 0) {
        $editable = true;
    }
    return View::make('Estudiante/contenido')->with('curso', $curso)->with('porcentaje', $porcentaje)->with('cantidad', $count3)->with('editable', $editable);
}))->where('id', '[0-9]+');
Route::get('ver-curso-tareas/{id}', array('as' => 'ver-curso-tareas', function ($id) {
    if (Session::get('user_id') == "") {
        return Redirect::to('index');
    }
    if (Session::get('tipo_usuario') != "Administrador" && RelacionUsuarioCurso::where('id_usuario', '=', Session::get('user_id'))->where('id_curso', '=', $id)->count() == 0) {
        return Redirect::to('index');
    }
    $count = Calificacion::where('id_usuario', '=', Session::get('user_id'))->where('id_curso', '=', $id)->count();
    $count3 = Evaluacion::where('id_curso', '=', $id)->where('semana', '>', 0)->count();
    if ($count3 > 0) {
        $porcentaje = intval($count * 100 / $count3);
    } else {
        $porcentaje = 0;
    }
    $curso = Curso::find($id);
    $editable = false;
    if (Session::get('tipo_usuario') == "Administrador" || RelacionUsuarioCurso::where('id_usuario', '=', Session::get('user_id'))->where('id_curso', '=', $id)->where('estado', '=', 'activo')->where('tipo_relacion', '=', 'Profesor Admin')->count() > 0) {
        $editable = true;
    }
    return View::make('Estudiante/tareas')->with('curso', $curso)->with('porcentaje', $porcentaje)->with('cantidad', $count3)->with('editable', $editable);
}))->where('id', '[0-9]+');
Route::get('ver-curso/{id}/clase/{id2}', array('as' => 'ver-clase', function ($id, $id2) {
    if (Session::get('user_id') == "") {
 public function getPromedioEstudiantes()
 {
     $count = Calificacion::where('id_evaluacion', '=', $this->id_evaluacion)->count();
     return round($count, 2);
 }
<?php

//die;
error_reporting(E_ALL);
ini_set("display_errors", 1);
include_once "../../data/config.php";
//echo "<pre>";print_r(json_decode($_POST['json']));  echo "</pre>";
$datos = json_decode($_POST['json']);
//$libros = LibroQuery::create()->find();
//$usuarios = UsuarioQuery::create()->find();
switch ($datos->accion) {
    case "votar":
        $calificacion = new Calificacion();
        $calificacion->setPuntuacion($datos->puntos);
        $calificacion->setId_libro($datos->libro);
        $calificacion->setId_usuario($_SESSION['userid']);
        $calificacion->save();
        //obtengo la puntuación del libro
        $puntaje = 0;
        $calificacionLibro = CalificacionQuery::create()->filterById_libro($datos->libro)->find();
        foreach ($calificacionLibro as $reg) {
            $puntaje += $reg->getPuntuacion();
        }
        $promedioPuntaje = round($puntaje / $calificacionLibro->count(), 1);
        $html = "<b>Puntaje actual: " . $promedioPuntaje . " <a href='#' title='Puntaje actual " . $promedioPuntaje . "'>&#9733;</a></b>";
        echo json_encode(array('html' => $html));
        break;
    case "bloquear":
        $libro = LibroQuery::create()->findOneById($datos->libro);
        $libro->setDebaja("s");
        include 'notificacion_data.php';
 /**
  * Filter the query by a related Calificacion object
  *
  * @param     Calificacion $calificacion  the related object to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return    UsuarioQuery The current query, for fluid interface
  */
 public function filterByCalificacion($calificacion, $comparison = null)
 {
     if ($calificacion instanceof Calificacion) {
         return $this->addUsingAlias(UsuarioPeer::ID, $calificacion->getId_usuario(), $comparison);
     } elseif ($calificacion instanceof PropelCollection) {
         return $this->useCalificacionQuery()->filterByPrimaryKeys($calificacion->getPrimaryKeys())->endUse();
     } else {
         throw new PropelException('filterByCalificacion() only accepts arguments of type Calificacion or PropelCollection');
     }
 }
 /**
  * Exclude object from result
  *
  * @param     Calificacion $calificacion Object to remove from the list of results
  *
  * @return    CalificacionQuery The current query, for fluid interface
  */
 public function prune($calificacion = null)
 {
     if ($calificacion) {
         $this->addUsingAlias(CalificacionPeer::ID, $calificacion->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }