from django.shortcuts import render from django.views.generic.list import ListView from django.views.generic.detail import DetailView from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.contrib.auth.views import LoginView from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse_lazy from .models import Tarea # Create your views here. class Logueo(LoginView): template_name = "base/login.html" field = '__all__' redirect_authenticated_user = True def get_success_url(self): return reverse_lazy('tareas') class ListaPendientes(LoginRequiredMixin, ListView): model = Tarea context_object_name = 'tareas' def get_context_data(self, **kwarg): context = super().get_context_data(**kwarg) context['tareas'] = context['tareas'].filter(usuario=self.request.user) context['count'] = context['tareas'].filter(completo=False).count() return context class DetalleTarea(LoginRequiredMixin, DetailView): model = Tarea context_object_name = 'tarea' template_name = 'base/tarea.html' class CrearTarea(LoginRequiredMixin, CreateView): model = Tarea fields = ['titulo', 'descripcion', 'completo'] success_url = reverse_lazy('tareas') def form_valid(self, form): form.instance.usuario = self.request.user return super(CrearTarea, self).form_valid(form) class EditarTarea(LoginRequiredMixin, UpdateView): model = Tarea fields = ['titulo', 'descripcion', 'completo'] success_url = reverse_lazy('tareas') class EliminarTarea(LoginRequiredMixin, DeleteView): model = Tarea context_object_name = 'tarea' success_url = reverse_lazy('tareas')