digitaleagenturnc/tasks/views.py

44 lines
1.6 KiB
Python

from django.shortcuts import render
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import CreateView, ListView, UpdateView, DetailView, DeleteView, View
from .models import Tasks
from .forms import TasksAddTaskForm
from django.contrib import messages
# Create your views here.
class TasksManagement(LoginRequiredMixin, ListView):
model = Tasks
# Adding active_link
# Loading only user same agency
# Change context and return for template-data
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# # Get all Users of the Same Agency as logged user
tasks_of_agency = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk)
context.update({'active_link' : 'tasksmanagement', 'tasks_of_agency':tasks_of_agency})
return context
class TasksAddTask(LoginRequiredMixin, CreateView):
model = Tasks
success_url = '/tasks'
form_class = TasksAddTaskForm
#def get(self,request,*args, **kwargs):
# # User ist der hier Aufgerufene, bzw. das Profil!
# return render (request, self.template_name, {'form':self.form_class(self.request.user), 'active_link': 'areasmanagement'})
# Adding active_link
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'tasksmanagement'})
return context
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Aufgabe angelegt!')
# SAVE OBJECTS TO SIGNALE!
form.instance.agency = self.request.user.profile.agency
form.instance.created_area_by = self.request.user
return super().form_valid(form)