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