Update day 16
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
af00070aeb
commit
6d977ce83a
@ -773,6 +773,35 @@ Así nos desviará a la página de logueo sin no estamos registrados.
|
|||||||
|
|
||||||
## 16.16. - Información específica de usuario
|
## 16.16. - Información específica de usuario
|
||||||
|
|
||||||
|
Cada usuario debe ver tan solo sus tareas, para eso vamos a añadir un nuevo usuario en el panel de administración de django. Así que en views.py vamos añadir el método GetContentData y sobreescribirlo en la calse de ListaPendientes:
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
Se puede ver dos filtros al contexto, el primero es para que solo se vea las tareas del usuario registrado y el segundo es para que solo se vean las tareas que no estén completas.
|
||||||
|
|
||||||
|
Ahora, con el nuevo usuario creado no veremos las tareas del anterior usuario:
|
||||||
|
|
||||||
|
![](../img/dia16_35.png)
|
||||||
|
|
||||||
|
Ahora, si un usuario crea una tarea queremos que se le asigne a si mismo, así que vamos a views.py y en la clase de CrearTarea redefinimos la función de form_valid:
|
||||||
|
```python
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.instance.usuario = self.request.user
|
||||||
|
return super(CrearTarea, self).form_valid(form)
|
||||||
|
```
|
||||||
|
|
||||||
|
Y en la misma clase, donde tenemos que aparezcan todos los campos con __all__ tenemos que dar la lista para que no de la opción de escoger el usuario. También lo tendremos que hacer en EditarTarea:
|
||||||
|
```python
|
||||||
|
fields = ['titulo', 'descripcion', 'completo']
|
||||||
|
```
|
||||||
|
|
||||||
|
![](../img/dia16_36.png)
|
||||||
|
|
||||||
## 16.17. - Registrar nuevo usuario
|
## 16.17. - Registrar nuevo usuario
|
||||||
|
|
||||||
## 16.18. - Barra de búsquedas
|
## 16.18. - Barra de búsquedas
|
||||||
|
@ -23,6 +23,13 @@ class ListaPendientes(LoginRequiredMixin, ListView):
|
|||||||
model = Tarea
|
model = Tarea
|
||||||
context_object_name = 'tareas'
|
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):
|
class DetalleTarea(LoginRequiredMixin, DetailView):
|
||||||
model = Tarea
|
model = Tarea
|
||||||
@ -32,13 +39,18 @@ class DetalleTarea(LoginRequiredMixin, DetailView):
|
|||||||
|
|
||||||
class CrearTarea(LoginRequiredMixin, CreateView):
|
class CrearTarea(LoginRequiredMixin, CreateView):
|
||||||
model = Tarea
|
model = Tarea
|
||||||
fields = '__all__'
|
fields = ['titulo', 'descripcion', 'completo']
|
||||||
success_url = reverse_lazy('tareas')
|
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):
|
class EditarTarea(LoginRequiredMixin, UpdateView):
|
||||||
model = Tarea
|
model = Tarea
|
||||||
fields = '__all__'
|
fields = ['titulo', 'descripcion', 'completo']
|
||||||
success_url = reverse_lazy('tareas')
|
success_url = reverse_lazy('tareas')
|
||||||
|
|
||||||
|
|
||||||
|
BIN
python-total/img/dia16_35.png
Normal file
BIN
python-total/img/dia16_35.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
BIN
python-total/img/dia16_36.png
Normal file
BIN
python-total/img/dia16_36.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Loading…
Reference in New Issue
Block a user