File: forms.py

package info (click to toggle)
freedombox 26.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 83,092 kB
  • sloc: python: 48,542; javascript: 1,730; xml: 481; makefile: 290; sh: 137; php: 32
file content (50 lines) | stat: -rw-r--r-- 2,107 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Forms for snapshot module.
"""

from django import forms
from django.utils.translation import gettext_lazy as _


class SnapshotForm(forms.Form):
    free_space = forms.ChoiceField(
        label=_('Free Disk Space to Maintain'),
        help_text=_('Maintain this percentage of free space on the disk. '
                    'If free space falls below this value, older snapshots '
                    'are removed until this much free space is regained. The '
                    'default value is 30%.'),
        choices=[(i / 100, '{}%'.format(i)) for i in range(10, 80, 10)])

    enable_timeline_snapshots = forms.ChoiceField(
        label=_('Timeline Snapshots'),
        help_text=_('Enable or disable timeline snapshots '
                    '(hourly, daily, monthly and yearly).'),
        choices=[('yes', _('Enabled')), ('no', _('Disabled'))])

    enable_software_snapshots = forms.ChoiceField(
        label=_('Software Installation Snapshots'),
        help_text=_('Enable or disable snapshots before and after each '
                    'software installation and update.'),
        choices=[('yes', _('Enabled')), ('no', _('Disabled'))])

    hourly_limit = forms.IntegerField(
        label=_('Hourly Snapshots Limit'), min_value=0,
        help_text=_('Keep a maximum of this many hourly snapshots.'))

    daily_limit = forms.IntegerField(
        label=_('Daily Snapshots Limit'), min_value=0,
        help_text=_('Keep a maximum of this many daily snapshots.'))

    weekly_limit = forms.IntegerField(
        label=_('Weekly Snapshots Limit'), min_value=0,
        help_text=_('Keep a maximum of this many weekly snapshots.'))

    monthly_limit = forms.IntegerField(
        label=_('Monthly Snapshots Limit'), min_value=0,
        help_text=_('Keep a maximum of this many monthly snapshots.'))

    yearly_limit = forms.IntegerField(
        label=_('Yearly Snapshots Limit'), min_value=0,
        help_text=_('Keep a maximum of this many yearly snapshots. '
                    'The default value is 0 (keep no yearly snapshot).'))