diff --git a/api/common/Service/TiposCambios.php b/api/common/Service/TiposCambios.php index 7319c30..4628652 100644 --- a/api/common/Service/TiposCambios.php +++ b/api/common/Service/TiposCambios.php @@ -69,6 +69,9 @@ class TiposCambios { return $cambio->valor; } $valor = $this->getValor($fecha, $moneda->codigo); + if ($valor === null) { + return 1; + } $data = [ 'fecha' => $fecha->format('Y-m-d H:i:s'), 'desde_id' => $moneda->id, diff --git a/api/nginx.conf b/api/nginx.conf index 069343f..c946d40 100644 --- a/api/nginx.conf +++ b/api/nginx.conf @@ -12,11 +12,12 @@ server { } location ~ \.php$ { + if ($request_method = 'OPTIONS') { - add_header 'Access-Control-Max-Age' 1728000; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH'; + add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'application/json'; add_header 'Content-Length' 0; return 204; diff --git a/api/src/Cuenta.php b/api/src/Cuenta.php index 4caa29b..3709a84 100644 --- a/api/src/Cuenta.php +++ b/api/src/Cuenta.php @@ -56,6 +56,7 @@ class Cuenta extends Model { public function transacciones($limit = null, $start = 0) { if ($this->transacciones === null) { $transacciones = Model::factory(Transaccion::class) + ->select('transacciones.*') ->join('cuentas', 'cuentas.id = transacciones.debito_id OR cuentas.id = transacciones.credito_id') ->whereEqual('cuentas.id', $this->id) ->orderByAsc('transacciones.fecha'); diff --git a/ui/public/assets/scripts/cuentas.show.js b/ui/public/assets/scripts/cuentas.show.js index 525327e..e913f36 100644 --- a/ui/public/assets/scripts/cuentas.show.js +++ b/ui/public/assets/scripts/cuentas.show.js @@ -231,8 +231,10 @@ const transacciones = { edit: function() { const id = $("[name='id']").val() const fecha = $("[name='fecha']").val() - const valor = $("[name='valor']").val() const cuenta = $("[name='cuenta']").val() + const glosa = $("[name='glosa']").val() + const detalle = $("[name='detalle']").val() + const valor = $("[name='valor']").val() const data = JSON.stringify({ debito_id: (valor < 0) ? this.cuenta_id : cuenta, credito_id: (valor < 0) ? cuenta : this.cuenta_id, diff --git a/ui/public/assets/scripts/home.js b/ui/public/assets/scripts/home.js index 6f23a51..afaa6e2 100644 --- a/ui/public/assets/scripts/home.js +++ b/ui/public/assets/scripts/home.js @@ -245,6 +245,29 @@ const cuentas = { table.append(parent) segment.append(table) return parent + }, + resultado: (segment) => { + segment.append( + $('
').attr('class', 'ui collapsing table').append( + $('').append( + $('').html('Ganancias') + ).append( + $('').attr('data-tipo', 'ganancias') + ) + ).append( + $('').append( + $('').html('Perdidas') + ).append( + $('').attr('data-tipo', 'perdidas') + ) + ).append( + $('').append( + $('').html('Resultado') + ).append( + $('').attr('data-tipo', 'resultado') + ) + ) + ) } } }, @@ -285,6 +308,8 @@ const cuentas = { this.balance = data }).then(() => { this.draw().balance() + }).then(() => { + this.draw().resultado() }) } } @@ -320,6 +345,17 @@ const cuentas = { ) }) foot.append(tr) + }, + resultado: () => { + const div = $('#resultado') + if (div.find("[data-tipo='resultado']").length === 0) { + div.html('') + this.build().resultado(div) + } + const format = Intl.NumberFormat('es-CL', {style: 'currency', currency: 'CLP'}) + div.find("[data-tipo='ganancias']").html(format.format(this.balance['ganancias'])) + div.find("[data-tipo='perdidas']").html(format.format(this.balance['perdidas'])) + div.find("[data-tipo='resultado']").html(format.format(this.balance['ganancias'] - this.balance['perdidas'])) } } }, diff --git a/ui/resources/views/home.blade.php b/ui/resources/views/home.blade.php index 9690e6a..dcfcde8 100644 --- a/ui/resources/views/home.blade.php +++ b/ui/resources/views/home.blade.php @@ -5,6 +5,7 @@ Contabilidad
+
@endsection @push('scripts')