summaryrefslogtreecommitdiff
path: root/postgresqleu/scheduler/forms.py
blob: 68176aab4640974e1f7c519990a9871a2cce3c5d (plain)
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
from postgresqleu.util.backendforms import BackendForm
from .models import ScheduledJob


class ScheduledJobForm(BackendForm):
    class Meta:
        model = ScheduledJob
        fields = ('app', 'command', 'description', 'enabled', 'notifyonsuccess',
                  'scheduled_times', 'override_times', 'scheduled_interval', 'override_interval',)

    readonly_fields = ['app', 'command', 'description', 'scheduled_times', 'scheduled_interval', ]

    fieldsets = [
        {
            'id': 'general',
            'legend': 'General settings',
            'fields': ['app', 'command', 'description', 'enabled', 'notifyonsuccess', ],
        },
        {
            'id': 'schedule',
            'legend': 'Schedule',
            'fields': ['scheduled_times', 'override_times', 'scheduled_interval', 'override_interval', ],
        }
    ]

    def clean_override_times(self):
        val = self.cleaned_data.get('override_times')
        if val == self.instance.scheduled_times:
            val = None
        return val

    def clean_override_interval(self):
        val = self.cleaned_data.get('override_interval')
        if val == self.instance.scheduled_interval:
            val = None
        return val