コード例 #1
0
ファイル: views.py プロジェクト: sushaantu/littlebird
def add_tweet(request):
    # Get the context from the request.
    context = RequestContext(request)

    # A HTTP POST?
    if request.method == 'POST':
        form = TweetForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            # Save the new category to the database.
            form.save(commit=True)

            # Now call the index() view.
            # The user will be shown the homepage.
            return HttpResponseRedirect('/twitter/')
        else:
            # No form passed - ignore and keep going.
            pass
    else:
        # If the request was not a POST, display the form to enter details.
        form = TweetForm()

    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render_to_response('twitter/add_tweet.html', {'form': form}, context)
コード例 #2
0
    def dispatch(self, request, *args, **kwargs):
        form = TweetForm()

        if request.method == "POST":
            form = TweetForm(request.POST)

            if form.is_valid():
                form.instance.author = request.user
                form.instance.created_date = datetime.now()
                form.save()
                return redirect("new_page")

        return render(request, self.template_name, {"form": form})
コード例 #3
0
def reply(request, tweet_id):
    tweet = Tweet.objects.get(pk=tweet_id)
    user = request.user
    original_tweet = post.get_original(tweet)
    if request.method == 'POST':
        reply_form = TweetForm(request.POST)
        if reply_form.is_valid():
            new_reply = reply_form.save(commit=False)

            reply = post.create_tweet(user,
                                      new_reply.content,
                                      original_tweet=None)
            replyship = Replyship(
                tweet=original_tweet,
                reply=reply,
                tweet_user=original_tweet.author,
                reply_user=user,
            )
            replyship.save()

            notify.notify_reply(reply, original_tweet)

            stream.create_streams(reply, Stream.REPLY)
    else:
        reply_form = TweetForm()
    return redirect(request.META.get('HTTP_REFERER'))
コード例 #4
0
def post_tweet(request):
    form = TweetForm(request.data)
    if form.is_valid():
        tweet = form.save()
        mentions = get_all_profiles_mentioned_in_tweet(
            request.data.get('content'))
        hashtags = get_all_hashtags_in_tweet(request.data.get('content'), True)
        tweet.mentions.set(mentions)
        tweet.hashtags.set(hashtags)

    return Response(data={}, status=status.HTTP_201_CREATED)
コード例 #5
0
ファイル: views.py プロジェクト: MaxBorovsky/twitter_analog
def submit(request):
    if request.method == 'POST':
        tweet_form = TweetForm(data=request.POST)
        next_url = request.POST.get('next_url', '/')
        if tweet_form.is_valid():
            tweet = tweet_form.save(commit=False)
            tweet.user = request.user
            tweet.save()
            return redirect(next_url)
        return public(request, tweet_form)
    return redirect('/')
コード例 #6
0
ファイル: views.py プロジェクト: ikkebr/twitter
def new_tweet(request, user_name):
    if request.method == "GET":
        tweet_form = TweetForm()
        return render(request, "twitter/new_tweet.html",
                      {"tweet_form": tweet_form})
    else:
        user = User.objects.get_by_natural_key(user_name)
        tweet_form = TweetForm(data=request.POST)
        tweet = tweet_form.save(commit=False)
        tweet.user = user
        tweet.save()
        return HttpResponse("success")
コード例 #7
0
ファイル: pages.py プロジェクト: ainesmile/djangotwitter
def post_tweet(request):
    login_user = request.user
    if request.method == 'POST':
        form = TweetForm(request.POST)
        if form.is_valid():
            tweet = form.save(commit=False)
            new_tweet = post.create_tweet(login_user, tweet.content, None)
            notify.notify(login_user, new_tweet, Notification.MENTION)
            stream.create_streams(new_tweet, Stream.TWEET)
            return redirect('profile', username=login_user.username)
    else:
        form = TweetForm()
    return render(request, 'twitter/post_tweet.html', {
        'form': form,
    })
コード例 #8
0
ファイル: views.py プロジェクト: Martulla/twitter
 def post(self, request, id):
     form = TweetForm(request.POST)
     if form.is_valid():
         form.instance.author = request.user  # wyciagamy autora z requesta, nie może go sam wpisywać bo mógłby się podszyć pod kogoś.
         form.save()
         return redirect('twitter/twitter:index')