from django.shortcuts import render from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User from areas.models import Areas from users.priomodel import Prio from tasks.models import Tasks import webcolors @login_required def mainorga(request): agencyuser = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__visible=True).order_by('-id')) nonvisibleuser = list(User.objects.filter(profile__agency__pk=request.user.profile.agency.pk).filter(profile__visible=False).order_by('-id')) invisible_users = 0; # Check, if parented users are invisible. Remove them and give user an info! for ele in nonvisibleuser: for vis in agencyuser: try: if vis.profile.parent.profile.pk == ele.pk: agencyuser.remove(vis) invisible_users += 1 except: pass context = { 'active_link' : 'orga', 'agencyuser' : agencyuser, 'invisible_users' : invisible_users } return render(request, 'orga/orga_main.html', context) @login_required def singleorga(request, pk): user = User.objects.get(pk=pk, profile__agency=request.user.profile.agency) ''' VON GROß NACH KLEIN - SINNLOS prios = Prio.objects.filter(user__pk=pk).order_by('-prio')[::-1] ''' ''' Wenn eingelogger Nutzer nicht die gleiche Agency-ID hat, gehts zum Dashboard ''' if(user.profile.agency.pk==request.user.profile.agency.pk): prios = Prio.objects.filter(user__pk=pk).order_by('-prio') areas = list(Areas.objects.filter(agency__pk=request.user.profile.agency.pk).order_by('areaorder')) i = 0 for area in areas: areas[i].hex = areas[i].color areas[i].color = list(webcolors.hex_to_rgb(areas[i].color)) i += 1 user_first_name = user.first_name user_last_name = user.last_name user_id = user.pk context = { 'active_link' : 'orga', 'areas' : areas, 'user_first_name' : user_first_name, 'user_last_name' : user_last_name, 'user_id' : user_id, 'prios' : prios, 'mail' : user.email, 'userfunc' : "CHANGE", 'imageurl' : user.profile.get_photo_url, 'compfunc' : user.profile.compfunc, 'phoneland' : user.profile.phoneland, 'phonemobile' : user.profile.phonemobile } return render(request, 'orga/orga_single.html', context) else: return redirect('users-dashboard')