From: rinpatch <rinpatch@sdf.org>
Date: Tue, 21 May 2019 11:27:09 +0000 (+0300)
Subject: Actual vote count in poll view
X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=f28747858bf3265e8b82eb587919f5a89386bed7;p=akkoma

Actual vote count in poll view
---

diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 0df8bb5c2..c501c213c 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -338,8 +338,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
         (object.data["closed"] || object.data["endTime"])
         |> NaiveDateTime.from_iso8601!()
 
-      votes_count = object.data["votes_count"] || 0
-
       expired =
         end_time
         |> NaiveDateTime.compare(NaiveDateTime.utc_now())
@@ -348,12 +346,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
           _ -> false
         end
 
-      options =
-        Enum.map(options, fn %{"name" => name} = option ->
-          %{
-            title: HTML.strip_tags(name),
-            votes_count: option["replies"]["votes_count"] || 0
-          }
+      {options, votes_count} =
+        Enum.map_reduce(options, 0, fn %{"name" => name} = option, count ->
+          current_count = option["replies"]["totalItems"] || 0
+
+          {%{
+             title: HTML.strip_tags(name),
+             votes_count: current_count
+           }, current_count + count}
         end)
 
       %{