44 lines
1.6 KiB
Python
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)
|