knowledge_base_top_bar_helper.rb 918 B

1234567891011121314151617181920212223242526272829303132333435
  1. module KnowledgeBaseTopBarHelper
  2. def kb_top_bar_color(object)
  3. case object
  4. when KnowledgeBase::Answer
  5. kb_answer_top_bar_color(object)
  6. when KnowledgeBase::Category
  7. kb_locale = object&.translation&.kb_locale
  8. object.public_content?(kb_locale) ? 'green' : 'yellow'
  9. when KnowledgeBase
  10. 'green'
  11. end
  12. end
  13. def kb_answer_top_bar_color(answer)
  14. state_color_map = {
  15. draft: 'yellow',
  16. internal: 'blue',
  17. published: 'green',
  18. archived: 'grey',
  19. }
  20. state_color_map[answer.can_be_published_aasm.current_state]
  21. end
  22. def kb_top_bar_tag(object)
  23. case object
  24. when KnowledgeBase::Answer
  25. object.can_be_published_aasm.current_state
  26. when KnowledgeBase::Category
  27. kb_locale = object&.translation&.kb_locale
  28. object.public_content?(kb_locale) ? 'Visible' : 'Invisible'
  29. when KnowledgeBase
  30. 'Published'
  31. end
  32. end
  33. end