Missing categoria from cuentas

This commit is contained in:
2021-12-23 01:09:35 -03:00
parent 0378a2cf09
commit 71b4211fc3
3 changed files with 57 additions and 34 deletions

View File

@ -82,6 +82,15 @@ class Cuentas {
]; ];
return $this->withJson($response, $output); return $this->withJson($response, $output);
} }
public function categoria(Request $request, Response $response, Factory $factory, $cuenta_id): Response {
$cuenta = $factory->find(Cuenta::class)->one($cuenta_id);
$output = [
'input' => $cuenta_id,
'cuenta' => $cuenta?->toArray(),
'categoria' => $cuenta?->categoria()->toArray()
];
return $this->withJson($response, $output);
}
public function entradas(Request $request, Response $response, Factory $factory, $cuenta_id): Response { public function entradas(Request $request, Response $response, Factory $factory, $cuenta_id): Response {
$cuenta = $factory->find(Cuenta::class)->one($cuenta_id); $cuenta = $factory->find(Cuenta::class)->one($cuenta_id);
$entradas = null; $entradas = null;
@ -120,6 +129,8 @@ class Cuentas {
$arr['valorFormateado'] = $cuenta->moneda()->format($arr['valor']); $arr['valorFormateado'] = $cuenta->moneda()->format($arr['valor']);
} }
} }
$arr['debito']['categoria'] = $transaccion->debito()->categoria()->toArray();
$arr['credito']['categoria'] = $transaccion->credito()->categoria()->toArray();
$transaccion = $arr; $transaccion = $arr;
} }
} }

View File

@ -11,6 +11,7 @@ $app->group('/cuenta/{cuenta_id}', function($app) {
$app->get('/amount', [Cuentas::class, 'transaccionesAmount']); $app->get('/amount', [Cuentas::class, 'transaccionesAmount']);
$app->get('[/{limit:[0-9]+}[/{start:[0-9]+}]]', [Cuentas::class, 'transacciones']); $app->get('[/{limit:[0-9]+}[/{start:[0-9]+}]]', [Cuentas::class, 'transacciones']);
}); });
$app->get('/categoria', [Cuentas::class, 'categoria']);
$app->put('/edit', [Cuentas::class, 'edit']); $app->put('/edit', [Cuentas::class, 'edit']);
$app->delete('/delete', [Cuentas::class, 'delete']); $app->delete('/delete', [Cuentas::class, 'delete']);
$app->get('[/]', [Cuentas::class, 'show']); $app->get('[/]', [Cuentas::class, 'show']);

View File

@ -96,40 +96,44 @@ const transacciones = {
return return
} }
this.cuenta = data.cuenta this.cuenta = data.cuenta
this.saldo = this.cuenta.saldo sendGet(_urls.api + '/cuenta/' + this.cuenta_id + '/categoria').then((resp) => {
$('#cuenta').html(this.cuenta.nombre + ' (' + this.cuenta.categoria.nombre + ')').append( this.cuenta.categoria = resp.categoria
$('<i></i>').attr('class', 'square full icon').css('color', '#' + this.cuenta.tipo.color) }).then(() => {
) this.saldo = this.cuenta.saldo
const amount = data.transacciones $('#cuenta').html(this.cuenta.nombre + ' (' + this.cuenta.categoria.nombre + ')').append(
const step = 50 $('<i></i>').attr('class', 'square full icon').css('color', '#' + this.cuenta.tipo.color)
for (let i = 0; i < amount; i += step) {
promises.push(
sendGet(_urls.api + '/cuenta/' + this.cuenta_id + '/transacciones/' + step + '/' + i)
) )
} const amount = data.transacciones
if (promises.length > 0) { const step = 50
Promise.all(promises).then((data_arr) => { for (let i = 0; i < amount; i += step) {
this.transacciones = [] promises.push(
data_arr.forEach(data => { sendGet(_urls.api + '/cuenta/' + this.cuenta_id + '/transacciones/' + step + '/' + i)
if (data.transacciones === null || data.transacciones.length === 0) { )
return }
} if (promises.length > 0) {
$.each(data.transacciones, (i, el) => { Promise.all(promises).then((data_arr) => {
const tr = new Transaccion(el) this.transacciones = []
tr.setCuenta(this.cuenta) data_arr.forEach(data => {
tr.setModal(this.modal) if (data.transacciones === null || data.transacciones.length === 0) {
this.transacciones.push(tr) return
}
$.each(data.transacciones, (i, el) => {
const tr = new Transaccion(el)
tr.setCuenta(this.cuenta)
tr.setModal(this.modal)
this.transacciones.push(tr)
})
}) })
this.transacciones.sort((a, b) => {
return (new Date(b.fecha)) - (new Date(a.fecha))
})
}).then(() => {
this.draw()
}) })
this.transacciones.sort((a, b) => { } else {
return (new Date(b.fecha)) - (new Date(a.fecha))
})
}).then(() => {
this.draw() this.draw()
}) }
} else { })
this.draw()
}
}) })
}, },
cuentas: () => { cuentas: () => {
@ -141,11 +145,18 @@ const transacciones = {
}).then(() => { }).then(() => {
const select = this.modal.find("[name='cuenta']") const select = this.modal.find("[name='cuenta']")
$.each(this.cuentas, (i, el) => { $.each(this.cuentas, (i, el) => {
select.append( this.get().categoria(i).then(() => {
$('<option></option>').attr('value', el.id).html(el.nombre + ' (' + el.categoria.nombre + ')') select.append(
) $('<option></option>').attr('value', el.id).html(el.nombre + ' (' + el.categoria.nombre + ')')
)
})
}) })
}) })
},
categoria: (idx) => {
return sendGet(_urls.api + '/cuenta/' + this.cuentas[idx].id + '/categoria').then((data) => {
this.cuentas[idx].categoria = data.categoria
})
} }
} }
}, },
@ -172,7 +183,7 @@ const transacciones = {
fecha: fecha, fecha: fecha,
valor: $("[name='cambio']").val() valor: $("[name='cambio']").val()
}) })
sendPut(_urls.api + '/tipos/cambios/add', data1) sendPost(_urls.api + '/tipos/cambios/add', data1)
const valor = $("[name='valor']").val() const valor = $("[name='valor']").val()
const cuenta = $("[name='cuenta']").val() const cuenta = $("[name='cuenta']").val()