collection_base.rb 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. module SessionHelper::CollectionBase
  3. module_function
  4. def session(collections, assets, user)
  5. # all base stuff
  6. collections[ Locale.to_app_model ] = Locale.where(active: true)
  7. collections[ Taskbar.to_app_model ] = Taskbar.where(user_id: user.id)
  8. collections[ Taskbar.to_app_model ].each do |item|
  9. assets = item.assets(assets)
  10. end
  11. collections[ OnlineNotification.to_app_model ] = []
  12. OnlineNotification.list(user, 200).each do |item|
  13. assets = item.assets(assets)
  14. end
  15. collections[ RecentView.to_app_model ] = []
  16. RecentView.list(user, 10).each do |item|
  17. assets = item.assets(assets)
  18. end
  19. collections[ Permission.to_app_model ] = []
  20. Permission.all.each do |item|
  21. assets = item.assets(assets)
  22. end
  23. collections[ Role.to_app_model ] = []
  24. Role.all.each do |item|
  25. assets = item.assets(assets)
  26. end
  27. collections[ Group.to_app_model ] = []
  28. Group.all.each do |item|
  29. assets = item.assets(assets)
  30. end
  31. collections[ Organization.to_app_model ] = []
  32. if user.organization_id
  33. Organization.where(id: user.organization_id).each do |item|
  34. assets = item.assets(assets)
  35. end
  36. end
  37. if user.permissions?(['admin.core_workflow'])
  38. collections['CoreWorkflowCustomModule'] = CoreWorkflow::Custom.list.map { |m| { name: m } }
  39. end
  40. [collections, assets]
  41. end
  42. end