aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-05-21 17:30:51 +0300
committerrinpatch <rinpatch@sdf.org>2019-05-21 17:30:51 +0300
commit5f67c26baf2bdc98480fa4cda5895f33351b13ab (patch)
treec3d8e0e6d5b80da4a6402f08417a8229edf68fa5 /lib/pleroma
parent0407ffe75f7e91db240d491492eadf1385b1726b (diff)
downloadpleroma-5f67c26baf2bdc98480fa4cda5895f33351b13ab.tar.gz
Accept strings in expires_in because sasuga javascript
Diffstat (limited to 'lib/pleroma')
-rw-r--r--lib/pleroma/web/common_api/utils.ex5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 66153a105..1a239de97 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -103,12 +103,15 @@ defmodule Pleroma.Web.CommonAPI.Utils do
end
def make_poll_data(%{"poll" => %{"options" => options, "expires_in" => expires_in}} = data)
- when is_list(options) and is_integer(expires_in) do
+ when is_list(options) do
%{max_expiration: max_expiration, min_expiration: min_expiration} =
limits = Pleroma.Config.get([:instance, :poll_limits])
# XXX: There is probably a cleaner way of doing this
try do
+ # In some cases mastofe sends out strings instead of integers
+ expires_in = if is_binary(expires_in), do: String.to_integer(expires_in), else: expires_in
+
if Enum.count(options) > limits.max_options do
raise ArgumentError, message: "Poll can't contain more than #{limits.max_options} options"
end