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
33 34 35 |
# File 'lib/guardian/tag_guardian.rb', line 33 def can_admin_tag_groups? is_staff? && SiteSetting.tagging_enabled end |
#can_admin_tags? ⇒ Boolean
29 30 31 |
# File 'lib/guardian/tag_guardian.rb', line 29 def is_staff? && SiteSetting.tagging_enabled end |
#can_create_tag? ⇒ Boolean
9 10 11 12 |
# File 'lib/guardian/tag_guardian.rb', line 9 def can_create_tag? SiteSetting.tagging_enabled && @user.has_trust_level_or_staff?(SiteSetting.min_trust_to_create_tag) 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
19 20 21 22 23 24 25 26 27 |
# File 'lib/guardian/tag_guardian.rb', line 19 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
14 15 16 17 |
# File 'lib/guardian/tag_guardian.rb', line 14 def can_tag_topics? SiteSetting.tagging_enabled && @user.has_trust_level_or_staff?(SiteSetting.min_trust_level_to_tag_topics) end |
#hidden_tag_names ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/guardian/tag_guardian.rb', line 37 def hidden_tag_names @hidden_tag_names ||= begin if SiteSetting.tagging_enabled && !is_staff? DiscourseTagging.hidden_tag_names(self) else [] end end end |