55 lines
1.7 KiB
Python
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'),
|
|
)
|