From 2f448242f85b6a854b5b7cdeb1bca187ec960080 Mon Sep 17 00:00:00 2001 From: Jason McBrayer Date: Mon, 30 Apr 2018 08:58:10 -0400 Subject: [PATCH] Add posting support --- brutaldon/forms.py | 29 +++++++++++++------- brutaldon/templates/main/post.html | 10 +++++++ brutaldon/templates/main/post_partial.html | 32 ++++++++++++++++++++++ brutaldon/templates/main/timeline.html | 6 ++++ brutaldon/urls.py | 1 + brutaldon/views.py | 7 +++-- 6 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 brutaldon/templates/main/post.html create mode 100644 brutaldon/templates/main/post_partial.html diff --git a/brutaldon/forms.py b/brutaldon/forms.py index 387c9c1..40b854b 100644 --- a/brutaldon/forms.py +++ b/brutaldon/forms.py @@ -26,14 +26,23 @@ class PostForm(forms.Form): sensitive=False, visibility=None, spoiler_text=None):""" status = forms.CharField(label="Toot", max_length=500, widget=forms.Textarea) visibility = forms.ChoiceField(label="Toot visibility", choices=PRIVACY_CHOICES) - spoiler_text = forms.CharField(label="CW or Subject", max_length=500) - media_file_1 = forms.FileField(label = "Media attachment 1") - media_text_1 = forms.CharField(label="Describe media attachment 1.", max_length=500) - media_file_2 = forms.FileField(label = "Media attachment 2") - media_text_2 = forms.CharField(label="Describe media attachment 2.", max_length=500) - media_file_3 = forms.FileField(label = "Media attachment 3") - media_text_3 = forms.CharField(label="Describe media attachment 3.", max_length=500) - media_file_4 = forms.FileField(label = "Media attachment 4") - media_text_4 = forms.CharField(label="Describe media attachment 4.", max_length=500) - media_rensitive = forms.BooleanField(label="Sensitive media?", required=False) + spoiler_text = forms.CharField(label="CW or Subject", max_length=500, + required=False) + media_file_1 = forms.FileField(label = "Media attachment 1", + required=False) + media_text_1 = forms.CharField(label="Describe media attachment 1.", max_length=500, + required=False) + media_file_2 = forms.FileField(label = "Media attachment 2", + required=False) + media_text_2 = forms.CharField(label="Describe media attachment 2.", max_length=500, + required=False) + media_file_3 = forms.FileField(label = "Media attachment 3", + required=False) + media_text_3 = forms.CharField(label="Describe media attachment 3.", max_length=500, + required=False) + media_file_4 = forms.FileField(label = "Media attachment 4", + required=False) + media_text_4 = forms.CharField(label="Describe media attachment 4.", max_length=500, + required=False) + media_sensitive = forms.BooleanField(label="Sensitive media?", required=False) diff --git a/brutaldon/templates/main/post.html b/brutaldon/templates/main/post.html new file mode 100644 index 0000000..0c3e76c --- /dev/null +++ b/brutaldon/templates/main/post.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} + +{% block title %} Brutaldon - toot {% endblock %} + +{% block content %} +

Toot!

+
+ {% include "main/post_partial.html" %} +
+{% endblock %} diff --git a/brutaldon/templates/main/post_partial.html b/brutaldon/templates/main/post_partial.html new file mode 100644 index 0000000..652f156 --- /dev/null +++ b/brutaldon/templates/main/post_partial.html @@ -0,0 +1,32 @@ +{% load widget_tweaks %} + +
+ {% csrf_token %} + +
+ +
+ {% render_field form.status class+="textarea is-primary" rows="4" %} +
+
+ +
+ +
+
+ {% render_field form.visibility class+="select"%} + + + +
+
+
+ {% if form.errors %} +
{{ form.errors }}
+ {% endif %} + + + + +
diff --git a/brutaldon/templates/main/timeline.html b/brutaldon/templates/main/timeline.html index 80a30ae..4d6e35b 100644 --- a/brutaldon/templates/main/timeline.html +++ b/brutaldon/templates/main/timeline.html @@ -6,6 +6,12 @@ {% endblock %} {% block content %} +

Post

+
+ {% include "main/post_partial.html" %} +
+ +

Your {{ timeline }} timeline

{% for toot in toots %}
diff --git a/brutaldon/urls.py b/brutaldon/urls.py index 0903285..2139aec 100644 --- a/brutaldon/urls.py +++ b/brutaldon/urls.py @@ -28,5 +28,6 @@ urlpatterns = [ path('fed', views.fed, name='fed'), path('settings', views.settings, name='settings'), path('thread/', views.thread, name='thread'), + path('toot', views.toot, name="toot"), path('', views.home), ] diff --git a/brutaldon/views.py b/brutaldon/views.py index cef4c2e..a3a86e4 100644 --- a/brutaldon/views.py +++ b/brutaldon/views.py @@ -41,8 +41,9 @@ def timeline(request, timeline='home', timeline_name='Home'): except NotLoggedInException: return redirect(login) data = mastodon.timeline(timeline) + form = PostForm() return render(request, 'main/timeline.html', - {'toots': data, 'timeline': timeline_name, + {'toots': data, 'form': form, 'timeline': timeline_name, 'fullbrutalism': fullbrutalism_p(request)}) def home(request): @@ -146,7 +147,7 @@ def settings(request): def toot(request): if request.method == 'GET': form = PostForm() - return render(request, 'main/toot.html', + return render(request, 'main/post.html', {'form': form, 'fullbrutalism': fullbrutalism_p(request)}) elif request.method == 'POST': @@ -159,7 +160,7 @@ def toot(request): spoiler_text=form.cleaned_data['spoiler_text']) return redirect(home) else: - return render(request, 'main/toot.html', + return render(request, 'main/post.html', {'form': form, 'fullbrutalism': fullbrutalism_p(request)}) else: