collection_base.rb 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
  2. module ExtraCollection
  3. def session( collections, assets, user )
  4. # all base stuff
  5. collections[ Locale.to_app_model ] = Locale.where(active: true)
  6. collections[ Taskbar.to_app_model ] = Taskbar.where(user_id: user.id)
  7. collections[ Taskbar.to_app_model ].each do |item|
  8. assets = item.assets(assets)
  9. end
  10. collections[ OnlineNotification.to_app_model ] = []
  11. OnlineNotification.list(user, 200).each do |item|
  12. assets = item.assets(assets)
  13. end
  14. collections[ RecentView.to_app_model ] = []
  15. RecentView.list(user, 10).each do |item|
  16. assets = item.assets(assets)
  17. end
  18. collections[ Permission.to_app_model ] = []
  19. Permission.all.each do |item|
  20. assets = item.assets(assets)
  21. end
  22. collections[ Role.to_app_model ] = []
  23. Role.all.each do |item|
  24. assets = item.assets(assets)
  25. end
  26. collections[ Group.to_app_model ] = []
  27. Group.all.each do |item|
  28. assets = item.assets(assets)
  29. end
  30. collections[ Organization.to_app_model ] = []
  31. if user.organization_id
  32. Organization.where(id: user.organization_id).each do |item|
  33. assets = item.assets(assets)
  34. end
  35. end
  36. [collections, assets]
  37. end
  38. module_function :session # rubocop:disable Style/AccessModifierDeclarations
  39. end