FIX: show cuentas missing moneda

This commit is contained in:
2022-03-25 17:39:12 -03:00
parent 8b86560973
commit cddf768b1e
4 changed files with 35 additions and 14 deletions

View File

@ -125,6 +125,9 @@ class Cuenta extends Model {
}
public function acumulacion(Carbon $date) {
$consolidados = $this->consolidados();
if ($consolidados === null) {
return 0;
}
$saldo = 0;
foreach ($consolidados as $consolidado) {
if ($consolidado->fecha() >= $date) {

View File

@ -17,7 +17,7 @@ use ProVM\Common\Alias\Model;
*/
class Transaccion extends Model {
public static $_table = 'transacciones';
protected static $fields = ['debito_id', 'credito_id', 'fecha', 'glosa', 'detalle', 'valor'];
protected static $fields = ['debito_id', 'credito_id', 'fecha', 'glosa', 'detalle', 'valor', 'moneda_id'];
protected $debito;
public function debito() {

View File

@ -1,5 +1,5 @@
class Transaccion {
constructor({id, debito_id, credito_id, fecha, glosa, detalle, valor, debito, credito, fechaFormateada, valorFormateado, format}) {
constructor({id, debito_id, credito_id, fecha, glosa, detalle, valor, debito, credito, fechaFormateada, valorFormateado, format, moneda_id}) {
this.id = id
this.debito_id = debito_id
this.credito_id = credito_id
@ -102,6 +102,7 @@ const transacciones = {
cuenta: null,
transacciones: [],
cuentas: [],
monedas: [],
date: new Date(),
saldo: 0,
acumulation: 0,
@ -210,12 +211,27 @@ const transacciones = {
)
})
})
this.get().monedas().then(() => {
const select = this.modal.find("[name='moneda']")
$.each(this.monedas, (i, el) => {
const option = $('<option></option>').attr('value', el.id).html(el.denominacion)
if (el.id === '1') {
option.attr('selected', 'selected')
}
select.append(option)
})
})
})
},
categoria: (idx) => {
return sendGet(_urls.api + '/cuenta/' + this.cuentas[idx].id + '/categoria').then((data) => {
this.cuentas[idx].categoria = data.categoria
})
},
monedas: () => {
return sendGet(_urls.api + '/monedas').then((response) => {
this.monedas = response.monedas
})
}
}
},
@ -276,13 +292,6 @@ const transacciones = {
},
exec: () => {
const fecha = $("[name='fecha']").val()
const data1 = JSON.stringify({
desde_id: $("[name='moneda']").val(),
hasta_id: 1,
fecha: fecha,
valor: $("[name='cambio']").val()
})
sendPost(_urls.api + '/tipos/cambios/add', data1)
const valor = $("[name='valor']").val()
const cuenta = $("[name='cuenta']").val()
@ -292,7 +301,8 @@ const transacciones = {
fecha: fecha,
glosa: $("[name='glosa']").val(),
detalle: $("[name='detalle']").val(),
valor: (valor < 0) ? -valor : valor
valor: (valor < 0) ? -valor : valor,
moneda_id: $("[name='moneda']").val()
})
return sendPost(_urls.api + '/transacciones/add', data).then(() => {
this.modal.modal('hide')
@ -308,13 +318,15 @@ const transacciones = {
const glosa = $("[name='glosa']").val()
const detalle = $("[name='detalle']").val()
const valor = $("[name='valor']").val()
const moneda_id = $("[name='moneda']").val()
const data = JSON.stringify({
debito_id: (valor < 0) ? this.cuenta_id : cuenta,
credito_id: (valor < 0) ? cuenta : this.cuenta_id,
fecha,
glosa,
detalle,
valor: (valor < 0) ? -valor : valor
valor: (valor < 0) ? -valor : valor,
moneda_id
})
return sendPut(_urls.api + '/transaccion/' + id + '/edit', data).then(() => {
this.modal.modal('hide')

View File

@ -85,9 +85,15 @@
<label>Detalle</label>
<input type="text" name="detalle" />
</div>
<div class="field">
<label>Valor</label>
<input type="text" name="valor" />
<div class="fields">
<div class="field">
<label>Valor</label>
<input type="text" name="valor" />
</div>
<div class="field">
<lable>Moneda</lable>
<select name="moneda"></select>
</div>
</div>
<button class="ui icon button">
<i class="plus icon"></i>