use Stel\Repository\TramiteInstanciaTareaRepository;
use Stel\Repository\UsuarioRepository;
use Stel\Model\Usuario;
use Stel\Model\Estado;
$tramite = isset($_GET["tramite"]) ? $_GET["tramite"] : null;
$tipo = isset($_GET["tipo"]) ? $_GET["tipo"] : null;
$instancia = isset($_GET["instancia"]) ? $_GET["instancia"] : null;
$tareas = array();
$user = Usuario::getSessionUser();
if (!$user) {
    Controller::renderJson("ERROR", null, "relogin");
} else {
    $repo = new TramiteInstanciaTareaRepository();
    $tareas = $repo->getForMisTareas($user["id"], $tipo, $instancia, $tramite);
    //var_dump($tareas);die;
    $repoUser = new UsuarioRepository();
    foreach ($tareas as $tarea) {
        $usuario = $repoUser->getOne($tarea->idUsuario);
        //en el estado concateno el nombre de usuario que tomo la tarea
        if ($usuario) {
            $tarea->nombreEstado .= " - " . $usuario->getUsuario();
        }
        // para que una tarea sea editable o finalizable tiene que estar Abierta
        // o EnCurso pero por el mismo usuario
        if ($tarea->idEstado == Estado::$TareaAbierta || $tarea->idEstado == Estado::$TareaEncurso && $tarea->idUsuario == $user["id"]) {
            $tarea->editable = true;
        }
    }
}
Controller::renderJson("OK", $tareas);
<?php

use Stel\Repository\PermisoRepository;
use Stel\Repository\UsuarioRepository;
use Stel\Repository\TareaRepository;
use Stel\Model\Permiso;
function byUserName($a, $b)
{
    return strcmp(strtolower($a->getUsuario()->getUsuario()), strtolower($b->getUsuario()->getUsuario()));
}
$repo = new PermisoRepository();
$repoUsuarios = new UsuarioRepository();
$repoTareas = new TareaRepository();
$entities = $repo->getAll();
foreach ($entities as $entity) {
    $usuario = $repoUsuarios->getOne($entity->getIdUsuario());
    $entity->setUsuario($usuario);
    $tarea = $repoTareas->getOne($entity->getIdTarea());
    $entity->setTarea($tarea);
}
usort($entities, "byUserName");
Controller::render("permisos.php", array("entities" => $entities));
Exemplo n.º 3
0
<?php

use Stel\Model\Usuario;
use Stel\Repository\UsuarioRepository;
use Stel\Repository\DireccionRepository;
//Controller::renderJson("OK", array("item"=>"item1"));
if ($_POST && count($_POST) > 0) {
    $repo = new UsuarioRepository();
    if ($user = $repo->authenticate($_POST["username"], $_POST["password"])) {
        if ($user->getActivo()) {
            $_SESSION["user"]["usuario"] = $user->getUsuario();
            $_SESSION["user"]["email"] = $user->getEmail();
            $_SESSION["user"]["id"] = $user->getIdUsuario();
            $repoDireccion = new DireccionRepository();
            if ($user->getIdDireccion()) {
                $dir = $repoDireccion->getOne($user->getIdDireccion());
                $_SESSION["user"]["idDireccion"] = $dir->getIdDireccion();
                $_SESSION["user"]["nombreDireccion"] = $dir->getNombre();
            }
            if ($user->getIdUsuario() == 1) {
                Controller::redirect("administracion");
            } else {
                Controller::redirect("misTareas");
            }
        } else {
            Controller::render("login.php", array("error" => "El usuario ingresado se encuentra inactivo, por favor contacte al administrador"));
        }
    } else {
        Controller::render("login.php", array("error" => "Datos invalidos"));
    }
} else {
<?php

use Stel\Model\Permiso;
use Stel\Repository\PermisoRepository;
use Stel\Repository\UsuarioRepository;
use Stel\Repository\TareaRepository;
try {
    $action = $_GET["action"];
    $data = json_decode($_POST["object"]);
    $repo = new PermisoRepository();
    $repoUsuarios = new UsuarioRepository();
    $repoTareas = new TareaRepository();
    switch ($action) {
        case "new":
            //para no duplicar registros
            $exists = $repo->exists($data->idUsuario, $data->idTarea);
            if ($exists) {
                Controller::renderJson("ERROR", $exists, "Permiso existente");
            } else {
                $permiso = new Permiso();
                $permiso->setIdTarea($data->idTarea);
                $permiso->setIdUsuario($data->idUsuario);
                $permiso->setIdPermiso($repo->insert($permiso));
                $usuario = $repoUsuarios->getOne($data->idUsuario);
                $permiso->setUsuario($usuario);
                $tarea = $repoTareas->getOne($data->idTarea);
                $permiso->setTarea($tarea);
                Controller::renderJson("OK", $permiso);
            }
            break;
        case "edit":
<?php

use Stel\Model\Usuario;
use Stel\Repository\UsuarioRepository;
try {
    $action = $_GET["action"];
    if (isset($_POST["object"])) {
        $data = json_decode($_POST["object"]);
    }
    $repo = new UsuarioRepository();
    switch ($action) {
        case "new":
            $usuario = new Usuario();
            $usuario->setUsuario($data->usuario);
            $usuario->setPassword(Usuario::encode($data->password));
            $usuario->setTelefono($data->telefono);
            $usuario->setEmail($data->email);
            $usuario->setActivo($data->activo);
            $usuario->setIdDireccion($data->idDireccion);
            $usuario->setIdUsuario($repo->insert($usuario));
            //antes de devolver el usuario vacio la password
            $usuario->setPassword(null);
            Controller::renderJson("OK", $usuario);
            break;
        case "edit":
            $usuario = $repo->getOne($data->idUsuario);
            //si no se especifica un password no se pisa el viejo
            if ($data->password && $data->password != "") {
                $usuario->setPassword(Usuario::encode($data->password));
            }
            $usuario->setTelefono($data->telefono);
<?php

use Stel\Repository\UsuarioRepository;
use Stel\Model\Usuario;
$repo = new UsuarioRepository();
$usuarios = array();
$usuarios = $repo->getAllOrderBy("usuario");
if (isset($_GET['forSelect'])) {
    $usuarios = array_map(function ($element) {
        return array("value" => $element->getIdUsuario(), "text" => $element->getUsuario());
    }, $usuarios);
}
Controller::renderJson("OK", $usuarios);
<?php

use Stel\Repository\UsuarioRepository;
use Stel\Model\Usuario;
$repo = new UsuarioRepository();
$entities = $repo->getAll();
//$entities = array_slice($entities, 1, 1);
Controller::render("usuarios.php", array("entities" => $entities));