diff --git a/plinth/modules/power/__init__.py b/plinth/modules/power/__init__.py index 8137456ee..60ae0dcdc 100644 --- a/plinth/modules/power/__init__.py +++ b/plinth/modules/power/__init__.py @@ -21,6 +21,8 @@ class PowerApp(app_module.App): _version = 1 + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() diff --git a/plinth/modules/power/urls.py b/plinth/modules/power/urls.py index fbd800877..7604f5785 100644 --- a/plinth/modules/power/urls.py +++ b/plinth/modules/power/urls.py @@ -8,7 +8,7 @@ from django.urls import re_path from . import views urlpatterns = [ - re_path(r'^sys/power/$', views.index, name='index'), + re_path(r'^sys/power/$', views.PowerAppView.as_view(), name='index'), re_path(r'^sys/power/restart$', views.restart, name='restart'), re_path(r'^sys/power/shutdown$', views.shutdown, name='shutdown'), ] diff --git a/plinth/modules/power/views.py b/plinth/modules/power/views.py index 9b59380a1..d88d10eea 100644 --- a/plinth/modules/power/views.py +++ b/plinth/modules/power/views.py @@ -11,17 +11,20 @@ from django.urls import reverse from plinth import actions from plinth import app as app_module from plinth import package +from plinth.views import AppView -def index(request): - """Serve power controls page.""" - app = app_module.App.get('power') - return TemplateResponse( - request, 'power.html', { - 'title': app.info.name, - 'app_info': app.info, - 'pkg_manager_is_busy': package.is_package_manager_busy() - }) +class PowerAppView(AppView): + """Show power app main page.""" + + app_id = 'power' + template_name = 'power.html' + + def get_context_data(self, *args, **kwargs): + """Add additional context data for template.""" + context = super().get_context_data(*args, **kwargs) + context['pkg_manager_is_busy'] = package.is_package_manager_busy() + return context def restart(request):