from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Fieldset from django import forms from django.forms import ModelForm from djconfig.forms import ConfigForm from bots.models import TelegramBot class BotForm(ModelForm): prefix = 'bot' def __init__(self, *args, module, **kwargs): super().__init__(*args, **kwargs) if not hasattr(module, 'rpc_dispatcher'): self.fields.pop('rpc_name') if not hasattr(module, 'periodic_task'): self.fields.pop('periodic_interval') self.fields.pop('periodic_last_run') class Meta: model = TelegramBot exclude = 'owner', 'config_type', 'config_id', class BotsAppConfigForm(ConfigForm): slug = 'bots' title = 'Bots' tmp_uploads_chat_id = forms.CharField(required=True) helper = FormHelper() helper.form_class = 'form-horizontal' helper.label_class = 'col-sm-2' helper.field_class = 'col-sm-10' helper.form_tag = False helper.layout = Layout( Fieldset('Global', 'tmp_uploads_chat_id'), )