diff options
Diffstat (limited to 'activities')
-rw-r--r-- | activities/models/post.py | 1 | ||||
-rw-r--r-- | activities/views/posts.py | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/activities/models/post.py b/activities/models/post.py index 378de91..876d422 100644 --- a/activities/models/post.py +++ b/activities/models/post.py @@ -50,6 +50,7 @@ class PostStates(StateGraph): subject_post=post, ) # And one for themselves if they're local + # (most views will do this at time of post, but it's idempotent) if post.author.local: await FanOut.objects.acreate( identity_id=post.author_id, diff --git a/activities/views/posts.py b/activities/views/posts.py index de11a09..7950093 100644 --- a/activities/views/posts.py +++ b/activities/views/posts.py @@ -3,7 +3,12 @@ from django.shortcuts import get_object_or_404, redirect, render from django.utils.decorators import method_decorator from django.views.generic import FormView, TemplateView, View -from activities.models import Post, PostInteraction, PostInteractionStates +from activities.models import ( + Post, + PostInteraction, + PostInteractionStates, + TimelineEvent, +) from core.models import Config from users.decorators import identity_required from users.shortcuts import by_handle_or_404 @@ -155,10 +160,12 @@ class Compose(FormView): return form def form_valid(self, form): - Post.create_local( + post = Post.create_local( author=self.request.identity, content=form.cleaned_data["text"], summary=form.cleaned_data.get("content_warning"), visibility=form.cleaned_data["visibility"], ) + # Add their own timeline event for immediate visibility + TimelineEvent.add_post(self.request.identity, post) return redirect("/") |