43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from django import forms
|
|
from django.shortcuts import redirect
|
|
from django.template.defaultfilters import linebreaks_filter
|
|
from django.utils.decorators import method_decorator
|
|
from django.views.generic import FormView
|
|
|
|
from activities.models import Post, TimelineEvent
|
|
from core.forms import FormHelper
|
|
from users.decorators import identity_required
|
|
|
|
|
|
@method_decorator(identity_required, name="dispatch")
|
|
class Home(FormView):
|
|
|
|
template_name = "activities/home.html"
|
|
|
|
class form_class(forms.Form):
|
|
text = forms.CharField()
|
|
|
|
helper = FormHelper(submit_text="Post")
|
|
|
|
def get_context_data(self):
|
|
context = super().get_context_data()
|
|
context.update(
|
|
{
|
|
"timeline_posts": [
|
|
te.subject_post
|
|
for te in TimelineEvent.objects.filter(
|
|
identity=self.request.identity,
|
|
type=TimelineEvent.Types.post,
|
|
).order_by("-created")[:100]
|
|
],
|
|
}
|
|
)
|
|
return context
|
|
|
|
def form_valid(self, form):
|
|
Post.create_local(
|
|
author=self.request.identity,
|
|
content=linebreaks_filter(form.cleaned_data["text"]),
|
|
)
|
|
return redirect(".")
|