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') + + + + + + + + + + + + + + + @foreach($promotions as $promotion) + + + + + + + + + + + @endforeach + +
PromociónTipoValorFecha InicioFecha TérminoVálido HastaContratos + +
+ + {{ $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()))) }} +
+ + +
+ @include('ventas.promotions.add_modal') + @include('ventas.promotions.edit_modal') +@endsection + +@push('page_scripts') + +@endpush diff --git a/app/resources/views/ventas/promotions/add_modal.blade.php b/app/resources/views/ventas/promotions/add_modal.blade.php new file mode 100644 index 0000000..6a71ba0 --- /dev/null +++ b/app/resources/views/ventas/promotions/add_modal.blade.php @@ -0,0 +1,100 @@ +