name fix
This commit is contained in:
parent
09d0cab206
commit
9db8859b6b
|
@ -7,19 +7,16 @@ from .log import LogListView
|
||||||
from ..models.log import LogArchiver
|
from ..models.log import LogArchiver
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['BaseAdminView', 'StatisticsView']
|
__all__ = ['AdminMixin', 'StatisticsView']
|
||||||
|
|
||||||
|
|
||||||
class BaseAdminView(LoginRequiredMixin, UserPassesTestMixin):
|
class AdminMixin(LoginRequiredMixin, UserPassesTestMixin):
|
||||||
title = ''
|
title = ''
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def station(self):
|
def station(self):
|
||||||
return self.request.station
|
return self.request.station
|
||||||
|
|
||||||
def test_func(self):
|
|
||||||
return self.request.user.is_staff
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
kwargs.update(admin.site.each_context(self.request))
|
kwargs.update(admin.site.each_context(self.request))
|
||||||
kwargs.setdefault('title', self.title)
|
kwargs.setdefault('title', self.title)
|
||||||
|
@ -27,15 +24,13 @@ class BaseAdminView(LoginRequiredMixin, UserPassesTestMixin):
|
||||||
return super().get_context_data(**kwargs)
|
return super().get_context_data(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
class StatisticsView(BaseAdminView, LogListView, ListView):
|
class StatisticsView(AdminMixin, LogListView, ListView):
|
||||||
template_name = 'admin/aircox/statistics.html'
|
template_name = 'admin/aircox/statistics.html'
|
||||||
redirect_date_url = 'admin:tools-stats'
|
redirect_date_url = 'admin:tools-stats'
|
||||||
title = _('Statistics')
|
title = _('Statistics')
|
||||||
date = None
|
date = None
|
||||||
|
|
||||||
def get_object_list(self, logs, *_):
|
def get_object_list(self, logs, full=False):
|
||||||
if not logs.exists():
|
if not logs.exists():
|
||||||
logs = LogArchiver().load(self.station, self.date) if self.date else []
|
logs = LogArchiver().load(self.station, self.date) if self.date else []
|
||||||
return super().get_object_list(logs, True)
|
return super().get_object_list(logs, True)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import tzlocal
|
||||||
|
|
||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.utils import timezone as tz
|
from django.utils import timezone as tz
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from aircox import settings
|
from aircox import settings
|
||||||
from aircox.models import Station, Sound, Port
|
from aircox.models import Station, Sound, Port
|
||||||
|
@ -63,15 +64,15 @@ class BaseMetadata:
|
||||||
if data:
|
if data:
|
||||||
self.validate(data)
|
self.validate(data)
|
||||||
|
|
||||||
def validate_status(self, status):
|
def validate_status(self, status, i18n=False):
|
||||||
on_air = self.controller.source
|
on_air = self.controller.source
|
||||||
if on_air and status == 'playing' and (on_air == self or
|
if on_air and status == 'playing' and (on_air == self or
|
||||||
on_air.rid == self.rid):
|
on_air.rid == self.rid):
|
||||||
return 'playing'
|
return _('playing') if i18n else 'playing'
|
||||||
elif status == 'playing':
|
elif status == 'playing':
|
||||||
return 'paused'
|
return _('paused') if i18n else 'paused'
|
||||||
else:
|
else:
|
||||||
return 'stopped'
|
return _('stopped') if i18n else 'stopped'
|
||||||
|
|
||||||
def validate_air_time(self, air_time):
|
def validate_air_time(self, air_time):
|
||||||
if air_time:
|
if air_time:
|
||||||
|
|
|
@ -2,10 +2,10 @@ from django.contrib import admin
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from . import viewsets
|
from . import viewsets
|
||||||
from .views import StreamerAdminView
|
from .views import StreamerAdminMixin
|
||||||
|
|
||||||
|
|
||||||
admin.site.route_view('tools/streamer', StreamerAdminView.as_view(),
|
admin.site.route_view('tools/streamer', StreamerAdminMixin.as_view(),
|
||||||
'tools-streamer', label=_('Streamer Monitor'))
|
'tools-streamer', label=_('Streamer Monitor'))
|
||||||
|
|
||||||
streamer_prefix = 'streamer/(?P<station_pk>[0-9]+)/'
|
streamer_prefix = 'streamer/(?P<station_pk>[0-9]+)/'
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
from aircox.views.admin import BaseAdminView
|
from aircox.views.admin import AdminMixin
|
||||||
|
|
||||||
|
|
||||||
class StreamerAdminView(BaseAdminView, TemplateView):
|
class StreamerAdminMixin(AdminMixin, TemplateView):
|
||||||
template_name = 'aircox_streamer/streamer.html'
|
template_name = 'aircox_streamer/streamer.html'
|
||||||
title = _('Streamer Monitor')
|
title = _('Streamer Monitor')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user