From 1324898483f59a9b225ef0c21009f5fab7fa949a Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 17:20:04 -0300
Subject: [PATCH 01/22] Agregada funcion que genera tabla de totales por
producto
---
app/Producto.php | 91 +++++---
composer.json | 2 +-
composer.lock | 556 ++++++++++++++++++++---------------------------
3 files changed, 300 insertions(+), 349 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index 1a70545..c544a03 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -2,52 +2,77 @@
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;
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')
+ ->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')
+ ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
+ ->join('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
+ ->select(array_merge(
+ ['productos.nombre as Product'],
+ $columnasBarrios
+ ))
+ ->groupBy('productos.id', 'productos.nombre')
+ ->get();
+ }
}
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"
From 00b41afa5a371795e69d14838348d7baf2cebca0 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:44:03 -0300
Subject: [PATCH 02/22] Agregada funcion que genera planilla de totales por
barrio
---
app/Producto.php | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index c544a03..f7c6e2f 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -7,6 +7,8 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
+use League\Csv\CannotInsertRecord;
+use League\Csv\Writer;
class Producto extends Model
{
@@ -58,7 +60,7 @@ class Producto extends Model
static public function cantidadesPorBarrio()
{
$barrios = DB::table('grupos_de_compra')
- ->where('nombre')
+ ->where('nombre', '<>', 'PRUEBA')
->pluck('id', 'nombre');
$columnasBarrios = $barrios->map(function ($id, $nombre) {
@@ -66,13 +68,49 @@ class Producto extends Model
})->toArray();
return DB::table('productos')
+ ->where('productos.nombre','not like','%barrial%')
->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
->join('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
->select(array_merge(
- ['productos.nombre as Product'],
+ ['productos.fila as fila'],
+ ['productos.nombre as producto'],
$columnasBarrios
))
- ->groupBy('productos.id', 'productos.nombre')
+ ->groupBy('productos.fila','productos.id','productos.nombre')
+ ->orderBy('productos.fila')
->get();
}
+
+ static public function planillaTotales() {
+ $headers = ['Producto'];
+ $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
+ $headers = array_merge($headers, $barrios);
+
+ $cantidadesPorBarrio = Producto::cantidadesPorBarrio();
+ $planilla = [];
+ $ultimaFila = 1;
+
+ foreach ($cantidadesPorBarrio as $productoCantidades) {
+ $fila = $productoCantidades->fila;
+ while ($fila - $ultimaFila > 1) {
+ $producto = Producto::where('fila', $ultimaFila)->first();
+ $planilla[$ultimaFila] = [$producto ? $producto->nombre : ''];
+ $ultimaFila++;
+ }
+ $planilla[$fila] = [$productoCantidades->producto];
+ foreach ($barrios as $barrio) {
+ $planilla[$fila][] = $productoCantidades->$barrio ?? 0;
+ }
+ $ultimaFila = $fila;
+ }
+
+ // Guardar en un archivo .csv
+ try {
+ $writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
+ $writer->insertOne($headers);
+ $writer->insertAll($planilla);
+ } catch (CannotInsertRecord $e) {
+ var_export($e->getRecords());
+ }
+ }
}
From 1c5b8ecb293ee458827cf307a643e1fe9d3232c9 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:45:09 -0300
Subject: [PATCH 03/22] =?UTF-8?q?Cambio=20de=20m=C3=A9todo=20en=20ruta=20d?=
=?UTF-8?q?e=20descarga=20de=20pedidos?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Http/Controllers/ComprasController.php | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php
index e39eeda..93f2ef9 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,11 +12,11 @@ class ComprasController
}
public function descargarPedidos() {
- GrupoDeCompra::exportarTodosLosPedidosEnCSV();
+ Producto::planillaTotales();
$file = resource_path('csv/exports/total-pedidos.csv');
return response()->download($file);
}
-
+
public function descargarNotas() {
GrupoDeCompra::exportarProductosConNotasEnCSV();
$file = resource_path('csv/exports/pedidos-notas.csv');
From 6dae6afe9562d8854bfacae8f816a93a29dbd2e0 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:46:40 -0300
Subject: [PATCH 04/22] =?UTF-8?q?Eliminado=20m=C3=A9todo=20viejo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/GrupoDeCompra.php | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index 31cdfb0..fd5de50 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -224,22 +224,6 @@ 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);
-
- // 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) {
From f5f9838fc38d27fee8857b14caf4561d612213b8 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 17:20:04 -0300
Subject: [PATCH 05/22] Agregada funcion que genera tabla de totales por
producto
---
app/Producto.php | 91 +++++---
composer.json | 2 +-
composer.lock | 556 ++++++++++++++++++++---------------------------
3 files changed, 300 insertions(+), 349 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index 1a70545..c544a03 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -2,52 +2,77 @@
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;
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')
+ ->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')
+ ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
+ ->join('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
+ ->select(array_merge(
+ ['productos.nombre as Product'],
+ $columnasBarrios
+ ))
+ ->groupBy('productos.id', 'productos.nombre')
+ ->get();
+ }
}
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"
From d170f9e46e4038230e377fa2ec122e31fdc3cf71 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:44:03 -0300
Subject: [PATCH 06/22] Agregada funcion que genera planilla de totales por
barrio
---
app/Producto.php | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index c544a03..f7c6e2f 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -7,6 +7,8 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
+use League\Csv\CannotInsertRecord;
+use League\Csv\Writer;
class Producto extends Model
{
@@ -58,7 +60,7 @@ class Producto extends Model
static public function cantidadesPorBarrio()
{
$barrios = DB::table('grupos_de_compra')
- ->where('nombre')
+ ->where('nombre', '<>', 'PRUEBA')
->pluck('id', 'nombre');
$columnasBarrios = $barrios->map(function ($id, $nombre) {
@@ -66,13 +68,49 @@ class Producto extends Model
})->toArray();
return DB::table('productos')
+ ->where('productos.nombre','not like','%barrial%')
->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
->join('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
->select(array_merge(
- ['productos.nombre as Product'],
+ ['productos.fila as fila'],
+ ['productos.nombre as producto'],
$columnasBarrios
))
- ->groupBy('productos.id', 'productos.nombre')
+ ->groupBy('productos.fila','productos.id','productos.nombre')
+ ->orderBy('productos.fila')
->get();
}
+
+ static public function planillaTotales() {
+ $headers = ['Producto'];
+ $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
+ $headers = array_merge($headers, $barrios);
+
+ $cantidadesPorBarrio = Producto::cantidadesPorBarrio();
+ $planilla = [];
+ $ultimaFila = 1;
+
+ foreach ($cantidadesPorBarrio as $productoCantidades) {
+ $fila = $productoCantidades->fila;
+ while ($fila - $ultimaFila > 1) {
+ $producto = Producto::where('fila', $ultimaFila)->first();
+ $planilla[$ultimaFila] = [$producto ? $producto->nombre : ''];
+ $ultimaFila++;
+ }
+ $planilla[$fila] = [$productoCantidades->producto];
+ foreach ($barrios as $barrio) {
+ $planilla[$fila][] = $productoCantidades->$barrio ?? 0;
+ }
+ $ultimaFila = $fila;
+ }
+
+ // Guardar en un archivo .csv
+ try {
+ $writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
+ $writer->insertOne($headers);
+ $writer->insertAll($planilla);
+ } catch (CannotInsertRecord $e) {
+ var_export($e->getRecords());
+ }
+ }
}
From 1b16669512d139d4f9b9a1e9f8f803b1c9ce192e Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:45:09 -0300
Subject: [PATCH 07/22] =?UTF-8?q?Cambio=20de=20m=C3=A9todo=20en=20ruta=20d?=
=?UTF-8?q?e=20descarga=20de=20pedidos?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Http/Controllers/ComprasController.php | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php
index e39eeda..93f2ef9 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,11 +12,11 @@ class ComprasController
}
public function descargarPedidos() {
- GrupoDeCompra::exportarTodosLosPedidosEnCSV();
+ Producto::planillaTotales();
$file = resource_path('csv/exports/total-pedidos.csv');
return response()->download($file);
}
-
+
public function descargarNotas() {
GrupoDeCompra::exportarProductosConNotasEnCSV();
$file = resource_path('csv/exports/pedidos-notas.csv');
From df05b31b86abf94e96142aa740bebf6c11dea5b0 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 25 Nov 2024 21:46:40 -0300
Subject: [PATCH 08/22] =?UTF-8?q?Eliminado=20m=C3=A9todo=20viejo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/GrupoDeCompra.php | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index 31cdfb0..fd5de50 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -224,22 +224,6 @@ 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);
-
- // 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) {
From f84e1f295448ec2fbb3d67bf4a2b79366fce4193 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 07:18:02 -0300
Subject: [PATCH 09/22] Nueva logica para planilla de notas, a partir de
producto
---
app/Producto.php | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/app/Producto.php b/app/Producto.php
index f7c6e2f..df6652d 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -113,4 +113,44 @@ class Producto extends Model
var_export($e->getRecords());
}
}
+
+ static public function planillaNotas() {
+ $headers = ['Producto'];
+ $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
+ $headers = array_merge($headers, $barrios);
+
+ $notasPorBarrio = 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'); // Group notes by product
+
+ $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());
+ }
+ }
}
From ec10bdca92f0e29f2dc8a791f1d07f9f682bfbbb Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 07:20:28 -0300
Subject: [PATCH 10/22] Cambio en controller para usar metodo de producto
---
app/Http/Controllers/ComprasController.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php
index 93f2ef9..dd2fc6b 100644
--- a/app/Http/Controllers/ComprasController.php
+++ b/app/Http/Controllers/ComprasController.php
@@ -18,8 +18,8 @@ class ComprasController
}
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);
}
From f778a4f24e85734acc5b28d569c1dcda3da02f96 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:33:42 -0300
Subject: [PATCH 11/22] Planilla de notas + ignorar barrio PRUEBA
---
app/Producto.php | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index df6652d..9375c20 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -83,17 +83,19 @@ class Producto extends Model
static public function planillaTotales() {
$headers = ['Producto'];
- $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
+ $barrios = DB::table('grupos_de_compra')
+ ->where('nombre', '<>', 'PRUEBA')
+ ->pluck('nombre')->toArray();
$headers = array_merge($headers, $barrios);
- $cantidadesPorBarrio = Producto::cantidadesPorBarrio();
+ $cantidadesPorBarrio = self::cantidadesPorBarrio();
$planilla = [];
$ultimaFila = 1;
foreach ($cantidadesPorBarrio as $productoCantidades) {
$fila = $productoCantidades->fila;
while ($fila - $ultimaFila > 1) {
- $producto = Producto::where('fila', $ultimaFila)->first();
+ $producto = self::where('fila', $ultimaFila)->first();
$planilla[$ultimaFila] = [$producto ? $producto->nombre : ''];
$ultimaFila++;
}
@@ -104,7 +106,6 @@ class Producto extends Model
$ultimaFila = $fila;
}
- // Guardar en un archivo .csv
try {
$writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
$writer->insertOne($headers);
@@ -114,12 +115,9 @@ class Producto extends Model
}
}
- static public function planillaNotas() {
- $headers = ['Producto'];
- $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
- $headers = array_merge($headers, $barrios);
-
- $notasPorBarrio = DB::table('productos')
+ 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')
@@ -130,18 +128,25 @@ class Producto extends Model
'producto_subpedido.notas'
)
->get()
- ->groupBy('producto'); // Group notes by product
+ ->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;
}
From b5d23c67402d7b23af5dedc8b2421c92d86cfc6f Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:35:11 -0300
Subject: [PATCH 12/22] Formato
---
app/GrupoDeCompra.php | 388 ++++++++++++++++++++++--------------------
1 file changed, 200 insertions(+), 188 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index fd5de50..6928d5f 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -3,19 +3,18 @@
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'];
+ 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
@@ -37,183 +36,194 @@ class GrupoDeCompra extends Model
$total = $total + $cantidad;
}
$fila = Producto::productosIdFila()[$id];
- $planilla[$fila][$i-1] = $total;
+ $planilla[$fila][$i - 1] = $total;
}
- $planilla[GrupoDeCompra::obtenerFilaDeBonoTransporte()][$i-1] = $gdc->calcularCantidadBDT();
+ $planilla[GrupoDeCompra::obtenerFilaDeBonoTransporte()][$i - 1] = $gdc->calcularCantidadBDT();
}
array_splice($planilla, 0, 0, array($barrios));
return $planilla;
}
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,29 +234,31 @@ class GrupoDeCompra extends Model
return array($records, $i, $cantidad);
}
- 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;
- }
+ 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;
+ }
+ }
+ }
+ }
+ // 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());
}
- }
}
- // 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());
- }
- }
+
}
From 8e885c18d84069b9a57f993cdc8734954062311e Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:35:32 -0300
Subject: [PATCH 13/22] Planilla de transporte
---
app/GrupoDeCompra.php | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index 6928d5f..c56a795 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -261,4 +261,41 @@ class GrupoDeCompra extends Model
}
}
+ static public function totalesParaTransportePorBarrio() {
+ return DB::table('grupos_de_compra')
+ ->join('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
+ ->join('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
+ ->join('productos', 'producto_subpedido.producto_id', '=', 'productos.id')
+ ->where('productos.categoria', 'not like', '%SUBSIDIADO%')
+ ->where('productos.bono', 0)
+ ->where('subpedidos.aprobado', 1)
+ ->select(
+ 'grupos_de_compra.nombre as barrio',
+ DB::raw('SUM(producto_subpedido.cantidad * productos.precio) as total')
+ )
+ ->groupBy('grupos_de_compra.nombre')
+ ->get();
+ }
+
+ 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());
+ }
+ }
}
From 5c97fc9e70e587442c462c1852abdc120568b2b6 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:52:41 -0300
Subject: [PATCH 14/22] Cambiado para tener todos los barrios, incluso los que
tienen 0 bonos de transporte
---
app/GrupoDeCompra.php | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index c56a795..7724cb2 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -263,20 +263,31 @@ class GrupoDeCompra extends Model
static public function totalesParaTransportePorBarrio() {
return DB::table('grupos_de_compra')
- ->join('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
- ->join('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
- ->join('productos', 'producto_subpedido.producto_id', '=', 'productos.id')
- ->where('productos.categoria', 'not like', '%SUBSIDIADO%')
- ->where('productos.bono', 0)
- ->where('subpedidos.aprobado', 1)
+ ->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') // Handle missing products
+ ->orWhere('productos.categoria', 'not like', '%SUBSIDIADO%');
+ })
+ ->where(function ($query) {
+ $query->whereNull('productos.bono') // Handle missing products
+ ->orWhere('productos.bono', 0);
+ })
+ ->where(function ($query) {
+ $query->whereNull('subpedidos.aprobado') // Handle missing subpedidos
+ ->orWhere('subpedidos.aprobado', 1);
+ })
->select(
+ 'grupos_de_compra.id as id',
'grupos_de_compra.nombre as barrio',
- DB::raw('SUM(producto_subpedido.cantidad * productos.precio) as total')
+ DB::raw('COALESCE(SUM(producto_subpedido.cantidad * productos.precio), 0) as total')
)
- ->groupBy('grupos_de_compra.nombre')
+ ->groupBy('grupos_de_compra.id')
->get();
}
+
static public function planillaTransporte() {
$totalesPorBarrio = self::totalesParaTransportePorBarrio();
$barrios = [];
From 635cecedb7a5a2bf8726d332126ef6c524775044 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:56:47 -0300
Subject: [PATCH 15/22] Quitados comentarios
---
app/GrupoDeCompra.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index 7724cb2..6e1607b 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -267,15 +267,15 @@ class GrupoDeCompra extends Model
->leftJoin('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
->leftJoin('productos', 'producto_subpedido.producto_id', '=', 'productos.id')
->where(function ($query) {
- $query->whereNull('productos.categoria') // Handle missing products
+ $query->whereNull('productos.categoria')
->orWhere('productos.categoria', 'not like', '%SUBSIDIADO%');
})
->where(function ($query) {
- $query->whereNull('productos.bono') // Handle missing products
+ $query->whereNull('productos.bono')
->orWhere('productos.bono', 0);
})
->where(function ($query) {
- $query->whereNull('subpedidos.aprobado') // Handle missing subpedidos
+ $query->whereNull('subpedidos.aprobado')
->orWhere('subpedidos.aprobado', 1);
})
->select(
From 1b82700db32a0c4122fe5c8630f325a4340a4acd Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:57:53 -0300
Subject: [PATCH 16/22] Limpieza
---
app/GrupoDeCompra.php | 55 -------------------------------------------
1 file changed, 55 deletions(-)
diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php
index 6e1607b..0522d47 100644
--- a/app/GrupoDeCompra.php
+++ b/app/GrupoDeCompra.php
@@ -16,34 +16,6 @@ class GrupoDeCompra extends Model
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 function toggleDevoluciones()
{
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
@@ -234,33 +206,6 @@ class GrupoDeCompra extends Model
return array($records, $i, $cantidad);
}
- 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;
- }
- }
- }
- }
- // 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());
- }
- }
-
static public function totalesParaTransportePorBarrio() {
return DB::table('grupos_de_compra')
->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
From 2486826dbaf0e63c2c88f3c74fd4c33b553cffd8 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 12:59:59 -0300
Subject: [PATCH 17/22] =?UTF-8?q?Agregada=20ruta=20y=20m=C3=A9todo=20de=20?=
=?UTF-8?q?controlador=20para=20planilla=20de=20transporte?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Http/Controllers/ComprasController.php | 6 ++++++
app/Producto.php | 2 +-
routes/web.php | 1 +
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php
index dd2fc6b..5bafc3f 100644
--- a/app/Http/Controllers/ComprasController.php
+++ b/app/Http/Controllers/ComprasController.php
@@ -23,6 +23,12 @@ class ComprasController
return response()->download($file);
}
+ public function descargarTransporte() {
+ GrupoDeCompra::planillaTransporte();
+ $file = resource_path('csv/exports/transporte-por-barrio.csv');
+ return response()->download($file);
+ }
+
public function show()
{
return view('auth/compras_login');
diff --git a/app/Producto.php b/app/Producto.php
index 9375c20..39c2601 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -107,7 +107,7 @@ class Producto extends Model
}
try {
- $writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
+ $writer = Writer::createFromPath(resource_path('csv/exports/pedidos-por-barrio.csv'), 'w');
$writer->insertOne($headers);
$writer->insertAll($planilla);
} catch (CannotInsertRecord $e) {
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');
});
From fab7695e6c2fbf8bdbeba824df87e1b4d1540af2 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 13:03:32 -0300
Subject: [PATCH 18/22] Agregado boton para planilla de transporte
---
resources/js/components/compras/Body.vue | 10 ++++++++++
1 file changed, 10 insertions(+)
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 @@
+
From 9abeb982391d3916568293f41c9488f9996db850 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 20:52:51 -0300
Subject: [PATCH 19/22] Cambiado a left join para tener todos los productos
---
app/Producto.php | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index 39c2601..9359bc0 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -68,15 +68,15 @@ class Producto extends Model
})->toArray();
return DB::table('productos')
- ->where('productos.nombre','not like','%barrial%')
- ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
- ->join('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
+ ->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')
+ ->groupBy('productos.fila', 'productos.id', 'productos.nombre')
->orderBy('productos.fila')
->get();
}
@@ -94,10 +94,9 @@ class Producto extends Model
foreach ($cantidadesPorBarrio as $productoCantidades) {
$fila = $productoCantidades->fila;
- while ($fila - $ultimaFila > 1) {
- $producto = self::where('fila', $ultimaFila)->first();
- $planilla[$ultimaFila] = [$producto ? $producto->nombre : ''];
+ if ($fila - $ultimaFila > 1) {
$ultimaFila++;
+ $planilla[$ultimaFila] = ['---'];
}
$planilla[$fila] = [$productoCantidades->producto];
foreach ($barrios as $barrio) {
From 8a0f8fbe139f40d2c806be2d372fd19f51cf857e Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 20:58:56 -0300
Subject: [PATCH 20/22] Hueco para transporte
---
app/Producto.php | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/app/Producto.php b/app/Producto.php
index 9359bc0..861cdee 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -8,6 +8,7 @@ use Illuminate\Http\Request;
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
@@ -91,10 +92,11 @@ class Producto extends Model
$cantidadesPorBarrio = self::cantidadesPorBarrio();
$planilla = [];
$ultimaFila = 1;
+ $filaTransporte = self::filaTransporte();
foreach ($cantidadesPorBarrio as $productoCantidades) {
$fila = $productoCantidades->fila;
- if ($fila - $ultimaFila > 1) {
+ while ($fila - $ultimaFila > 1) {
$ultimaFila++;
$planilla[$ultimaFila] = ['---'];
}
@@ -157,4 +159,17 @@ class Producto extends Model
var_export($e->getRecords());
}
}
+
+ private static function filaTransporte()
+ {
+ $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');
+ }
}
From cef38cf69cdafe7611e50197faeb155db94046bc Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 20:59:34 -0300
Subject: [PATCH 21/22] Borrada funcion innecesaria
---
app/Producto.php | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/app/Producto.php b/app/Producto.php
index 861cdee..1d002a6 100644
--- a/app/Producto.php
+++ b/app/Producto.php
@@ -92,7 +92,6 @@ class Producto extends Model
$cantidadesPorBarrio = self::cantidadesPorBarrio();
$planilla = [];
$ultimaFila = 1;
- $filaTransporte = self::filaTransporte();
foreach ($cantidadesPorBarrio as $productoCantidades) {
$fila = $productoCantidades->fila;
@@ -159,17 +158,4 @@ class Producto extends Model
var_export($e->getRecords());
}
}
-
- private static function filaTransporte()
- {
- $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');
- }
}
From c4eb4563d51fe5ad4d1daa9f917810cdabcbd515 Mon Sep 17 00:00:00 2001
From: ale
Date: Mon, 9 Dec 2024 21:13:51 -0300
Subject: [PATCH 22/22] Arreglado nombre de archivo
---
app/Http/Controllers/ComprasController.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Http/Controllers/ComprasController.php b/app/Http/Controllers/ComprasController.php
index 5bafc3f..48e9ef4 100644
--- a/app/Http/Controllers/ComprasController.php
+++ b/app/Http/Controllers/ComprasController.php
@@ -13,7 +13,7 @@ class ComprasController
public function descargarPedidos() {
Producto::planillaTotales();
- $file = resource_path('csv/exports/total-pedidos.csv');
+ $file = resource_path('csv/exports/pedidos-por-barrio.csv');
return response()->download($file);
}