/form_designer/settings.py

https://github.com/quinode/fcpe63 · Python · 83 lines · 57 code · 19 blank · 7 comment · 0 complexity · fc73f286e498c20c25ca2ad526e037f2 MD5 · raw file

  1. import os.path
  2. from django.conf import settings
  3. from django.utils.translation import ugettext_lazy as _
  4. from django.core.files.storage import get_storage_class
  5. STATIC_URL = os.path.join(getattr(settings, 'STATIC_URL', settings.MEDIA_URL), 'form_designer')
  6. FIELD_CLASSES = getattr(settings, 'FORM_DESIGNER_FIELD_CLASSES', (
  7. ('django.forms.CharField', _('Text')),
  8. ('django.forms.EmailField', _('E-mail address')),
  9. ('django.forms.URLField', _('Web address')),
  10. ('django.forms.IntegerField', _('Number')),
  11. ('django.forms.DecimalField', _('Decimal number')),
  12. ('django.forms.BooleanField', _('Yes/No')),
  13. ('django.forms.DateField', _('Date')),
  14. ('django.forms.DateTimeField', _('Date & time')),
  15. ('django.forms.TimeField', _('Time')),
  16. ('django.forms.ChoiceField', _('Choice')),
  17. ('django.forms.MultipleChoiceField', _('Multiple Choice')),
  18. ('django.forms.ModelChoiceField', _('Model Choice')),
  19. ('django.forms.ModelMultipleChoiceField', _('Model Multiple Choice')),
  20. ('django.forms.RegexField', _('Regex')),
  21. ('django.forms.FileField', _('File')),
  22. # ('captcha.fields.CaptchaField', _('Captcha')),
  23. ))
  24. WIDGET_CLASSES = getattr(settings, 'FORM_DESIGNER_WIDGET_CLASSES', (
  25. ('', _('Default')),
  26. ('django.forms.widgets.Textarea', _('Text area')),
  27. ('django.forms.widgets.PasswordInput', _('Password input')),
  28. ('django.forms.widgets.HiddenInput', _('Hidden input')),
  29. ('django.forms.widgets.RadioSelect', _('Radio button')),
  30. ))
  31. FORM_TEMPLATES = getattr(settings, 'FORM_DESIGNER_FORM_TEMPLATES', (
  32. ('', _('Default')),
  33. ('html/formdefinition/forms/as_p.html', _('as paragraphs')),
  34. ('html/formdefinition/forms/as_table.html', _('as table')),
  35. ('html/formdefinition/forms/as_table_h.html', _('as table (horizontal)')),
  36. ('html/formdefinition/forms/as_ul.html', _('as unordered list')),
  37. ('html/formdefinition/forms/custom.html', _('custom implementation')),
  38. ))
  39. # Sequence of two-tuples like (('your_app.models.ModelName', 'My Model'), ...) for limiting the models available to ModelChoiceField and ModelMultipleChoiceField.
  40. # If None, any model can be chosen by entering it as a string
  41. CHOICE_MODEL_CHOICES = getattr(settings, 'FORM_DESIGNER_CHOICE_MODEL_CHOICES', None)
  42. DEFAULT_FORM_TEMPLATE = getattr(settings, 'FORM_DESIGNER_DEFAULT_FORM_TEMPLATE', 'html/formdefinition/forms/as_p.html')
  43. # semicolon is Microsoft Excel default
  44. CSV_EXPORT_DELIMITER = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_DELIMITER', ';')
  45. # include log timestamp in export
  46. CSV_EXPORT_INCLUDE_CREATED = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_INCLUDE_CREATED', True)
  47. CSV_EXPORT_INCLUDE_PK = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_INCLUDE_PK', True)
  48. # include field labels/names in first row if exporting logs for one form only
  49. CSV_EXPORT_INCLUDE_HEADER = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_INCLUDE_HEADER', True)
  50. # include form title if exporting logs for more than one form
  51. CSV_EXPORT_INCLUDE_FORM = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_INCLUDE_FORM', True)
  52. CSV_EXPORT_FILENAME = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_FILENAME', 'export.csv')
  53. CSV_EXPORT_ENCODING = getattr(settings, 'FORM_DESIGNER_CSV_EXPORT_ENCODING', 'utf-8')
  54. SUBMIT_FLAG_NAME = getattr(settings, 'FORM_DESIGNER_SUBMIT_FLAG_NAME', 'submit__%s')
  55. FILE_STORAGE_CLASS = getattr(settings, 'FORM_DESIGNER_FILE_STORAGE_CLASS', get_storage_class())
  56. FILE_STORAGE_DIR = 'form_uploads'
  57. ALLOWED_FILE_TYPES = getattr(settings, 'FORM_DESIGNER_ALLOWED_FILE_TYPES', (
  58. 'aac', 'ace', 'ai', 'aiff', 'avi', 'bmp', 'dir', 'doc', 'docx', 'dmg', 'eps', 'fla', 'flv',
  59. 'gif', 'gz', 'hqx', 'ico', 'indd', 'inx', 'jpg', 'jar', 'jpeg', 'md', 'mov',
  60. 'mp3', 'mp4', 'mpc', 'mkv', 'mpg', 'mpeg', 'ogg', 'odg', 'odf', 'odp', 'ods', 'odt', 'otf',
  61. 'pdf', 'png', 'pps', 'ppsx', 'ps', 'psd', 'rar', 'rm', 'rtf', 'sit', 'swf', 'tar', 'tga',
  62. 'tif', 'tiff', 'ttf', 'txt', 'wav', 'wma', 'wmv', 'xls', 'xlsx', 'xml', 'zip'
  63. ))
  64. MAX_UPLOAD_SIZE = getattr(settings, 'MAX_UPLOAD_SIZE', 5242880) # 5M