brutaldon-interfaccia-web-m.../brutaldon/forms.py

96 lines
3.2 KiB
Python
Raw Normal View History

from django import forms
from django.conf import settings
2018-11-07 19:07:21 +01:00
from django.utils.translation import gettext as _
from pytz import common_timezones
Add theme support and move preferences into the database Squashed commit of the following: commit be4e1ab286f54caa6f44367d2de3cf9e6cb69e68 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 12:03:17 2018 -0400 Set timezone in session as early as possible commit f1c03349c40ca1aca7f77c32333ee83585495626 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 10:06:18 2018 -0400 Don't hide all .is-hidden in brutalist themes commit f35a6c5600b091fe0ec4ad78eb5f1a02a4945a65 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 09:44:10 2018 -0400 Rename vt240don.css to vt240don-amber.css commit 074478937af309d10ff2d7f8f482dbff20ac7cf9 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 09:41:43 2018 -0400 Tweak vt240 amber theme and add vt240 green theme commit b205cfe7376d067799863d7db1ce3c4530b0ba74 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 08:39:11 2018 -0400 Remove caching of Mastodon connections There's not a good way of invalidating them, and they've started causing timeouts in this branch. commit c24a697a39173ff23391220fabad0dc6605cb5ef Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 14:46:21 2018 -0400 Make minimal-large a little less bare commit 6fee850cf6ba1edb573a7fedf43af3a343410c9b Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 14:24:57 2018 -0400 Add minimal-large theme commit b345dedbfcf55c3142d07a6f5320c677cfb534f0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 13:19:51 2018 -0400 Add vt240don style by @enkiv2 commit f013ff235663ee21f2d0962a019ce7bc3c80f7b0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 09:15:51 2018 -0400 Fix crash in search commit 76c4134e9ddebbdf8a8dccab79361e71438877e6 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:35:02 2018 -0400 Fix crash in oauth_callback commit d725018d6a34544ac8c92deac27502c457d4d3c8 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:31:19 2018 -0400 Fix crash in oauth_callback commit 830264359dbdbf7c34e1d1ae715cb68016cd47f4 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:28:17 2018 -0400 Fix crash in oauth_callback commit 2a525298995d108a290484786a7493bfb99af2c8 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:27:03 2018 -0400 Fix crash in oauth_callback commit d43eb63146eb21a283290287b9db4d518f36435e Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:25:27 2018 -0400 Fix crash in oauth_callback commit ae9a58a0ae010fdc12a7498d691b7b8f8da95e03 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:12:19 2018 -0400 Fix up default values for default themes again commit a8fde1710b4d23f2bdd0ced4eeffd44b4e80b756 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:11:18 2018 -0400 Fixes for dark theme commit c4a7501cf263afbdc6bf65623e9c8dc5f03f40f7 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:11:04 2018 -0400 Small fix in full toot view commit 69caeea0010e7d59106fba780744592ed9145f61 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:50:53 2018 -0400 Fix up settings display, navbar, typo in links commit 0e24a394eabe78d8cba864beaedb03a42f916a20 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:36:58 2018 -0400 Fix default theme paths commit aca5c53561cd8647d42244fd51720e146fddbf94 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:35:33 2018 -0400 More themes prep commit 6921c55a41db14e155b5ed62c48e3e67d8626b13 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 21:42:53 2018 -0400 Actually load themes commit 134952ff17e3a8672e21175395282d91f48f1d2b Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 21:34:06 2018 -0400 Base and fullbrutalism themes work, but only coincidentally commit 658aca52955507eda007165e9c44031d417e0076 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:47:48 2018 -0400 Make filtering preference work again commit 90267055b5a2fc51337b0a3e34b3a5643088e17f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:34:47 2018 -0400 Fix up settings view, form, and model commit d58769ecdffad239cc8aa37ebca9c2e87372ebd0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:12:06 2018 -0400 Fix up old_login to work with new preferences system commit d8b084a379894a3a40c3eed1c87465f7c77ad7eb Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 18:11:03 2018 -0400 Update settings view to use preferences system commit 49471ae97131bdb0d8152411afdf1987d6c64652 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sat Aug 25 10:53:04 2018 -0400 Update login logic to match new account models, simplify. Not tested yet. commit 57cce7c0f45fe07dd522a61c9e056db982455843 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sat Aug 25 10:18:53 2018 -0400 Fix up models and forms to meet current needs commit 0634c038ee9220164662d1e933a2f1c83e5af70d Author: Jason McBrayer <jmcbray@carcosa.net> Date: Fri Aug 24 22:42:07 2018 -0400 Update fields in models for settings branch commit 510509e28254cb3ee38b70538d1c0b788448d624 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Fri Jun 22 08:39:42 2018 -0400 Update settings view a bit; still in progress commit 5a91a57ceb1d737ed371bd6800ddf6ea0a917a8f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Jun 19 06:27:19 2018 -0400 Add forms object for new preferences commit af4883c172d2b66d83c55b00cee1490fa88ddd4f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Jun 19 06:26:35 2018 -0400 Make sure newly created accounts have preferences attached commit f0ae97b2bf8735bd5c369f273fb51d74deb05450 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Jun 18 21:33:41 2018 -0400 Setup for themes and related options
2018-08-28 18:22:20 +02:00
from .models import Theme, Preference
2019-05-17 19:07:11 +02:00
PRIVACY_CHOICES = (
("public", _("Public")),
("unlisted", _("Unlisted")),
("private", _("Private")),
("direct", _("Direct")),
)
timezones = [(tz, tz) for tz in common_timezones]
class LoginForm(forms.Form):
2019-05-17 19:07:11 +02:00
instance = forms.CharField(label=_("Instance"), max_length=256)
2018-11-07 19:07:21 +01:00
email = forms.EmailField(label=_("Email"))
password = forms.CharField(widget=forms.PasswordInput())
2019-05-17 19:07:11 +02:00
class OAuthLoginForm(forms.Form):
2019-05-17 19:07:11 +02:00
instance = forms.CharField(label=_("Instance"), max_length=256)
Add theme support and move preferences into the database Squashed commit of the following: commit be4e1ab286f54caa6f44367d2de3cf9e6cb69e68 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 12:03:17 2018 -0400 Set timezone in session as early as possible commit f1c03349c40ca1aca7f77c32333ee83585495626 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 10:06:18 2018 -0400 Don't hide all .is-hidden in brutalist themes commit f35a6c5600b091fe0ec4ad78eb5f1a02a4945a65 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 09:44:10 2018 -0400 Rename vt240don.css to vt240don-amber.css commit 074478937af309d10ff2d7f8f482dbff20ac7cf9 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 09:41:43 2018 -0400 Tweak vt240 amber theme and add vt240 green theme commit b205cfe7376d067799863d7db1ce3c4530b0ba74 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Aug 28 08:39:11 2018 -0400 Remove caching of Mastodon connections There's not a good way of invalidating them, and they've started causing timeouts in this branch. commit c24a697a39173ff23391220fabad0dc6605cb5ef Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 14:46:21 2018 -0400 Make minimal-large a little less bare commit 6fee850cf6ba1edb573a7fedf43af3a343410c9b Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 14:24:57 2018 -0400 Add minimal-large theme commit b345dedbfcf55c3142d07a6f5320c677cfb534f0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 13:19:51 2018 -0400 Add vt240don style by @enkiv2 commit f013ff235663ee21f2d0962a019ce7bc3c80f7b0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 09:15:51 2018 -0400 Fix crash in search commit 76c4134e9ddebbdf8a8dccab79361e71438877e6 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:35:02 2018 -0400 Fix crash in oauth_callback commit d725018d6a34544ac8c92deac27502c457d4d3c8 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:31:19 2018 -0400 Fix crash in oauth_callback commit 830264359dbdbf7c34e1d1ae715cb68016cd47f4 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:28:17 2018 -0400 Fix crash in oauth_callback commit 2a525298995d108a290484786a7493bfb99af2c8 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:27:03 2018 -0400 Fix crash in oauth_callback commit d43eb63146eb21a283290287b9db4d518f36435e Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:25:27 2018 -0400 Fix crash in oauth_callback commit ae9a58a0ae010fdc12a7498d691b7b8f8da95e03 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:12:19 2018 -0400 Fix up default values for default themes again commit a8fde1710b4d23f2bdd0ced4eeffd44b4e80b756 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:11:18 2018 -0400 Fixes for dark theme commit c4a7501cf263afbdc6bf65623e9c8dc5f03f40f7 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Aug 27 08:11:04 2018 -0400 Small fix in full toot view commit 69caeea0010e7d59106fba780744592ed9145f61 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:50:53 2018 -0400 Fix up settings display, navbar, typo in links commit 0e24a394eabe78d8cba864beaedb03a42f916a20 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:36:58 2018 -0400 Fix default theme paths commit aca5c53561cd8647d42244fd51720e146fddbf94 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 22:35:33 2018 -0400 More themes prep commit 6921c55a41db14e155b5ed62c48e3e67d8626b13 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 21:42:53 2018 -0400 Actually load themes commit 134952ff17e3a8672e21175395282d91f48f1d2b Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 21:34:06 2018 -0400 Base and fullbrutalism themes work, but only coincidentally commit 658aca52955507eda007165e9c44031d417e0076 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:47:48 2018 -0400 Make filtering preference work again commit 90267055b5a2fc51337b0a3e34b3a5643088e17f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:34:47 2018 -0400 Fix up settings view, form, and model commit d58769ecdffad239cc8aa37ebca9c2e87372ebd0 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 19:12:06 2018 -0400 Fix up old_login to work with new preferences system commit d8b084a379894a3a40c3eed1c87465f7c77ad7eb Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sun Aug 26 18:11:03 2018 -0400 Update settings view to use preferences system commit 49471ae97131bdb0d8152411afdf1987d6c64652 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sat Aug 25 10:53:04 2018 -0400 Update login logic to match new account models, simplify. Not tested yet. commit 57cce7c0f45fe07dd522a61c9e056db982455843 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Sat Aug 25 10:18:53 2018 -0400 Fix up models and forms to meet current needs commit 0634c038ee9220164662d1e933a2f1c83e5af70d Author: Jason McBrayer <jmcbray@carcosa.net> Date: Fri Aug 24 22:42:07 2018 -0400 Update fields in models for settings branch commit 510509e28254cb3ee38b70538d1c0b788448d624 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Fri Jun 22 08:39:42 2018 -0400 Update settings view a bit; still in progress commit 5a91a57ceb1d737ed371bd6800ddf6ea0a917a8f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Jun 19 06:27:19 2018 -0400 Add forms object for new preferences commit af4883c172d2b66d83c55b00cee1490fa88ddd4f Author: Jason McBrayer <jmcbray@carcosa.net> Date: Tue Jun 19 06:26:35 2018 -0400 Make sure newly created accounts have preferences attached commit f0ae97b2bf8735bd5c369f273fb51d74deb05450 Author: Jason McBrayer <jmcbray@carcosa.net> Date: Mon Jun 18 21:33:41 2018 -0400 Setup for themes and related options
2018-08-28 18:22:20 +02:00
class PreferencesForm(forms.ModelForm):
class Meta:
model = Preference
2019-05-17 19:07:11 +02:00
fields = [
"theme",
"filter_replies",
"filter_boosts",
"timezone",
"no_javascript",
"notifications",
"click_to_load",
"lightbox",
"filter_notifications",
"poll_frequency",
]
class PostForm(forms.Form):
"""def status_post(self, status, in_reply_to_id=None, media_ids=None,
sensitive=False, visibility=None, spoiler_text=None):"""
2019-05-17 19:07:11 +02:00
status = forms.CharField(label="Toot", widget=forms.Textarea)
2019-05-17 19:07:11 +02:00
visibility = forms.ChoiceField(
label=_("Toot visibility"), choices=PRIVACY_CHOICES, required=False
)
spoiler_text = forms.CharField(label=_("CW or Subject"), required=False)
media_file_1 = forms.FileField(label=_("Media 1"), required=False)
media_text_1 = forms.CharField(label=_("Describe media 1."), required=False)
media_file_2 = forms.FileField(label=_("Media 2"), required=False)
media_text_2 = forms.CharField(label=_("Describe media 2."), required=False)
media_file_3 = forms.FileField(label=_("Media 3"), required=False)
media_text_3 = forms.CharField(label=_("Describe media 3."), required=False)
media_file_4 = forms.FileField(label=_("Media 4"), required=False)
media_text_4 = forms.CharField(label=_("Describe media 4."), required=False)
2018-11-07 19:47:27 +01:00
media_sensitive = forms.BooleanField(label=_("Sensitive media?"), required=False)
2019-05-17 19:07:11 +02:00
class FilterForm(forms.Form):
phrase = forms.CharField(label=_("Word or phrase to filter"))
2019-05-17 19:07:11 +02:00
context_home = forms.BooleanField(
label=_("In home timeline"), required=False, initial=True
)
context_public = forms.BooleanField(
label=_("In public timelines"), required=False, initial=True
)
context_notes = forms.BooleanField(
label=_("In notifications"), required=False, initial=True
)
context_thread = forms.BooleanField(
label=_("In thread contexts"), required=False, initial=True
)
whole_word = forms.BooleanField(
label=_("Whole words only"), required=False, initial=True
)
expires_in = forms.TypedChoiceField(
label=_("Expires in"),
choices=(
("", "Never"),
("1800", "30 minutes"),
("3600", "1 hour"),
("21600", "6 hours"),
("43200", "12 hours"),
("86400", "1 day"),
("604800", "1 week"),
),
coerce=int,
required=False,
)