from django.shortcuts import render, redirect, get_object_or_404
from .forms import Formularioinvequipo
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.http.response import HttpResponse
from .models import invequipo
from datetime import date



# Create your views here.

def inv_equipo(request):
	datos = invequipo.objects.all()
	return render(request, 'invequipo.html', {"datos": datos})

def ConsultaEquipo(request):
    if request.method == "POST":
        equipo = request.POST.get("n_control2")
        datos = invequipo.objects.filter(id=equipo)
        return render(request, 'invequipo.html', {"datos": datos})

@login_required(login_url='/acceder')
def crear_invequipo(request):
    if request.method == "POST":
        form = Formularioinvequipo(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.save()
            titulo = form.cleaned_data.get("n_control")
            messages.success(request, f"El equipo {titulo} se ha creado correctamente")
            return redirect("inv_equipo")
        else:
            for field, items in form.errors.items():
                for item in items:
                    messages.error(request, '{}: {}'.format(field, item))

    form = Formularioinvequipo()
    return render(request, "crear_invequipo.html", {"form": form})


@login_required(login_url='/acceder')
def Actualizarinvequipo(request, equipo_id):
        instance= get_object_or_404(invequipo, pk=equipo_id)
        form = Formularioinvequipo(request.POST or None, instance=instance)
        context= {'form': form}
        if form.is_valid():
                obj= form.save(commit= False)
                obj.save()
                refex = form.cleaned_data.get("equipo_id")
                dateact = date.today()
                update = invequipo.objects.values('fecha_actualizacion').filter(id=refex).update(fecha_actualizacion=dateact)
                messages.success(request, "El equipo fue actualizado")
                return redirect("inv_equipo")

        else:
                context= {'form': form, 'error': 'Error al actualizar'}
                return render(request,'actualizar_equipo.html' , context)