diff --git a/app/resources/database/migrations/20250318204147_alter_promotions_null_dates.php b/app/resources/database/migrations/20250318204147_alter_promotions_null_dates.php new file mode 100644 index 0000000..9540573 --- /dev/null +++ b/app/resources/database/migrations/20250318204147_alter_promotions_null_dates.php @@ -0,0 +1,27 @@ +table('promotions') + ->changeColumn('end_date', 'date', ['null' => true]) + ->changeColumn('valid_until', 'date', ['null' => true]) + ->update(); + } +} diff --git a/app/resources/database/migrations/20250318205221_alter_promotions_add_description_and_type.php b/app/resources/database/migrations/20250318205221_alter_promotions_add_description_and_type.php new file mode 100644 index 0000000..d349bd8 --- /dev/null +++ b/app/resources/database/migrations/20250318205221_alter_promotions_add_description_and_type.php @@ -0,0 +1,27 @@ +table('promotions') + ->addColumn('description', 'string', ['limit' => 255, 'null' => false, 'after' => 'id']) + ->addColumn('type', 'integer', ['limit' => 1, 'null' => false, 'default' => 0, 'after' => 'description']) + ->update(); + } +} diff --git a/app/resources/routes/api/ventas/promotions.php b/app/resources/routes/api/ventas/promotions.php new file mode 100644 index 0000000..f69303f --- /dev/null +++ b/app/resources/routes/api/ventas/promotions.php @@ -0,0 +1,10 @@ +group('/promotions', function($app) { + $app->post('/add[/]', [Promotions::class, 'add']); + $app->post('/edit[/]', [Promotions::class, 'edit']); +}); +$app->group('/promotion/{promotion_id}', function($app) { + $app->delete('/remove[/]', [Promotions::class, 'remove']); +}); diff --git a/app/resources/routes/ventas/promotions.php b/app/resources/routes/ventas/promotions.php new file mode 100644 index 0000000..43ddf79 --- /dev/null +++ b/app/resources/routes/ventas/promotions.php @@ -0,0 +1,6 @@ +group('/promotions', function($app) { + $app->get('[/]', Promotions::class); +}); diff --git a/app/resources/views/ventas/promotions.blade.php b/app/resources/views/ventas/promotions.blade.php new file mode 100644 index 0000000..df4df75 --- /dev/null +++ b/app/resources/views/ventas/promotions.blade.php @@ -0,0 +1,172 @@ +@extends('ventas.promotions.base') + +@section('promotions_content') +
Promoción | +Tipo | +Valor | +Fecha Inicio | +Fecha Término | +Válido Hasta | +Contratos | ++ + | +
---|---|---|---|---|---|---|---|
+ + {{ $promotion->description }} + + | +{{ ucwords($promotion->type->name()) }} | +{{ ($promotion->type === Incoviba\Model\Venta\Promotion\Type::FIXED) ? $format->ufs($promotion->amount) : $format->percent($promotion->amount, 2, true) }} | +{{ $promotion->startDate->format('d-m-Y') }} | +{{ $promotion->endDate?->format('d-m-Y') }} | +{{ $promotion->validUntil?->format('d-m-Y') }} | +
+ Proyectos: {{ count(array_unique(array_map(function ($contract) { return $contract->project->descripcion; }, $promotion->contracts()))) }} + Operadores: {{ count(array_unique(array_map(function ($contract) { return $contract->broker->name; }, $promotion->contracts()))) }} + |
+ + + + | +