diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 31cdfb0..0522d47 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -3,217 +3,199 @@ namespace App; use Illuminate\Database\Eloquent\Model; -use Mpdf\Mpdf; -use League\Csv\CannotInsertRecord; -use League\Csv\Writer; -use App\Producto; use Illuminate\Support\Facades\DB; +use League\Csv\CannotInsertRecord; use League\Csv\Reader; +use League\Csv\Writer; +use Mpdf\Mpdf; class GrupoDeCompra extends Model { - public $timestamps = false; - protected $fillable = [ "nombre","region","telefono","correo","referente_finanzas","cantidad_de_nucleos","fila", "devoluciones_habilitadas"]; - protected $table = 'grupos_de_compra'; - protected $hidden = ['password']; - - /** - * @param $gdcs - * @param array $planilla - * @return array - */ - public static function getPlanilla($gdcs, array $planilla): array - { - $barrios = [""]; - foreach ($gdcs as $i => $gdc) { - $barrios[] = $gdc->nombre; - $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id', $gdc->id)->get()->keyBy('producto_id'); - $pedidos = $gdc->pedidosAprobados(); - foreach ($productos_en_pedido as $id => $producto_pedido) { - $total = 0; - // Poner cantidad de cada producto para cada núcleo - foreach ($pedidos as $pedido) { - list($_, $_, $cantidad) = $gdc->agregarCantidad($pedido, $id, [], 0, 0); - $total = $total + $cantidad; - } - $fila = Producto::productosIdFila()[$id]; - $planilla[$fila][$i-1] = $total; - } - $planilla[GrupoDeCompra::obtenerFilaDeBonoTransporte()][$i-1] = $gdc->calcularCantidadBDT(); - } - array_splice($planilla, 0, 0, array($barrios)); - return $planilla; - } + public $timestamps = false; + protected $fillable = ["nombre", "region", "telefono", "correo", "referente_finanzas", "cantidad_de_nucleos", "fila", "devoluciones_habilitadas"]; + protected $table = 'grupos_de_compra'; + protected $hidden = ['password']; public function toggleDevoluciones() - { - $this->devoluciones_habilitadas = !$this->devoluciones_habilitadas; - $this->save(); - return $this->devoluciones_habilitadas; - } - - public function subpedidos() { - return $this->hasMany('App\Subpedido'); - } - - public function pedidosAprobados() { - return $this->subpedidos->where('aprobado',1); - } - - public function exportarPlanillasAPdf() { - $subpedidos = $this->pedidosAprobados(); - //generar pdf - $mpdf = new Mpdf(); - foreach ($subpedidos as $subpedido) { - $tabla = $subpedido->generarHTML(); - // agregar la tabla al pdf en una nueva página - $mpdf->WriteHTML($tabla); - $mpdf->AddPage(); - } - $filename = $this->nombre . '.pdf'; - // imprimir el pdf - $mpdf->Output($filename, "D"); - } - - static function filaVacia(string $product, int $columns): array - { - $fila = [$product]; - for ($i = 1; $i <= $columns; $i++) { - $fila[$i] = "0"; + { + $this->devoluciones_habilitadas = !$this->devoluciones_habilitadas; + $this->save(); + return $this->devoluciones_habilitadas; } - return $fila; - } - //Asume que los productos están gruadados en orden de fila - public static function obtenerTemplateDeFilasVacias(int $columns){ - $productosFilaID = Producto::productosFilaID(); - $productosIDNombre = Producto::productosIDNombre(); - $num_fila = 1; - $template = []; - foreach ($productosFilaID as $fila => $id) { - for ($i = $num_fila; $i < $fila; $i++) { - $template[$i] = GrupoDeCompra::filaVacia("", $columns); - } - $template[$fila] = GrupoDeCompra::filaVacia($productosIDNombre[$id], $columns); - $num_fila = $fila+1; + public function subpedidos() + { + return $this->hasMany('App\Subpedido'); } - $template[GrupoDeCompra::obtenerFilaDeBonoTransporte()] = GrupoDeCompra::filaVacia("Bonos de transporte", $columns); - return $template; - } - private static function obtenerFilaDeBonoTransporte() { - $csv = Reader::createFromPath(resource_path('csv/productos.csv'), 'r'); - $csv->setDelimiter("|"); - $csv->setEnclosure("'"); - $registros = $csv->getRecords(); - - foreach($registros as $key => $registro) - if ($registro[0] == 'T') return $key; - - throw new Exception('No hay bono de transporte'); - } - - private function totalPedidosSinBonos() { - $total = 0; - foreach ($this->pedidosAprobados() as $pedido) { - $total += ceil($pedido->totalSinBonos()); + public function pedidosAprobados() + { + return $this->subpedidos->where('aprobado', 1); } - return $total; - } - public function calcularCantidadBDT() { - $total = 0; - foreach ($this->pedidosAprobados() as $pedido) { - $total += $pedido->totalParaTransporte(); - } - return ceil($total / 500); - } - - public function totalBonosBarriales() { - $total = 0; - $bonoBarrial = Producto::where('nombre','LIKE','%barrial%')->first(); - if ($bonoBarrial) { - $pedidos = $this->pedidosAprobados(); - foreach ($pedidos as $pedido) { - $bonoPedido = $pedido->productos()->find($bonoBarrial["id"]); - if ($bonoPedido) { - $total += $bonoPedido["pivot"]["total"]; + public function exportarPlanillasAPdf() + { + $subpedidos = $this->pedidosAprobados(); + //generar pdf + $mpdf = new Mpdf(); + foreach ($subpedidos as $subpedido) { + $tabla = $subpedido->generarHTML(); + // agregar la tabla al pdf en una nueva página + $mpdf->WriteHTML($tabla); + $mpdf->AddPage(); } - } - } - return $total; - } - - public function exportarPedidoEnCSV() { - $records = $this->generarColumnaCantidades(); - try { - $writer = Writer::createFromPath(resource_path('csv/exports/'.$this->nombre.'.csv'), 'w'); - $writer->insertAll($records); - } catch (CannotInsertRecord $e) { - var_export($e->getRecords()); - } - } - - public function generarColumnaCantidades() { - $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id',$this->id)->get()->keyBy('producto_id'); - - //si no hay pedidos aprobados, salir - if ($productos_en_pedido->count() == 0) { - \Log::debug("El grupo de compra ". $this->nombre . " no tiene pedidos aprobados."); - return []; - } - - $records = $this->obtenerTemplateDeFilasVacias(1); - $productos_id_fila = Producto::productosIdFila(); - foreach ($productos_en_pedido as $id => $producto_pedido){ - $fila = $productos_id_fila[$id]; - $records[$fila][1] = $producto_pedido->cantidad_pedida; - } - - $records[$this->obtenerFilaDeBonoTransporte()][1] = $this->calcularCantidadBDT(); - - return $records; - } - - public function exportarPedidoConNucleosEnCSV() { - $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id',$this->id)->get()->keyBy('producto_id'); - - // si no hay pedidos aprobados, salir - if ($productos_en_pedido->count() == 0) { - \Log::debug("El grupo de compra ". $this->nombre . " no tiene pedidos aprobados."); - return; + $filename = $this->nombre . '.pdf'; + // imprimir el pdf + $mpdf->Output($filename, "D"); } - $pedidos = $this->pedidosAprobados(); - // Generar tabla vacía con una columna por núcleo - $records = $this->obtenerTemplateDeFilasVacias($pedidos->count()); - $productos_id_fila = Producto::productosIdFila(); + static function filaVacia(string $product, int $columns): array + { + $fila = [$product]; + for ($i = 1; $i <= $columns; $i++) { + $fila[$i] = "0"; + } + return $fila; + } - foreach ($productos_en_pedido as $id => $producto_pedido) { - $fila = $productos_id_fila[$id]; - $i = 1; - // Poner cantidad de cada producto para cada núcleo - foreach ($pedidos as $pedido) { - list($records, $i, $_) = $this->agregarCantidad($pedido, $id, $records, $fila, $i); - } + //Asume que los productos están gruadados en orden de fila + public static function obtenerTemplateDeFilasVacias(int $columns) + { + $productosFilaID = Producto::productosFilaID(); + $productosIDNombre = Producto::productosIDNombre(); + $num_fila = 1; + $template = []; + foreach ($productosFilaID as $fila => $id) { + for ($i = $num_fila; $i < $fila; $i++) { + $template[$i] = GrupoDeCompra::filaVacia("", $columns); + } + $template[$fila] = GrupoDeCompra::filaVacia($productosIDNombre[$id], $columns); + $num_fila = $fila + 1; + } + $template[GrupoDeCompra::obtenerFilaDeBonoTransporte()] = GrupoDeCompra::filaVacia("Bonos de transporte", $columns); + return $template; } - // Insertar lista de núcleos en la primera fila - $nucleos = [""]; - $i = 1; - foreach ($pedidos as $pedido) { - $nucleos[$i] = $pedido->nombre; - $i++; - } - array_splice($records, 0, 0, array($nucleos)); - // Guardar en un archivo .csv - try { - $writer = Writer::createFromPath(resource_path('csv/exports/'.$this->nombre.'-completo.csv'), 'w'); - $writer->insertAll($records); - } catch (CannotInsertRecord $e) { - var_export($e->getRecords()); + private static function obtenerFilaDeBonoTransporte() + { + $csv = Reader::createFromPath(resource_path('csv/productos.csv'), 'r'); + $csv->setDelimiter("|"); + $csv->setEnclosure("'"); + $registros = $csv->getRecords(); + + foreach ($registros as $key => $registro) + if ($registro[0] == 'T') return $key; + + throw new Exception('No hay bono de transporte'); + } + + private function totalPedidosSinBonos() + { + $total = 0; + foreach ($this->pedidosAprobados() as $pedido) { + $total += ceil($pedido->totalSinBonos()); + } + return $total; + } + + public function calcularCantidadBDT() + { + $total = 0; + foreach ($this->pedidosAprobados() as $pedido) { + $total += $pedido->totalParaTransporte(); + } + return ceil($total / 500); + } + + public function totalBonosBarriales() + { + $total = 0; + $bonoBarrial = Producto::where('nombre', 'LIKE', '%barrial%')->first(); + if ($bonoBarrial) { + $pedidos = $this->pedidosAprobados(); + foreach ($pedidos as $pedido) { + $bonoPedido = $pedido->productos()->find($bonoBarrial["id"]); + if ($bonoPedido) { + $total += $bonoPedido["pivot"]["total"]; + } + } + } + return $total; + } + + public function exportarPedidoEnCSV() + { + $records = $this->generarColumnaCantidades(); + try { + $writer = Writer::createFromPath(resource_path('csv/exports/' . $this->nombre . '.csv'), 'w'); + $writer->insertAll($records); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); + } + } + + public function generarColumnaCantidades() + { + $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id', $this->id)->get()->keyBy('producto_id'); + + //si no hay pedidos aprobados, salir + if ($productos_en_pedido->count() == 0) { + \Log::debug("El grupo de compra " . $this->nombre . " no tiene pedidos aprobados."); + return []; + } + + $records = $this->obtenerTemplateDeFilasVacias(1); + $productos_id_fila = Producto::productosIdFila(); + foreach ($productos_en_pedido as $id => $producto_pedido) { + $fila = $productos_id_fila[$id]; + $records[$fila][1] = $producto_pedido->cantidad_pedida; + } + + $records[$this->obtenerFilaDeBonoTransporte()][1] = $this->calcularCantidadBDT(); + + return $records; + } + + public function exportarPedidoConNucleosEnCSV() + { + $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id', $this->id)->get()->keyBy('producto_id'); + + // si no hay pedidos aprobados, salir + if ($productos_en_pedido->count() == 0) { + \Log::debug("El grupo de compra " . $this->nombre . " no tiene pedidos aprobados."); + return; + } + + $pedidos = $this->pedidosAprobados(); + // Generar tabla vacía con una columna por núcleo + $records = $this->obtenerTemplateDeFilasVacias($pedidos->count()); + $productos_id_fila = Producto::productosIdFila(); + + foreach ($productos_en_pedido as $id => $producto_pedido) { + $fila = $productos_id_fila[$id]; + $i = 1; + // Poner cantidad de cada producto para cada núcleo + foreach ($pedidos as $pedido) { + list($records, $i, $_) = $this->agregarCantidad($pedido, $id, $records, $fila, $i); + } + } + // Insertar lista de núcleos en la primera fila + $nucleos = [""]; + $i = 1; + foreach ($pedidos as $pedido) { + $nucleos[$i] = $pedido->nombre; + $i++; + } + array_splice($records, 0, 0, array($nucleos)); + + // Guardar en un archivo .csv + try { + $writer = Writer::createFromPath(resource_path('csv/exports/' . $this->nombre . '-completo.csv'), 'w'); + $writer->insertAll($records); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); + } } - } public function agregarCantidad($pedido, $id, array $records, $fila, int $i): array { @@ -224,45 +206,52 @@ class GrupoDeCompra extends Model return array($records, $i, $cantidad); } - public static function exportarTodosLosPedidosEnCSV(){ - $gdcs = GrupoDeCompra::all()->filter(function ($grupoDeCompra) { - return !$grupoDeCompra->pedidosAprobados()->isEmpty(); - }); - $planilla = GrupoDeCompra::obtenerTemplateDeFilasVacias($gdcs->count()); - $planilla = self::getPlanilla($gdcs, $planilla); + static public function totalesParaTransportePorBarrio() { + return DB::table('grupos_de_compra') + ->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id') + ->leftJoin('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id') + ->leftJoin('productos', 'producto_subpedido.producto_id', '=', 'productos.id') + ->where(function ($query) { + $query->whereNull('productos.categoria') + ->orWhere('productos.categoria', 'not like', '%SUBSIDIADO%'); + }) + ->where(function ($query) { + $query->whereNull('productos.bono') + ->orWhere('productos.bono', 0); + }) + ->where(function ($query) { + $query->whereNull('subpedidos.aprobado') + ->orWhere('subpedidos.aprobado', 1); + }) + ->select( + 'grupos_de_compra.id as id', + 'grupos_de_compra.nombre as barrio', + DB::raw('COALESCE(SUM(producto_subpedido.cantidad * productos.precio), 0) as total') + ) + ->groupBy('grupos_de_compra.id') + ->get(); + } - // Guardar en un archivo .csv - try { - $writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w'); - $writer->insertAll($planilla); - } catch (CannotInsertRecord $e) { - var_export($e->getRecords()); - } - } - - public static function exportarProductosConNotasEnCSV() { - $gdcs = GrupoDeCompra::all(); - foreach ($gdcs as $i => $gdc) { - $productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id', $gdc->id)->get()->keyBy('producto_id'); - $pedidos = $gdc->pedidosAprobados(); - foreach ($productos_en_pedido as $id => $producto_pedido) { - foreach ($pedidos as $pedido) { - $producto = $pedido->productos()->find($id); - if ($producto != null && $producto->requiere_notas) { - $planilla[$i+1][0] = $gdc->nombre; - $planilla[$i+1][1] = $producto->nombre; - $planilla[$i+1][2] = $producto->pivot->cantidad; - $planilla[$i+1][3] = $producto->pivot->notas; - } + + static public function planillaTransporte() { + $totalesPorBarrio = self::totalesParaTransportePorBarrio(); + $barrios = []; + $bonosDeTransporte = []; + + foreach ($totalesPorBarrio as $totalBarrio) { + $barrios[] = $totalBarrio->barrio; + $bonosDeTransporte[] = ceil($totalBarrio->total / 500); + } + + $planilla = []; + $planilla[] = array_merge(['Barrio'], $barrios); + $planilla[] = array_merge(['Cant. bonos de transporte'], $bonosDeTransporte); + + try { + $writer = Writer::createFromPath(resource_path('csv/exports/transporte-por-barrio.csv'), 'w'); + $writer->insertAll($planilla); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); } - } } - // Guardar en un archivo .csv - try { - $writer = Writer::createFromPath(resource_path('csv/exports/pedidos-notas.csv'), 'w'); - $writer->insertAll($planilla); - } catch (CannotInsertRecord $e) { - var_export($e->getRecords()); - } - } } diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php index e39eeda..48e9ef4 100644 --- a/app/Http/Controllers/ComprasController.php +++ b/app/Http/Controllers/ComprasController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\GrupoDeCompra; +use App\Producto; class ComprasController { @@ -11,14 +12,20 @@ class ComprasController } public function descargarPedidos() { - GrupoDeCompra::exportarTodosLosPedidosEnCSV(); - $file = resource_path('csv/exports/total-pedidos.csv'); + Producto::planillaTotales(); + $file = resource_path('csv/exports/pedidos-por-barrio.csv'); return response()->download($file); } - + public function descargarNotas() { - GrupoDeCompra::exportarProductosConNotasEnCSV(); - $file = resource_path('csv/exports/pedidos-notas.csv'); + Producto::planillaNotas(); + $file = resource_path('csv/exports/notas-por-barrio.csv'); + return response()->download($file); + } + + public function descargarTransporte() { + GrupoDeCompra::planillaTransporte(); + $file = resource_path('csv/exports/transporte-por-barrio.csv'); return response()->download($file); } diff --git a/app/Producto.php b/app/Producto.php index 1a70545..1d002a6 100644 --- a/app/Producto.php +++ b/app/Producto.php @@ -2,52 +2,160 @@ namespace App; +use App\Filtros\FiltroDeProducto; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; -use App\Filtros\FiltroDeProducto; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; +use League\Csv\CannotInsertRecord; +use League\Csv\Reader; +use League\Csv\Writer; class Producto extends Model { - public $timestamps = false; - protected $fillable = [ "nombre", "precio", "presentacion", "stock", "categoria" ]; - static $paginarPorDefecto = 10; + public $timestamps = false; + protected $fillable = ["nombre", "precio", "presentacion", "stock", "categoria"]; + static $paginarPorDefecto = 10; - public function subpedidos() - { - return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad", "notas"]); - } + public function subpedidos() + { + return $this->belongsToMany('App\Subpedido', 'productos_subpedidos')->withPivot(["cantidad", "notas"]); + } - public function proveedor() - { - return $this->belongsTo('App\Proveedor'); - } + public function proveedor() + { + return $this->belongsTo('App\Proveedor'); + } - public function pagaTransporte() { - return !($this->bono || Str::contains($this->categoria, 'SUBSIDIADO')); - } + public function pagaTransporte() + { + return !($this->bono || Str::contains($this->categoria, 'SUBSIDIADO')); + } - //Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda) - public function scopeFiltrar($query, FiltroDeProducto $filtros) - { - return $filtros->aplicar($query); - } + //Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda) + public function scopeFiltrar($query, FiltroDeProducto $filtros) + { + return $filtros->aplicar($query); + } - public static function getPaginar(Request $request) - { - return $request->has('paginar') && intval($request->input('paginar')) ? intval($request->input('paginar')) : self::$paginarPorDefecto; - } + public static function getPaginar(Request $request) + { + return $request->has('paginar') && intval($request->input('paginar')) ? intval($request->input('paginar')) : self::$paginarPorDefecto; + } - public static function productosFilaID() { - return Producto::pluck('id', 'fila',)->all(); - } + public static function productosFilaID() + { + return Producto::pluck('id', 'fila',)->all(); + } - public static function productosIDFila() { - return Producto::pluck('fila', 'id',)->all(); - } + public static function productosIDFila() + { + return Producto::pluck('fila', 'id',)->all(); + } - public static function productosIDNombre() { - return Producto::pluck('nombre', 'id',)->all(); - } + public static function productosIDNombre() + { + return Producto::pluck('nombre', 'id',)->all(); + } + static public function cantidadesPorBarrio() + { + $barrios = DB::table('grupos_de_compra') + ->where('nombre', '<>', 'PRUEBA') + ->pluck('id', 'nombre'); + + $columnasBarrios = $barrios->map(function ($id, $nombre) { + return DB::raw("SUM(CASE WHEN subpedidos.grupo_de_compra_id = $id AND subpedidos.aprobado = 1 THEN producto_subpedido.cantidad ELSE 0 END) as `$nombre`"); + })->toArray(); + + return DB::table('productos') + ->where('productos.nombre', 'not like', '%barrial%') + ->leftJoin('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id') + ->leftJoin('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id') + ->select(array_merge( + ['productos.fila as fila'], + ['productos.nombre as producto'], + $columnasBarrios + )) + ->groupBy('productos.fila', 'productos.id', 'productos.nombre') + ->orderBy('productos.fila') + ->get(); + } + + static public function planillaTotales() { + $headers = ['Producto']; + $barrios = DB::table('grupos_de_compra') + ->where('nombre', '<>', 'PRUEBA') + ->pluck('nombre')->toArray(); + $headers = array_merge($headers, $barrios); + + $cantidadesPorBarrio = self::cantidadesPorBarrio(); + $planilla = []; + $ultimaFila = 1; + + foreach ($cantidadesPorBarrio as $productoCantidades) { + $fila = $productoCantidades->fila; + while ($fila - $ultimaFila > 1) { + $ultimaFila++; + $planilla[$ultimaFila] = ['---']; + } + $planilla[$fila] = [$productoCantidades->producto]; + foreach ($barrios as $barrio) { + $planilla[$fila][] = $productoCantidades->$barrio ?? 0; + } + $ultimaFila = $fila; + } + + try { + $writer = Writer::createFromPath(resource_path('csv/exports/pedidos-por-barrio.csv'), 'w'); + $writer->insertOne($headers); + $writer->insertAll($planilla); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); + } + } + + public static function notasPorBarrio(): \Illuminate\Support\Collection + { + return DB::table('productos') + ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id') + ->join('subpedidos', 'producto_subpedido.subpedido_id', '=', 'subpedidos.id') + ->join('grupos_de_compra', 'subpedidos.grupo_de_compra_id', '=', 'grupos_de_compra.id') + ->where('productos.requiere_notas', 1) + ->select( + 'productos.nombre as producto', + 'grupos_de_compra.nombre as barrio', + 'producto_subpedido.notas' + ) + ->get() + ->groupBy('producto'); + } + + static public function planillaNotas() { + $headers = ['Producto']; + $barrios = DB::table('grupos_de_compra') + ->where('nombre', '<>', 'PRUEBA') + ->pluck('nombre')->toArray(); + $headers = array_merge($headers, $barrios); + + $notasPorBarrio = self::notasPorBarrio(); + $planilla = []; + + foreach ($notasPorBarrio as $producto => $notasGrupo) { + $fila = [$producto]; + foreach ($barrios as $barrio) { + $notas = $notasGrupo->where('barrio', $barrio)->pluck('notas')->implode('; '); + $fila[] = $notas ?: ''; + } + $planilla[] = $fila; + } + + try { + $writer = Writer::createFromPath(resource_path('csv/exports/notas-por-barrio.csv'), 'w'); + $writer->insertOne($headers); + $writer->insertAll($planilla); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); + } + } } diff --git a/composer.json b/composer.json index 56a410c..adf9112 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ ], "license": "MIT", "require": { - "php": "^7.3", + "php": "^7.4", "fideloper/proxy": "^4.4", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^6.3.1|^7.0.1", diff --git a/composer.lock b/composer.lock index 76dcd92..972a0bd 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "396e8b555975c7f80f445d978a29aba9", + "content-hash": "4767b996aacf58bf7260964e8930a81d", "packages": [ { "name": "asm89/stack-cors", @@ -630,22 +630,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -656,9 +656,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -736,7 +736,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -752,20 +752,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", "shasum": "" }, "require": { @@ -773,7 +773,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -819,7 +819,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.0.4" }, "funding": [ { @@ -835,20 +835,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -863,8 +863,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -935,7 +935,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -951,20 +951,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "laravel/framework", - "version": "v7.30.6", + "version": "v7.30.7", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + "reference": "0fe75bafb8703c6c8184792b91ce5e27ad80aa7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee", - "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee", + "url": "https://api.github.com/repos/laravel/framework/zipball/0fe75bafb8703c6c8184792b91ce5e27ad80aa7b", + "reference": "0fe75bafb8703c6c8184792b91ce5e27ad80aa7b", "shasum": "" }, "require": { @@ -1113,7 +1113,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-07T14:56:47+00:00" + "time": "2024-11-12T15:42:13+00:00" }, { "name": "laravel/sanctum", @@ -1182,16 +1182,16 @@ }, { "name": "laravel/tinker", - "version": "v2.9.0", + "version": "v2.10.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5", + "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5", "shasum": "" }, "require": { @@ -1242,9 +1242,9 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" + "source": "https://github.com/laravel/tinker/tree/v2.10.0" }, - "time": "2024-01-04T16:10:04+00:00" + "time": "2024-09-23T13:32:56+00:00" }, { "name": "laravel/ui", @@ -1574,16 +1574,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", "shasum": "" }, "require": { @@ -1614,7 +1614,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -1626,20 +1626,20 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { "name": "monolog/monolog", - "version": "2.9.3", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215" + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", "shasum": "" }, "require": { @@ -1716,7 +1716,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.3" + "source": "https://github.com/Seldaek/monolog/tree/2.10.0" }, "funding": [ { @@ -1728,20 +1728,20 @@ "type": "tidelift" } ], - "time": "2024-04-12T20:52:51+00:00" + "time": "2024-11-12T12:43:37+00:00" }, { "name": "mpdf/mpdf", - "version": "v8.2.4", + "version": "v8.2.5", "source": { "type": "git", "url": "https://github.com/mpdf/mpdf.git", - "reference": "9e3ff91606fed11cd58a130eabaaf60e56fdda88" + "reference": "e175b05e3e00977b85feb96a8cccb174ac63621f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mpdf/mpdf/zipball/9e3ff91606fed11cd58a130eabaaf60e56fdda88", - "reference": "9e3ff91606fed11cd58a130eabaaf60e56fdda88", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/e175b05e3e00977b85feb96a8cccb174ac63621f", + "reference": "e175b05e3e00977b85feb96a8cccb174ac63621f", "shasum": "" }, "require": { @@ -1751,7 +1751,7 @@ "mpdf/psr-log-aware-trait": "^2.0 || ^3.0", "myclabs/deep-copy": "^1.7", "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "psr/http-message": "^1.0 || ^2.0", "psr/log": "^1.0 || ^2.0 || ^3.0", "setasign/fpdi": "^2.1" @@ -1799,7 +1799,7 @@ "utf-8" ], "support": { - "docs": "http://mpdf.github.io", + "docs": "https://mpdf.github.io", "issues": "https://github.com/mpdf/mpdf/issues", "source": "https://github.com/mpdf/mpdf" }, @@ -1809,7 +1809,7 @@ "type": "custom" } ], - "time": "2024-06-14T16:06:41+00:00" + "time": "2024-11-18T15:30:42+00:00" }, { "name": "mpdf/psr-http-message-shim", @@ -1905,16 +1905,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -1953,7 +1953,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -1961,7 +1961,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "nesbot/carbon", @@ -2072,16 +2072,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", + "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", "shasum": "" }, "require": { @@ -2124,9 +2124,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2024-10-08T18:51:32+00:00" }, { "name": "opis/closure", @@ -2245,16 +2245,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.2", + "version": "1.9.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", "shasum": "" }, "require": { @@ -2262,13 +2262,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "1.9-dev" @@ -2304,7 +2304,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" }, "funding": [ { @@ -2316,7 +2316,7 @@ "type": "tidelift" } ], - "time": "2023-11-12T21:59:55+00:00" + "time": "2024-07-20T21:41:07+00:00" }, { "name": "prexview/prexview", @@ -3132,16 +3132,16 @@ }, { "name": "setasign/fpdi", - "version": "v2.6.0", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", - "reference": "a6db878129ec6c7e141316ee71872923e7f1b7ad" + "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/a6db878129ec6c7e141316ee71872923e7f1b7ad", - "reference": "a6db878129ec6c7e141316ee71872923e7f1b7ad", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/09a816004fcee9ed3405bd164147e3fdbb79a56f", + "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f", "shasum": "" }, "require": { @@ -3192,7 +3192,7 @@ ], "support": { "issues": "https://github.com/Setasign/FPDI/issues", - "source": "https://github.com/Setasign/FPDI/tree/v2.6.0" + "source": "https://github.com/Setasign/FPDI/tree/v2.6.1" }, "funding": [ { @@ -3200,7 +3200,7 @@ "type": "tidelift" } ], - "time": "2023-12-11T16:03:32+00:00" + "time": "2024-09-02T10:17:15+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -3280,16 +3280,16 @@ }, { "name": "symfony/console", - "version": "v5.4.41", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba" + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6473d441a913cb997123b59ff2dbe3d1cf9e11ba", - "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba", + "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", "shasum": "" }, "require": { @@ -3359,7 +3359,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.41" + "source": "https://github.com/symfony/console/tree/v5.4.47" }, "funding": [ { @@ -3375,20 +3375,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:48:55+00:00" + "time": "2024-11-06T11:30:55+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "ea43887e9afd2029509662d4f95e8b5ef6fc9bbb" + "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/ea43887e9afd2029509662d4f95e8b5ef6fc9bbb", - "reference": "ea43887e9afd2029509662d4f95e8b5ef6fc9bbb", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/4f7f3c35fba88146b56d0025d20ace3f3901f097", + "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097", "shasum": "" }, "require": { @@ -3425,7 +3425,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.40" + "source": "https://github.com/symfony/css-selector/tree/v5.4.45" }, "funding": [ { @@ -3441,7 +3441,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3512,16 +3512,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.4.41", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1" + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", - "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363", + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363", "shasum": "" }, "require": { @@ -3563,7 +3563,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.41" + "source": "https://github.com/symfony/error-handler/tree/v5.4.46" }, "funding": [ { @@ -3579,20 +3579,20 @@ "type": "tidelift" } ], - "time": "2024-06-09T18:59:35+00:00" + "time": "2024-11-05T14:17:06+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9", + "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9", "shasum": "" }, "require": { @@ -3648,7 +3648,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45" }, "funding": [ { @@ -3664,7 +3664,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3747,16 +3747,16 @@ }, { "name": "symfony/finder", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" + "reference": "63741784cd7b9967975eec610b256eed3ede022b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", "shasum": "" }, "require": { @@ -3790,7 +3790,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.40" + "source": "https://github.com/symfony/finder/tree/v5.4.45" }, "funding": [ { @@ -3806,20 +3806,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-28T13:32:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.40", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" + "reference": "168b77c71e6f02d8fc479db78beaf742a37d3cab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/168b77c71e6f02d8fc479db78beaf742a37d3cab", + "reference": "168b77c71e6f02d8fc479db78beaf742a37d3cab", "shasum": "" }, "require": { @@ -3866,7 +3866,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.40" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.46" }, "funding": [ { @@ -3882,20 +3882,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-05T15:52:21+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.41", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2" + "reference": "0ac42d5e16317f15dc5f8ea83742c51d2ed2350f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aad4078e1210343b7cd5acb803c02f8b02f002b2", - "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0ac42d5e16317f15dc5f8ea83742c51d2ed2350f", + "reference": "0ac42d5e16317f15dc5f8ea83742c51d2ed2350f", "shasum": "" }, "require": { @@ -3979,7 +3979,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.41" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.47" }, "funding": [ { @@ -3995,20 +3995,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T11:42:41+00:00" + "time": "2024-11-13T13:47:53+00:00" }, { "name": "symfony/mime", - "version": "v5.4.41", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "c71c7a1aeed60b22d05e738197e31daf2120bd42" + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/c71c7a1aeed60b22d05e738197e31daf2120bd42", - "reference": "c71c7a1aeed60b22d05e738197e31daf2120bd42", + "url": "https://api.github.com/repos/symfony/mime/zipball/8c1b9b3e5b52981551fc6044539af1d974e39064", + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064", "shasum": "" }, "require": { @@ -4064,7 +4064,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.41" + "source": "https://github.com/symfony/mime/tree/v5.4.45" }, "funding": [ { @@ -4080,24 +4080,24 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:36:24+00:00" + "time": "2024-10-23T20:18:32+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -4143,7 +4143,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -4159,24 +4159,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "c027e6a3c6aee334663ec21f5852e89738abc805" + "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c027e6a3c6aee334663ec21f5852e89738abc805", - "reference": "c027e6a3c6aee334663ec21f5852e89738abc805", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956", + "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-iconv": "*" @@ -4223,7 +4223,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0" }, "funding": [ { @@ -4239,24 +4239,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4301,7 +4301,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -4317,26 +4317,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -4385,7 +4384,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" }, "funding": [ { @@ -4401,24 +4400,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4466,7 +4465,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -4482,24 +4481,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -4546,7 +4545,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -4562,97 +4561,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4695,7 +4621,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" }, "funding": [ { @@ -4711,24 +4637,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4775,7 +4701,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -4791,24 +4717,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4851,7 +4777,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" }, "funding": [ { @@ -4867,20 +4793,20 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", - "version": "v5.4.40", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046" + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/deedcb3bb4669cae2148bc920eafd2b16dc7c046", - "reference": "deedcb3bb4669cae2148bc920eafd2b16dc7c046", + "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d", + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d", "shasum": "" }, "require": { @@ -4913,7 +4839,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.40" + "source": "https://github.com/symfony/process/tree/v5.4.47" }, "funding": [ { @@ -4929,20 +4855,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-06T11:36:42+00:00" }, { "name": "symfony/routing", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b" + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b", + "url": "https://api.github.com/repos/symfony/routing/zipball/986597b3d1c86ecefe094c0c236a9e9ad22756f2", + "reference": "986597b3d1c86ecefe094c0c236a9e9ad22756f2", "shasum": "" }, "require": { @@ -5003,7 +4929,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.40" + "source": "https://github.com/symfony/routing/tree/v5.4.45" }, "funding": [ { @@ -5019,7 +4945,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-30T08:44:06+00:00" }, { "name": "symfony/service-contracts", @@ -5106,16 +5032,16 @@ }, { "name": "symfony/string", - "version": "v5.4.41", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096" + "reference": "136ca7d72f72b599f2631aca474a4f8e26719799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/065a9611e0b1fd2197a867e1fb7f2238191b7096", - "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096", + "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799", + "reference": "136ca7d72f72b599f2631aca474a4f8e26719799", "shasum": "" }, "require": { @@ -5172,7 +5098,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.41" + "source": "https://github.com/symfony/string/tree/v5.4.47" }, "funding": [ { @@ -5188,20 +5114,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:20:55+00:00" + "time": "2024-11-10T20:33:58+00:00" }, { "name": "symfony/translation", - "version": "v5.4.40", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed", + "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed", "shasum": "" }, "require": { @@ -5269,7 +5195,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.40" + "source": "https://github.com/symfony/translation/tree/v5.4.45" }, "funding": [ { @@ -5285,7 +5211,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/translation-contracts", @@ -5367,16 +5293,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.40", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93" + "reference": "e13e8dfa8eaab2b0536ef365beddc2af723a9ac0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e13e8dfa8eaab2b0536ef365beddc2af723a9ac0", + "reference": "e13e8dfa8eaab2b0536ef365beddc2af723a9ac0", "shasum": "" }, "require": { @@ -5436,7 +5362,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.40" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.47" }, "funding": [ { @@ -5452,7 +5378,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-08T15:21:10+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -5863,16 +5789,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.23.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -5920,32 +5846,32 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "filp/whoops", - "version": "2.15.4", + "version": "2.16.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + "reference": "befcdc0e5dce67252aa6322d82424be928214fa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2", + "reference": "befcdc0e5dce67252aa6322d82424be928214fa2", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", + "php": "^7.1 || ^8.0", "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -5985,7 +5911,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" + "source": "https://github.com/filp/whoops/tree/2.16.0" }, "funding": [ { @@ -5993,7 +5919,7 @@ "type": "github" } ], - "time": "2023-11-03T12:00:00+00:00" + "time": "2024-09-25T12:00:00+00:00" }, { "name": "nunomaduro/collision", @@ -6090,7 +6016,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.3" + "php": "^7.4" }, "platform-dev": [], "plugin-api-version": "2.6.0" diff --git a/resources/js/components/compras/Body.vue b/resources/js/components/compras/Body.vue index 07c3786..8ba4d5f 100644 --- a/resources/js/components/compras/Body.vue +++ b/resources/js/components/compras/Body.vue @@ -21,6 +21,16 @@
+ diff --git a/routes/web.php b/routes/web.php index baaa801..d6f239f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -82,4 +82,5 @@ Route::middleware(['compras'])->group( function() { Route::get('/compras/pedidos', 'ComprasController@indexPedidos')->name('compras.pedidos'); Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar'); Route::get('/compras/pedidos/notas', 'ComprasController@descargarNotas')->name('compras.pedidos.descargar'); + Route::get('/compras/pedidos/transporte', 'ComprasController@descargarTransporte')->name('compras.pedidos.descargar'); });