public static function Save($params)
 {
     $idproyecto = self::getInput($params, 'proyecto');
     $titulo = self::getInput($params, 'titulo');
     $asignado = self::getInput($params, 'asignado');
     $descripcion = self::getInput($params, 'descripcion');
     $id = self::getInput($params, 'id');
     $tipoitem = self::getInput($params, 'tipoitem');
     $estado = self::getInput($params, 'estado');
     $asignado = self::getInput($params, 'asignado');
     $prioridad = self::getInput($params, 'prioridad');
     $comentario = self::getInput($params, 'comentario');
     $ticketUpdate = true;
     $newticket = true;
     $sendMail = false;
     $dataLog = [];
     $item = new Item();
     $dataLog['accion'] = 'Ticket creado';
     if ($id !== false) {
         $newticket = false;
         $ticketUpdate = false;
         $item = self::getById($id);
         $dataLog['accion'] = 'Nuevo Comentario';
         $dataLog['Detalles:'][''] = '';
     } else {
         $item->fechacreacion = Date('Y-m-d H:i:s');
     }
     if (false !== $idproyecto) {
         $item->idProyecto = $idproyecto;
         $ticketUpdate = true;
         $dataLog['ticket']['Proyecto'] = Proyecto::find($idproyecto)->nomProyecto;
     }
     if (false !== $titulo) {
         $item->tituloItem = $titulo;
         $ticketUpdate = true;
         $dataLog['ticket']['Titulo'] = $titulo;
     }
     if (false !== $asignado) {
         $item->responsable = $asignado;
         $ticketUpdate = true;
         $usuarioAsignado = UsuarioRolEquipo::with('usuario')->find($asignado)->usuario;
         $dataLog['ticket']['Asignado a'] = $usuarioAsignado->nombreCompleto;
         $sendMail = true;
     }
     if (false !== $descripcion) {
         $item->descItem = $descripcion;
         $ticketUpdate = true;
         $dataLog['ticket']['Descripcion'] = $descripcion;
     }
     if (false !== $tipoitem) {
         $item->idTipoItem = $tipoitem;
         $ticketUpdate = true;
         $dataLog['ticket']['Tipo Item'] = TipoItem::find($tipoitem)->descripcion;
     }
     if (false !== $estado) {
         $item->estadoActual = $estado;
         $ticketUpdate = true;
         $dataLog['ticket']['Estado'] = Estado::find($estado)->nombreEstado;
     }
     /*if (false !== $asignado) {
           $item -> responsable    = $asignado;
           $ticketUpdate           = true;
           $dataLog['ticket']['Asignado a']  = UsuarioRolEquipo::with('usuario')->find($asignado)->usuario->nombreCompleto;
       }*/
     if (false !== $prioridad) {
         $item->prioridad = $prioridad;
         $ticketUpdate = true;
         $dataLog['ticket']['prioridad'] = $prioridad;
     }
     if (true === $ticketUpdate && false === $newticket) {
         $dataLog['accion'] = 'Ticket actualizado';
     }
     if ($item->save()) {
         if (false !== $comentario && false === empty($comentario)) {
             $comment = new Comentario();
             $comment->idItem = $item->idItem;
             $comment->idUsuario = App::getInstance()->user->id();
             $comment->fechahora = date('Y-m-d H:i:s', time());
             $comment->comentario = $comentario;
             $item->comentarios()->save($comment);
             $dataLog['comentario'] = $comentario;
         }
         $transicion = new TransicionItem();
         $transicion->idItem = $item->idItem;
         $transicion->idUsuario = App::getInstance()->user->id();
         $transicion->fechahora = date('Y-m-d H:i:s', time());
         $transicion->data = json_encode($dataLog, JSON_FORCE_OBJECT);
         $item->transiciones()->save($transicion);
         if (true === $sendMail) {
             try {
                 global $app;
                 $urlTicket = $app->path('item_detail', ['id' => $item->idItem], true);
                 $subject = 'Te han asignado un ticket. #' . $item->idItem;
                 $from = 'MasterTicket <*****@*****.**>';
                 $to = $usuarioAsignado->nombreCompleto . '<' . $usuarioAsignado->email . '>';
                 $message = 'Puedes ver el detalle del ticket en el siguiente enlace
                                 <a href="' . $urlTicket . '">' . $urlTicket . '</a>';
                 $mail = new MailController();
                 $mail->sendMessage($from, $to, $subject, $message);
             } catch (Exception $e) {
             }
         }
     }
     return $item;
 }
Exemplo n.º 2
0
 public static function updateLiderEquipo($idEquipo, $idUsuarioRolEquipo)
 {
     var_dump($idEquipo);
     UsuarioRolEquipo::where('idEquipo', '=', $idEquipo)->update(['esLider' => 0]);
     UsuarioRolEquipo::where('idUsuarioRolEquipo', '=', $idUsuarioRolEquipo)->update(['esLider' => 1]);
 }
Exemplo n.º 3
0
$app::Router()->post($app->path('lider_equipo'), function (Request $request, Response $response, $args) {
    $parse = new RequestParse($request, $args);
    $idEquipo = $parse->get('id');
    $idUsuarioRolEquipo = $parse->get('lider');
    // var_dump($params);
    TeamController::updateLiderEquipo($idEquipo, $idUsuarioRolEquipo);
    echo json_encode(true);
});
$app::Router()->post($app->path('usuario_equipo'), function (Request $request, Response $response, $args) {
    $parse = new RequestParse($request, $args);
    $idEquipo = $parse->get('id');
    $body = file_get_contents("php://input");
    $body_params = json_decode($body);
    $items = new Eloquent\Collection();
    foreach ($body_params->usuarios as $usuario) {
        $item = new UsuarioRolEquipo();
        $item->equipo()->associate($idEquipo);
        $item->usuario()->associate($usuario->usuario);
        $item->rol()->associate($usuario->rol);
        $item->esLider = 0;
        $items->add($item);
    }
    $resultado = TeamController::updateUsuariosRolEquipo($idEquipo, $items);
    json_encode(true);
});
$app::Router()->get($app->path('usuario_equipo'), function (Request $request, Response $response, $args) {
    $parse = new RequestParse($request, $args);
    $idEquipo = $parse->get('id');
    $resultado = TeamController::listarUsuariosRolEquipo($idEquipo);
    echo json_encode($resultado);
});