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; }
public static function updateLiderEquipo($idEquipo, $idUsuarioRolEquipo) { var_dump($idEquipo); UsuarioRolEquipo::where('idEquipo', '=', $idEquipo)->update(['esLider' => 0]); UsuarioRolEquipo::where('idUsuarioRolEquipo', '=', $idUsuarioRolEquipo)->update(['esLider' => 1]); }
$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); });