collection_base.rb 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 { |item|
  8. assets = item.assets(assets)
  9. }
  10. collections[ OnlineNotification.to_app_model ] = OnlineNotification.list(user, 100)
  11. assets = ApplicationModel.assets_of_object_list(collections[ OnlineNotification.to_app_model ], assets)
  12. collections[ RecentView.to_app_model ] = RecentView.list(user, 10)
  13. assets = RecentView.assets_of_object_list(collections[ RecentView.to_app_model ], assets)
  14. collections[ Permission.to_app_model ] = []
  15. Permission.all.each { |item|
  16. assets = item.assets(assets)
  17. }
  18. collections[ Role.to_app_model ] = []
  19. Role.all.each { |item|
  20. assets = item.assets(assets)
  21. }
  22. collections[ Group.to_app_model ] = []
  23. Group.all.each { |item|
  24. assets = item.assets(assets)
  25. }
  26. collections[ Organization.to_app_model ] = []
  27. if user.organization_id
  28. Organization.where(id: user.organization_id).each { |item|
  29. assets = item.assets(assets)
  30. }
  31. end
  32. [collections, assets]
  33. end
  34. module_function :session
  35. end