<?php

use Stel\Repository\TramiteInstanciaTareaRepository;
use Stel\Repository\TareaRepository;
use Stel\Repository\ObservacionRepository;
use Stel\Model\TramiteInstanciaTarea;
use Stel\Model\Estado;
use Stel\Model\Usuario;
$idTarea = $_GET["idTarea"];
$repo = new TramiteInstanciaTareaRepository();
$user = Usuario::getSessionUser();
if (!$user) {
    Controller::redirect("./login");
}
$tarea = null;
$observacion = null;
if ($idTarea) {
    $tareatramite = $repo->getOne($idTarea);
    //pongo la tarea como Encurso
    $tareatramite->setIdEstado(Estado::$TareaEncurso);
    $tareatramite->setIdUsuario($user["id"]);
    $repo->update($tareatramite);
    $repoTarea = new TareaRepository();
    $tarea = $repoTarea->getOne($tareatramite->getIdTarea());
    $repoObservacion = new ObservacionRepository();
    $observacion = $repoObservacion->getByTarea($tareatramite->getIdTramiteInstanciaTarea());
}
Controller::render("cargaObservacion.php", array("tareatramite" => $tareatramite, "tarea" => $tarea, "observacion" => $observacion));
<?php

use Stel\Model\Observacion;
use Stel\Repository\ObservacionRepository;
try {
    $action = $_GET["action"];
    $data = json_decode($_POST["object"]);
    $repo = new ObservacionRepository();
    switch ($action) {
        case "new":
            $observacion = new Observacion();
            $observacion->setIdTramiteInstanciaTarea($data->idTramiteInstanciaTarea);
            $observacion->setObservacion($data->observacion);
            $observacion->setIdObservacion($repo->insert($observacion));
            Controller::renderJson("OK", $observacion);
            break;
        case "edit":
            $observacion = $repo->getOne($data->idObservacion);
            $observacion->setObservacion($data->observacion);
            //var_dump($data);die;
            $repo->update($observacion);
            Controller::renderJson("OK", $observacion);
            break;
        case "delete":
            Controller::renderJson("ERROR", "", "No implementado");
            break;
    }
} catch (Exception $e) {
    Controller::renderJson("ERROR", "", $e->getMessage());
}