telegram_bots/feeds/forms.py
2019-03-09 22:11:42 +03:00

55 lines
1.7 KiB
Python

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 feeds.models import Feed
class FeedForm(ModelForm):
prefix = 'feed'
class Meta:
model = Feed
exclude = 'owner', 'lock', 'config_type', 'config_id', 'last_check', 'last_id',
def get_config_form(mdl):
class ConfigForm(ModelForm):
prefix = 'config'
class Meta:
model = mdl
exclude = ()
return ConfigForm
class FeedsAppConfigForm(ConfigForm):
slug = 'feeds'
title = 'Feeds'
feed_bot_token = forms.CharField(required=True)
russian_proxy_string = forms.CharField()
vk_username = forms.CharField(required=True)
vk_password = forms.CharField(required=True)
vk_auth = forms.CharField(required=False, widget=forms.Textarea())
anticaptcha_token = forms.CharField()
twitter_consumer_api_key = forms.CharField(required=False)
twitter_consumer_api_secret = forms.CharField(required=False)
twitter_access_token = forms.CharField(required=False)
twitter_access_token_secret = forms.CharField(required=False)
helper = FormHelper()
helper.form_class = 'form-horizontal'
helper.label_class = 'col-sm-2'
helper.field_class = 'col-sm-10'
helper.layout = Layout(
Fieldset('Global', 'feed_bot_token'),
Fieldset('VK.com', 'russian_proxy_string', 'vk_username', 'vk_password', 'vk_auth', 'anticaptcha_token'),
Fieldset('Twitter', 'twitter_consumer_api_key', 'twitter_consumer_api_secret', 'twitter_access_token',
'twitter_access_token_secret'),
)