otrs.rb 774 B

12345678910111213141516171819202122232425262728
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. require 'import/otrs'
  3. module Auth::Otrs
  4. def self.check(username, password, config, user)
  5. endpoint = Setting.get('import_otrs_endpoint')
  6. return false if !endpoint
  7. return false if endpoint.empty?
  8. return false if endpoint == 'http://otrs_host/otrs'
  9. # connect to OTRS
  10. result = Import::OTRS.auth(username, password)
  11. return false if !result
  12. return false if !result['groups_ro']
  13. return false if !result['groups_rw']
  14. return false if !result['user']
  15. user = User.where(login: result['user']['UserLogin'], active: true).first
  16. return false if !user
  17. # sync / check permissions
  18. Import::OTRS.permission_sync(user, result, config)
  19. user
  20. end
  21. end