Module: TagGuardian
- Included in:
- Guardian
- Defined in:
- lib/guardian/tag_guardian.rb
Overview
mixin for all guardian methods dealing with tagging permissions
Instance Method Summary collapse
- #can_admin_tag_groups? ⇒ Boolean
- #can_admin_tags? ⇒ Boolean
- #can_create_tag? ⇒ Boolean
- #can_see_tag?(_tag) ⇒ Boolean
- #can_tag_pms? ⇒ Boolean
- #can_tag_topics? ⇒ Boolean
- #hidden_tag_names ⇒ Object
Instance Method Details
#can_admin_tag_groups? ⇒ Boolean
31 32 33 |
# File 'lib/guardian/tag_guardian.rb', line 31 def can_admin_tag_groups? is_staff? && SiteSetting.tagging_enabled end |
#can_admin_tags? ⇒ Boolean
27 28 29 |
# File 'lib/guardian/tag_guardian.rb', line 27 def is_staff? && SiteSetting.tagging_enabled end |
#can_create_tag? ⇒ Boolean
9 10 11 |
# File 'lib/guardian/tag_guardian.rb', line 9 def can_create_tag? SiteSetting.tagging_enabled && @user.in_any_groups?(SiteSetting.create_tag_allowed_groups_map) end |
#can_see_tag?(_tag) ⇒ Boolean
5 6 7 |
# File 'lib/guardian/tag_guardian.rb', line 5 def can_see_tag?(_tag) true end |
#can_tag_pms? ⇒ Boolean
17 18 19 20 21 22 23 24 25 |
# File 'lib/guardian/tag_guardian.rb', line 17 def can_tag_pms? return false if !SiteSetting.tagging_enabled return false if @user.blank? return true if @user == Discourse.system_user group_ids = SiteSetting. group_ids.include?(Group::AUTO_GROUPS[:everyone]) || @user.group_users.exists?(group_id: group_ids) end |
#can_tag_topics? ⇒ Boolean
13 14 15 |
# File 'lib/guardian/tag_guardian.rb', line 13 def can_tag_topics? SiteSetting.tagging_enabled && @user.in_any_groups?(SiteSetting.tag_topic_allowed_groups_map) end |
#hidden_tag_names ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/guardian/tag_guardian.rb', line 35 def hidden_tag_names @hidden_tag_names ||= begin if SiteSetting.tagging_enabled && !is_staff? DiscourseTagging.hidden_tag_names(self) else [] end end end |