Rutas y controladores para editar bono

This commit is contained in:
Juan Pablo Vial
2025-04-11 13:32:52 -04:00
parent 434f75f3dd
commit 169ca61729
5 changed files with 38 additions and 2 deletions

View File

@ -29,7 +29,9 @@ $app->group('/venta/{venta_id:[0-9]+}', function($app) {
$app->get('[/]', [Ventas::class, 'pie']);
});
$app->group('/bono_pie', function($app) {
$app->get('/edit[/]', [Ventas\Bonos::class, 'edit']);
$app->get('/add[/]', [Ventas\Bonos::class, 'add']);
$app->get('[/]', [Ventas\Bonos::class, 'edit']);
});
$app->group('/escritura', function($app) {
$app->group('/cuotas', function($app) {

View File

@ -32,6 +32,7 @@ $app->group('/venta/{venta_id}', function($app) {
$app->get('[/]', [Ventas::class, 'comentarios']);
});
$app->group('/bono_pie', function($app) {
$app->post('/edit[/]', [Ventas\Bonos::class, 'edit']);
$app->post('/add[/]', [Ventas\Bonos::class, 'add']);
});
$app->group('/escritura', function($app) {

View File

@ -2,5 +2,7 @@
use Incoviba\Controller\Ventas\Bonos;
$app->group('/bono_pie', function($app) {
$app->get('/edit[/]', [Bonos::class, 'edit']);
$app->get('/add[/]', [Bonos::class, 'add']);
$app->get('[/]', [Bonos::class, 'edit']);
});

View File

@ -7,8 +7,9 @@ use Psr\Http\Message\ServerRequestInterface;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Common\Ideal\Controller;
use Incoviba\Controller\API\withJson;
use Incoviba\Service;
use Incoviba\Exception\ServiceAction\Update;
use Incoviba\Repository;
use Incoviba\Service;
class Bonos extends Controller
{
@ -39,4 +40,25 @@ class Bonos extends Controller
} catch (EmptyResult) {}
return $this->withJson($response, $output);
}
public function edit(ServerRequestInterface $request, ResponseInterface $response, Service\Venta $ventaService,
Service\Venta\BonoPie $bonoPieService, int $venta_id): ResponseInterface
{
$input = $request->getParsedBody();
$output = [
'venta_id' => $venta_id,
'input' => $input,
'bono' => null,
'success' => false,
];
try {
try {
$venta = $ventaService->getById($venta_id);
} catch (EmptyResult $exception) {
throw new Update(__CLASS__, $exception);
}
$output['bono'] = $bonoPieService->edit($venta->formaPago()->bonoPie, $input);
$output['success'] = true;
} catch (Update) {}
return $this->withJson($response, $output);
}
}

View File

@ -4,14 +4,23 @@ namespace Incoviba\Controller\Ventas;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Incoviba\Common\Alias\View;
use Incoviba\Repository;
use Incoviba\Service;
class Bonos
{
public function show(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Venta $ventaService, int $venta_id): ResponseInterface
{
$venta = $ventaService->getById($venta_id);
return $view->render($response, 'ventas.pies.bonos.show', compact('venta'));
}
public function add(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Venta $ventaService, int $venta_id): ResponseInterface
{
$venta = $ventaService->getById($venta_id);
return $view->render($response, 'ventas.pies.bonos.add', compact('venta'));
}
public function edit(ServerRequestInterface $request, ResponseInterface $response, View $view, Service\Venta $ventaService, int $venta_id): ResponseInterface
{
$venta = $ventaService->getById($venta_id);
return $view->render($response, 'ventas.pies.bonos.edit', compact('venta'));
}
}