EmailList: ensure that deactivated, unapproved, and unconfirmed users aren't subscribers
This commit is contained in:
parent
8c62cc95e6
commit
31a510d6a4
@ -50,11 +50,15 @@ defmodule Pleroma.User.EmailList do
|
|||||||
|> build_csv()
|
|> build_csv()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp subscribe?(%User{} = user) do
|
||||||
|
user.accepts_email_list && user.is_active && user.is_approved && user.is_confirmed
|
||||||
|
end
|
||||||
|
|
||||||
defp build_row(%User{} = user) do
|
defp build_row(%User{} = user) do
|
||||||
[
|
[
|
||||||
user.email,
|
user.email,
|
||||||
user.nickname,
|
user.nickname,
|
||||||
user.accepts_email_list
|
subscribe?(user)
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -41,17 +41,21 @@ defmodule Pleroma.User.EmailListTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "generate_csv/1 with :combined" do
|
test "generate_csv/1 with :combined" do
|
||||||
user1 = insert(:user, accepts_email_list: true)
|
user1 = insert(:user, accepts_email_list: true, is_active: false)
|
||||||
user2 = insert(:user, accepts_email_list: false)
|
user2 = insert(:user, accepts_email_list: true)
|
||||||
user3 = insert(:user, accepts_email_list: false)
|
user3 = insert(:user, accepts_email_list: true, is_approved: false)
|
||||||
user4 = insert(:user, accepts_email_list: true)
|
user4 = insert(:user, accepts_email_list: true, is_confirmed: false)
|
||||||
|
user5 = insert(:user, accepts_email_list: true)
|
||||||
|
user6 = insert(:user, accepts_email_list: false)
|
||||||
|
|
||||||
expected = """
|
expected = """
|
||||||
Email Address,Nickname,Subscribe?\r
|
Email Address,Nickname,Subscribe?\r
|
||||||
#{user1.email},#{user1.nickname},true\r
|
#{user1.email},#{user1.nickname},false\r
|
||||||
#{user2.email},#{user2.nickname},false\r
|
#{user2.email},#{user2.nickname},true\r
|
||||||
#{user3.email},#{user3.nickname},false\r
|
#{user3.email},#{user3.nickname},false\r
|
||||||
#{user4.email},#{user4.nickname},true\r
|
#{user4.email},#{user4.nickname},false\r
|
||||||
|
#{user5.email},#{user5.nickname},true\r
|
||||||
|
#{user6.email},#{user6.nickname},false\r
|
||||||
"""
|
"""
|
||||||
|
|
||||||
assert EmailList.generate_csv(:combined) == expected
|
assert EmailList.generate_csv(:combined) == expected
|
||||||
|
Loading…
Reference in New Issue
Block a user