knowledge_base_visibility_class_helper.rb 857 B

1234567891011121314151617181920212223242526272829303132333435
  1. module KnowledgeBaseVisibilityClassHelper
  2. def visibility_class_name(object)
  3. return if !current_user&.permissions?('knowledge_base.editor')
  4. suffix = case object
  5. when CanBePublished
  6. visiblity_class_suffix_can_be_published(object)
  7. when KnowledgeBase::Category
  8. visiblity_class_suffix_category(object)
  9. end
  10. "kb-item--#{suffix}" if suffix
  11. end
  12. def visiblity_class_suffix_can_be_published(object)
  13. case object.can_be_published_aasm.current_state
  14. when :internal
  15. 'internal'
  16. when :archived
  17. 'archived'
  18. when :draft
  19. 'not-published'
  20. end
  21. end
  22. def visiblity_class_suffix_category(object)
  23. return if object.public_content?
  24. if object.self_with_children_answers.only_internal.any?
  25. 'internal'
  26. else
  27. 'empty'
  28. end
  29. end
  30. end