70 lines
2.9 KiB
Python
70 lines
2.9 KiB
Python
from django.template import Library
|
|
from django.urls import reverse
|
|
from minecraft_manager.models import Alert
|
|
from django.conf import settings
|
|
|
|
register = Library()
|
|
|
|
|
|
@register.simple_tag
|
|
def get_sidebar(current_app, request):
|
|
|
|
# Get unseen Alerts
|
|
unseen_alerts = Alert.objects.filter(user=request.user, seen=False)
|
|
unseen_html = ""
|
|
if len(unseen_alerts) > 0:
|
|
unseen_html = " <span class='badge badge-light'>" + str(len(unseen_alerts)) + "</span>"
|
|
|
|
|
|
ret = ""
|
|
if current_app == 'overview':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('overview') + "\">Overview</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('overview') + "\">Overview</a></li>"
|
|
if current_app == 'ban':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('ban') + "\">Bans</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('ban') + "\">Bans</a></li>"
|
|
if current_app == 'alert':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('alert') + "\">Alerts{0}</a></li>".format(unseen_html)
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('alert') + "\">Alerts{0}</a></li>".format(unseen_html)
|
|
|
|
# Models
|
|
if current_app == 'application':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('application') + "\">Applications</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('application') + "\">Applications</a></li>"
|
|
if current_app == 'player':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('player') + "\">Players</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('player') + "\">Players</a></li>"
|
|
if current_app == 'ticket':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('ticket') + "\">Tickets</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('ticket') + "\">Tickets</a></li>"
|
|
if current_app == 'warning':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse('warning') + "\">Warnings</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse('warning') + "\">Warnings</a></li>"
|
|
|
|
# Split up MCM and "other"
|
|
ret += "<hr/>"
|
|
|
|
if current_app == 'report':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse("report") + "\">Report</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse("report") + "\">Report</a></li>"
|
|
show_chat = True if getattr(settings, 'GLOBAL_LOG', None) is not None else False
|
|
if show_chat and request.user.has_perm('auth.chat'):
|
|
if current_app == 'chat':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse("chat") + "\">Chat</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse("chat") + "\">Chat</a></li>"
|
|
if request.user.has_perm('auth.bots'):
|
|
if current_app == 'bots':
|
|
ret += "<li class=\"active\"><a href=\"" + reverse("bots") + "\">Bots</a></li>"
|
|
else:
|
|
ret += "<li><a href=\"" + reverse("bots") + "\">Bots</a></li>"
|
|
return ret
|