~templario17/djwebsite/trunk

« back to all changes in this revision

Viewing changes to applications/persona/views.py

  • Committer: daniel
  • Date: 2021-04-27 21:30:33 UTC
  • Revision ID: danielpa61@gmail.com-20210427213033-y9d45ohkvba46y09
init projecto

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from django.shortcuts import render
 
2
from django.urls import reverse_lazy
 
3
from django.views.generic import (TemplateView, ListView, DetailView, 
 
4
        CreateView, UpdateView, DeleteView)
 
5
 
 
6
from .models import Empleado
 
7
from .forms import EmpleadoForm
 
8
# Create your views here.
 
9
 
 
10
class InicioView(TemplateView):
 
11
    template_name = 'persona/inicio.html'
 
12
 
 
13
 
 
14
#lista todos los empleados de la empresa -- DONE
 
15
class ListaAllEmpleados(ListView):
 
16
    template_name = 'persona/listar_persona.html'
 
17
    model = Empleado
 
18
 
 
19
 
 
20
#listar los empleado que pertenecen a un area de la empresa 
 
21
class ListarByArea(ListView):
 
22
    template_name = 'persona/listar_area.html'
 
23
    context_object_name = 'empleados'
 
24
    
 
25
    def get_queryset(self):
 
26
        area_cod = self.kwargs['cod']
 
27
        lista = Empleado.objects.filter(
 
28
            departamento__cod=area_cod
 
29
            )
 
30
        return lista
 
31
 
 
32
 
 
33
#lista de empleados por palabra clave
 
34
#lista de empleado por trabajo
 
35
class listarEmpleadoKword(ListView):
 
36
    template_name = 'persona/bucar_persona.html'
 
37
    context_object_name = "personas"
 
38
    
 
39
    def get_queryset(self):
 
40
        palabra_clave = self.request.GET.get("kword", '')
 
41
        lista = Empleado.objects.filter(
 
42
                first_name=palabra_clave
 
43
                )
 
44
        return lista
 
45
 
 
46
 
 
47
#lista de habilidades de un empleado
 
48
class ListaHabilidad(ListView):
 
49
    template_name = 'persona/lista_habilidades.html'
 
50
    context_object_name = 'skills'
 
51
 
 
52
    def get_queryset(self):
 
53
        id_obj = self.request.GET.get("id", '')
 
54
        data = Empleado.objects.get(id=id_obj)
 
55
        lista = data.habilidades.all()
 
56
        return lista
 
57
 
 
58
 
 
59
#ver detaller de un empleado por id en la url
 
60
class EmpleadoDetalle(DetailView):
 
61
    model = Empleado
 
62
    template_name = 'persona/empleado_ver.html'
 
63
    
 
64
    def get_context_data(self, **kwargs):
 
65
        context = super(EmpleadoDetalle, self).get_context_data(**kwargs)
 
66
        context['titulo'] = 'Mejor Empleado'
 
67
        
 
68
        return context
 
69
 
 
70
 
 
71
class EmpleadoCreateView(CreateView):
 
72
    model = Empleado
 
73
    template_name = 'persona/agregar_empleado.html'
 
74
    form_class = EmpleadoForm
 
75
    success_url = reverse_lazy('persona_app:lista') #url que redirige al usuario
 
76
 
 
77
    def form_valid(self, form):
 
78
        empleado = form.save(commit=False)
 
79
        empleado.full_name = '{} {}'.format(empleado.first_name,
 
80
                        empleado.last_name)
 
81
        empleado.save()
 
82
        return super(EmpleadoCreateView, self).form_valid(form)
 
83
 
 
84
 
 
85
class EmpleadoUpdate(UpdateView):
 
86
    model = Empleado
 
87
    template_name = 'persona/actualizar_empleado.html'
 
88
    fields = ['first_name', 'last_name','job','departamento', 'habilidades']
 
89
    success_url = reverse_lazy('persona_app:lista') #url que redirige al usuario
 
90
 
 
91
 
 
92
class EmpleadoDelete(DeleteView):
 
93
    model = Empleado
 
94
    template_name = "persona/borra_empleado.html"
 
95
    success_url = reverse_lazy('persona_app:lista')