# SPDX-License-Identifier: AGPL-3.0-or-later """ Forms for configuring unattended-upgrades. """ from django import forms from django.utils.translation import gettext_lazy as _ from plinth.modules import upgrades class ConfigureForm(forms.Form): """Configuration form to enable/disable automatic upgrades.""" auto_upgrades_enabled = forms.BooleanField( label=_('Enable auto-update'), required=False, help_text=_( 'When enabled, FreedomBox automatically updates once a day.')) dist_upgrade_enabled = forms.BooleanField( label=_('Enable auto-update to next stable release'), required=False, 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.""" backports_enabled = forms.BooleanField( label=_('Activate frequent feature updates (recommended)'), required=False, initial=True) class UpdateFirstbootForm(forms.Form): """Form to run or skip initial update during first boot wizard.""" update_now = forms.BooleanField(label=_('Update now (recommended)'), required=False, initial=True)