|
@@ -59,6 +59,82 @@ def create_basic_settings_group(apps, schema_editor):
|
|
|
)
|
|
|
})
|
|
|
|
|
|
+ migrate_settings_group(
|
|
|
+ apps,
|
|
|
+ {
|
|
|
+ 'key': 'captcha',
|
|
|
+ 'name': _("CAPTCHA"),
|
|
|
+ 'description': _("Those settings allow you to combat automatic "
|
|
|
+ "registrations and spam messages on your forum."),
|
|
|
+ 'settings': (
|
|
|
+ {
|
|
|
+ 'setting': 'captcha_on_registration',
|
|
|
+ 'name': _("CAPTCHA on registration"),
|
|
|
+ 'legend': _("CAPTCHA types"),
|
|
|
+ 'value': 'no',
|
|
|
+ 'form_field': 'select',
|
|
|
+ 'field_extra': {
|
|
|
+ 'choices': (
|
|
|
+ ('no', _("No protection")),
|
|
|
+ ('recaptcha', _("reCaptcha")),
|
|
|
+ ('qa', _("Question and answer")),
|
|
|
+ ),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'setting': 'recaptcha_public_api_key',
|
|
|
+ 'name': _("Public API key"),
|
|
|
+ 'legend': _("reCAPTCHA"),
|
|
|
+ 'value': '',
|
|
|
+ 'field_extra': {
|
|
|
+ 'required': False,
|
|
|
+ 'max_length': 100,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'setting': 'recaptcha_private_api_key',
|
|
|
+ 'name': _("Private API key"),
|
|
|
+ 'value': '',
|
|
|
+ 'field_extra': {
|
|
|
+ 'required': False,
|
|
|
+ 'max_length': 100,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'setting': 'qa_question',
|
|
|
+ 'name': _("Test question"),
|
|
|
+ 'legend': _("Question and answer"),
|
|
|
+ 'value': '',
|
|
|
+ 'field_extra': {
|
|
|
+ 'required': False,
|
|
|
+ 'max_length': 250,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'setting': 'qa_help_text',
|
|
|
+ 'name': _("Question help text"),
|
|
|
+ 'value': '',
|
|
|
+ 'field_extra': {
|
|
|
+ 'required': False,
|
|
|
+ 'max_length': 250,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'setting': 'qa_answers',
|
|
|
+ 'name': _("Valid answers"),
|
|
|
+ 'description': _("Enter each answer in new line. "
|
|
|
+ "Answers are case-insensitive."),
|
|
|
+ 'value': '',
|
|
|
+ 'form_field': 'textarea',
|
|
|
+ 'field_extra': {
|
|
|
+ 'rows': 4,
|
|
|
+ 'required': False,
|
|
|
+ 'max_length': 250,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ )
|
|
|
+ })
|
|
|
+
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|