from django.contrib import messages from django.shortcuts import redirect, render from .services import actualizar_precios, desglose_fifo, posiciones, resumen_fiscal, totales def dashboard(request): pos = posiciones() context = { 'posiciones': pos, 'abiertas': [p for p in pos if p['acciones'] > 0], 'cerradas': [p for p in pos if p['acciones'] == 0], 'totales': totales(pos), } return render(request, 'cartera/dashboard.html', context) def actualizar(request): if request.method == 'POST': correctos, errores = actualizar_precios() if correctos: messages.success(request, f'Precios actualizados: {correctos}') for ticker, motivo in errores: messages.warning(request, f'{ticker}: {motivo}') return redirect('cartera:dashboard') def fifo(request): filas = desglose_fifo() context = { 'filas': filas, 'fiscal': resumen_fiscal(filas), 'total': sum((f['resultado'] or 0 for f in filas), start=0), } return render(request, 'cartera/fifo.html', context)