mirror of
https://github.com/discourse/discourse.git
synced 2025-03-09 14:34:35 +00:00
Merge pull request #5407 from techAPJ/show-inactive-accounts
FEATURE: new site setting show_inactive_accounts
This commit is contained in:
commit
c168c5895f
@ -124,7 +124,7 @@ class ListController < ApplicationController
|
|||||||
|
|
||||||
def topics_by
|
def topics_by
|
||||||
list_opts = build_topic_list_options
|
list_opts = build_topic_list_options
|
||||||
target_user = fetch_user_from_params({ include_inactive: current_user.try(:staff?) }, [:user_stat, :user_option])
|
target_user = fetch_user_from_params({ include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts) }, [:user_stat, :user_option])
|
||||||
list = generate_list_for("topics_by", target_user, list_opts)
|
list = generate_list_for("topics_by", target_user, list_opts)
|
||||||
list.more_topics_url = url_for(construct_url_with(:next, list_opts))
|
list.more_topics_url = url_for(construct_url_with(:next, list_opts))
|
||||||
list.prev_topics_url = url_for(construct_url_with(:prev, list_opts))
|
list.prev_topics_url = url_for(construct_url_with(:prev, list_opts))
|
||||||
|
@ -6,7 +6,7 @@ class UserActionsController < ApplicationController
|
|||||||
|
|
||||||
per_chunk = 30
|
per_chunk = 30
|
||||||
|
|
||||||
user = fetch_user_from_params(include_inactive: current_user.try(:staff?))
|
user = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
|
||||||
|
|
||||||
opts = { user_id: user.id,
|
opts = { user_id: user.id,
|
||||||
user: user,
|
user: user,
|
||||||
|
@ -30,7 +30,7 @@ class UserBadgesController < ApplicationController
|
|||||||
def username
|
def username
|
||||||
params.permit [:grouped]
|
params.permit [:grouped]
|
||||||
|
|
||||||
user = fetch_user_from_params
|
user = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
|
||||||
user_badges = user.user_badges
|
user_badges = user.user_badges
|
||||||
|
|
||||||
if params[:grouped]
|
if params[:grouped]
|
||||||
|
@ -39,7 +39,7 @@ class UsersController < ApplicationController
|
|||||||
return redirect_to path('/login') if SiteSetting.hide_user_profiles_from_public && !current_user
|
return redirect_to path('/login') if SiteSetting.hide_user_profiles_from_public && !current_user
|
||||||
|
|
||||||
@user = fetch_user_from_params(
|
@user = fetch_user_from_params(
|
||||||
{ include_inactive: current_user.try(:staff?) },
|
{ include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts) },
|
||||||
[{ user_profile: :card_image_badge }]
|
[{ user_profile: :card_image_badge }]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -203,14 +203,14 @@ class UsersController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def summary
|
def summary
|
||||||
user = fetch_user_from_params
|
user = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
|
||||||
summary = UserSummary.new(user, guardian)
|
summary = UserSummary.new(user, guardian)
|
||||||
serializer = UserSummarySerializer.new(summary, scope: guardian)
|
serializer = UserSummarySerializer.new(summary, scope: guardian)
|
||||||
render_json_dump(serializer)
|
render_json_dump(serializer)
|
||||||
end
|
end
|
||||||
|
|
||||||
def invited
|
def invited
|
||||||
inviter = fetch_user_from_params
|
inviter = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
|
||||||
offset = params[:offset].to_i || 0
|
offset = params[:offset].to_i || 0
|
||||||
filter_by = params[:filter]
|
filter_by = params[:filter]
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ class UsersController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def invited_count
|
def invited_count
|
||||||
inviter = fetch_user_from_params
|
inviter = fetch_user_from_params(include_inactive: current_user.try(:staff?) || (current_user && SiteSetting.show_inactive_accounts))
|
||||||
|
|
||||||
pending_count = Invite.find_pending_invites_count(inviter)
|
pending_count = Invite.find_pending_invites_count(inviter)
|
||||||
redeemed_count = Invite.find_redeemed_invites_count(inviter)
|
redeemed_count = Invite.find_redeemed_invites_count(inviter)
|
||||||
|
@ -1449,6 +1449,8 @@ en:
|
|||||||
|
|
||||||
hide_user_profiles_from_public: "Disable user cards, user profiles and user directory for anonymous users."
|
hide_user_profiles_from_public: "Disable user cards, user profiles and user directory for anonymous users."
|
||||||
|
|
||||||
|
show_inactive_accounts: "Allow logged in users to browse profiles of inactive accounts."
|
||||||
|
|
||||||
hide_suspension_reasons: "Don't display suspension reasons publically on user profiles."
|
hide_suspension_reasons: "Don't display suspension reasons publically on user profiles."
|
||||||
user_website_domains_whitelist: "User website will be verified against these domains. Pipe-delimited list."
|
user_website_domains_whitelist: "User website will be verified against these domains. Pipe-delimited list."
|
||||||
|
|
||||||
|
@ -415,6 +415,8 @@ users:
|
|||||||
hide_user_profiles_from_public:
|
hide_user_profiles_from_public:
|
||||||
default: false
|
default: false
|
||||||
client: true
|
client: true
|
||||||
|
show_inactive_accounts:
|
||||||
|
default: false
|
||||||
user_website_domains_whitelist:
|
user_website_domains_whitelist:
|
||||||
default: ''
|
default: ''
|
||||||
type: list
|
type: list
|
||||||
|
@ -44,6 +44,14 @@ describe UsersController do
|
|||||||
expect(response).not_to be_success
|
expect(response).not_to be_success
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'returns success when show_inactive_accounts is true and user is logged in' do
|
||||||
|
SiteSetting.show_inactive_accounts = true
|
||||||
|
log_in_user(user)
|
||||||
|
inactive = Fabricate(:user, active: false)
|
||||||
|
get :show, params: { username: inactive.username }, format: :json
|
||||||
|
expect(response).to be_success
|
||||||
|
end
|
||||||
|
|
||||||
it "raises an error on invalid access" do
|
it "raises an error on invalid access" do
|
||||||
Guardian.any_instance.expects(:can_see?).with(user).returns(false)
|
Guardian.any_instance.expects(:can_see?).with(user).returns(false)
|
||||||
get :show, params: { username: user.username }, format: :json
|
get :show, params: { username: user.username }, format: :json
|
||||||
|
Loading…
x
Reference in New Issue
Block a user