From 9827b8d33f781579888ecfdaeea4b5ce256535c2 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Fri, 30 Oct 2020 20:45:22 -0700 Subject: [PATCH] upgrades: Disable the option when not able to dist upgrade Tests: - When running on unstable, the form is disabled. - When can_dist_upgrade() returns True, the option is selectable again. Signed-off-by: Sunil Mohan Adapa --- plinth/modules/upgrades/forms.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plinth/modules/upgrades/forms.py b/plinth/modules/upgrades/forms.py index 3d3fe909a..975f859b1 100644 --- a/plinth/modules/upgrades/forms.py +++ b/plinth/modules/upgrades/forms.py @@ -6,6 +6,8 @@ Forms for configuring unattended-upgrades. from django import forms from django.utils.translation import ugettext_lazy as _ +from plinth.modules import upgrades + class ConfigureForm(forms.Form): """Configuration form to enable/disable automatic upgrades.""" @@ -15,9 +17,16 @@ class ConfigureForm(forms.Form): dist_upgrade_enabled = forms.BooleanField( label=_('Enable auto-update to next stable release'), required=False, - help_text=_('When enabled, FreedomBox will upgrade to the next stable ' + help_text=_('When enabled, FreedomBox will update to the next stable ' 'distribution release when it is available.')) + def __init__(self, *args, **kwargs): + """Disable options as necessary.""" + super().__init__(*args, **kwargs) + + self.fields['dist_upgrade_enabled'].disabled = \ + not upgrades.can_enable_dist_upgrade() + class BackportsFirstbootForm(forms.Form): """Form to configure backports during first boot wizard."""