mirror of
https://github.com/discourse/discourse.git
synced 2025-02-22 04:07:27 +00:00
DEV: Add per-user feature flag for the new notifications menu (#17490)
Co-authored-by: OsamaSayegh <asooomaasoooma90@gmail.com>
This commit is contained in:
parent
92e1e43104
commit
845642ac46
@ -1564,6 +1564,26 @@ class User < ActiveRecord::Base
|
||||
user_status && !user_status.expired?
|
||||
end
|
||||
|
||||
REDESIGN_USER_MENU_REDIS_KEY_PREFIX = "redesigned_user_menu_for_user_"
|
||||
|
||||
def self.redesigned_user_menu_enabled_user_ids
|
||||
Discourse.redis.scan_each(match: "#{REDESIGN_USER_MENU_REDIS_KEY_PREFIX}*").map do |key|
|
||||
key.sub(REDESIGN_USER_MENU_REDIS_KEY_PREFIX, "").to_i
|
||||
end
|
||||
end
|
||||
|
||||
def redesigned_user_menu_enabled?
|
||||
Discourse.redis.get("#{REDESIGN_USER_MENU_REDIS_KEY_PREFIX}#{self.id}") == "1"
|
||||
end
|
||||
|
||||
def enable_redesigned_user_menu
|
||||
Discourse.redis.setex("#{REDESIGN_USER_MENU_REDIS_KEY_PREFIX}#{self.id}", 6.months, "1")
|
||||
end
|
||||
|
||||
def disable_redesigned_user_menu
|
||||
Discourse.redis.del("#{REDESIGN_USER_MENU_REDIS_KEY_PREFIX}#{self.id}")
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def badge_grant
|
||||
|
@ -74,7 +74,8 @@ class CurrentUserSerializer < BasicUserSerializer
|
||||
:experimental_sidebar_enabled,
|
||||
:status,
|
||||
:sidebar_category_ids,
|
||||
:sidebar_tag_names
|
||||
:sidebar_tag_names,
|
||||
:redesigned_user_menu_enabled
|
||||
|
||||
delegate :user_stat, to: :object, private: true
|
||||
delegate :any_posts, :draft_count, :pending_posts_count, :read_faq?, to: :user_stat
|
||||
@ -338,4 +339,11 @@ class CurrentUserSerializer < BasicUserSerializer
|
||||
def status
|
||||
UserStatusSerializer.new(object.user_status, root: false)
|
||||
end
|
||||
|
||||
def redesigned_user_menu_enabled
|
||||
if defined?(@redesigned_user_menu_enabled)
|
||||
return @redesigned_user_menu_enabled
|
||||
end
|
||||
@redesigned_user_menu_enabled = object.redesigned_user_menu_enabled?
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user