from django.db.models import F
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
from django.urls import reverse
from django.views import generic

from .models import Wine, Winery, Millesime

class IndexView(generic.ListView):
    model = Winery
    template_name = 'wine/index.html'

    def get_queryset(self):
        return Winery.objects.order_by('name')


class DetailView(generic.DetailView):
    model = Wine
    template_name = 'wine/detail.html'

def takeoutBottle(request, millesime_id):
    millesime = get_object_or_404(Millesime, pk=millesime_id)
    millesime.available = F('available') - 1
    millesime.save()
    return HttpResponseRedirect(reverse('wine:detail', args=(millesime.wine.id,)))