diff --git a/apps/backups/forms.py b/apps/backups/forms.py index 2b48ad9624..8705815a2c 100644 --- a/apps/backups/forms.py +++ b/apps/backups/forms.py @@ -3,30 +3,19 @@ from __future__ import absolute_import from django import forms from app_registry.models import App +from common.widgets import ScrollableCheckboxSelectMultiple from .models import BackupJob from .api import AppBackup def valid_app_choices(): - return App.live.filter(name__in=[appbackup.name for appbackup in AppBackup.get_all()]) + # Return app that exist in the app registry and that have been registered for backup + return App.live.filter(pk__in=[appbackup.app.pk for appbackup in AppBackup.get_all()]) class BackupJobForm(forms.ModelForm): - #expiration_datetime = SplitTimeDeltaField() - - apps = forms.ModelChoiceField(queryset=valid_app_choices()) + apps = forms.ModelMultipleChoiceField(queryset=valid_app_choices(), widget=ScrollableCheckboxSelectMultiple()) class Meta: model = BackupJob - #exclude = ('checkout_datetime', 'user_content_type', 'user_object_id') - - #widgets = { - # 'document': forms.widgets.HiddenInput(), - #} - - #def clean_document(self): - # document = self.cleaned_data['document'] - # if document.is_checked_out(): - # raise DocumentAlreadyCheckedOut - # return document