mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
Add caching and better error handling Move fleetup templates into fleetup app Move fleetup urls into fleetup app Fix button overflow and url Add manager unit tests Fix python3 compatibility
113 lines
4.3 KiB
Python
113 lines
4.3 KiB
Python
from __future__ import unicode_literals
|
|
import datetime
|
|
from django.shortcuts import render
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.contrib.auth.decorators import permission_required
|
|
from django.template.defaulttags import register
|
|
from django.contrib import messages
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from fleetup.managers import FleetUpManager
|
|
from authentication.decorators import members_and_blues
|
|
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@register.filter
|
|
def get_item(dictionary, key):
|
|
return dictionary.get(key)
|
|
|
|
|
|
@login_required
|
|
@members_and_blues()
|
|
def fleetup_view(request):
|
|
logger.debug("fleetup_view called by user %s" % request.user)
|
|
|
|
operations_list = FleetUpManager.get_fleetup_operations()
|
|
if operations_list is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get operations list, contact your administrator"))
|
|
operations_list = {}
|
|
timers_list = FleetUpManager.get_fleetup_timers()
|
|
if timers_list is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get timers list, contact your administrator"))
|
|
timers_list = {}
|
|
now = datetime.datetime.now().strftime('%H:%M:%S')
|
|
|
|
context = {"timers_list": sorted(timers_list.items()),
|
|
"operations_list": sorted(operations_list.items()),
|
|
"now": now}
|
|
|
|
return render(request, 'fleetup/index.html', context=context)
|
|
|
|
|
|
@login_required
|
|
@permission_required('auth.human_resources')
|
|
def fleetup_characters(request):
|
|
logger.debug("fleetup_characters called by user %s" % request.user)
|
|
|
|
member_list = FleetUpManager.get_fleetup_members()
|
|
if member_list is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get member list, contact your administrator"))
|
|
member_list = {}
|
|
|
|
context = {"member_list": sorted(member_list.items())}
|
|
|
|
return render(request, 'fleetup/characters.html', context=context)
|
|
|
|
|
|
@login_required
|
|
@members_and_blues()
|
|
def fleetup_fittings(request):
|
|
logger.debug("fleetup_fittings called by user %s" % request.user)
|
|
fitting_list = FleetUpManager.get_fleetup_fittings()
|
|
|
|
if fitting_list is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get fitting list, contact your administrator"))
|
|
fitting_list = {}
|
|
|
|
context = {"fitting_list": sorted(fitting_list.items())}
|
|
return render(request, 'fleetup/fittingsview.html', context=context)
|
|
|
|
|
|
@login_required
|
|
@members_and_blues()
|
|
def fleetup_fitting(request, fittingnumber):
|
|
logger.debug("fleetup_fitting called by user %s" % request.user)
|
|
fitting_eft = FleetUpManager.get_fleetup_fitting_eft(fittingnumber)
|
|
fitting_data = FleetUpManager.get_fleetup_fitting(fittingnumber)
|
|
doctrinenumber = FleetUpManager.get_fleetup_doctrineid(fittingnumber)
|
|
doctrines_list = FleetUpManager.get_fleetup_doctrine(doctrinenumber)
|
|
|
|
if fitting_eft is None or fitting_data is None or doctrinenumber is None:
|
|
messages.add_message(request, messages.ERROR, _("There was an error getting some of the data for this fitting. "
|
|
"Contact your administrator"))
|
|
|
|
context = {"fitting_eft": fitting_eft,
|
|
"fitting_data": fitting_data,
|
|
"doctrines_list": doctrines_list}
|
|
return render(request, 'fleetup/fitting.html', context=context)
|
|
|
|
|
|
@login_required
|
|
@members_and_blues()
|
|
def fleetup_doctrines(request):
|
|
logger.debug("fleetup_doctrines called by user %s" % request.user)
|
|
doctrines_list = FleetUpManager.get_fleetup_doctrines()
|
|
if doctrines_list is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get doctrines list, contact your administrator"))
|
|
|
|
context = {"doctrines_list": doctrines_list}
|
|
return render(request, 'fleetup/doctrinesview.html', context=context)
|
|
|
|
|
|
@login_required
|
|
@members_and_blues()
|
|
def fleetup_doctrine(request, doctrinenumber):
|
|
logger.debug("fleetup_doctrine called by user %s" % request.user)
|
|
doctrine = FleetUpManager.get_fleetup_doctrine(doctrinenumber)
|
|
if doctrine is None:
|
|
messages.add_message(request, messages.ERROR, _("Failed to get doctine, contact your administrator"))
|
|
context = {"doctrine": doctrine}
|
|
return render(request, 'fleetup/doctrine.html', context=context)
|