81 lines
1.8 KiB
Python
81 lines
1.8 KiB
Python
from django import template
|
|
from manager.models import Organization, Device, Wifi, Network
|
|
from django.contrib.auth.models import User
|
|
|
|
register = template.Library()
|
|
|
|
|
|
def abcSort(inlist):
|
|
return sorted(inlist, key=lambda x: str(x))
|
|
|
|
|
|
@register.simple_tag
|
|
def allOrgas():
|
|
return abcSort(Organization.objects.all())
|
|
|
|
|
|
@register.simple_tag
|
|
def allNets():
|
|
return abcSort(Network.objects.all())
|
|
|
|
|
|
def orgaObjects(cls, orga):
|
|
return abcSort(set(cls.objects.filter(organization__in=orga)))
|
|
|
|
|
|
def directUserOrgas(user):
|
|
return abcSort(user.organization_set.all())
|
|
|
|
|
|
@register.simple_tag
|
|
def directOrgaString(user):
|
|
return ", ".join(str(orga) for orga in directUserOrgas(user))
|
|
|
|
|
|
@register.simple_tag
|
|
def directOrgaAjax(user):
|
|
return "[" + ",".join(str(orga.id) for orga in directUserOrgas(user)) + "]"
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def userOrgas(context):
|
|
return directUserOrgas(context.request.user)
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def orgaString(context):
|
|
return directOrgaString(context.request.user)
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def userDevices(context):
|
|
return orgaObjects(Device, userOrgas(context))
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def userWifis(context):
|
|
return orgaObjects(Wifi, userOrgas(context))
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def userUsers(context):
|
|
return orgaObjects(User, userOrgas(context))
|
|
|
|
|
|
@register.simple_tag(takes_context=True)
|
|
def userNets(context):
|
|
return orgaObjects(Network, userOrgas(context))
|
|
|
|
|
|
def netOrgas(network):
|
|
return network.organization.all()
|
|
|
|
|
|
@register.simple_tag
|
|
def netOrgaString(network):
|
|
return ", ".join(str(orga) for orga in netOrgas(network))
|
|
|
|
|
|
@register.simple_tag
|
|
def netOrgaAjax(network):
|
|
return "[" + ",".join(str(orga.id) for orga in netOrgas(network)) + "]"
|