Module: ZuoraConnect::Controllers::Helpers
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/zuora_connect/controllers/helpers.rb
Instance Method Summary collapse
- #authenticate_request ⇒ Object
- #check_admin ⇒ Object
- #dev_mode ⇒ Object
- #set_app_instance(id) ⇒ Object
- #set_session ⇒ Object
Instance Method Details
#authenticate_request ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/zuora_connect/controllers/helpers.rb', line 6 def authenticate_request if ZuoraConnect.configuration.mode == "Production" data_present = set_session if !session["valid"] && data_present res = HTTParty.get(ZuoraConnect.configuration.url + "/api/v1/tools/tasks/#{session["appInstance"]}.json",:basic_auth => auth = {:username => session["user"], :password => session["key"]}) if res.code == 200 session["valid"] = true end end if !session["valid"] redirect_to "/500.html" end set_app_instance(session["appInstance"].to_i) if session["appInstance"] || ( session["appInstance"] && Apartment::Tenant.current != session["appInstance"]) @appinstance.new_session(session["user"], session["key"]) if @appinstance && !@appinstance.valid else dev_mode set_app_instance(session["appInstance"].to_i) @appinstance. = ZuoraConnect.configuration. @appinstance.logins = ZuoraConnect.configuration.dev_mode_logins @appinstance.mode = ZuoraConnect.configuration.dev_mode_mode end end |
#check_admin ⇒ Object
64 65 66 |
# File 'lib/zuora_connect/controllers/helpers.rb', line 64 def check_admin redirect_to "/500.html" if session["admin"] != "true" end |
#dev_mode ⇒ Object
48 49 50 51 52 53 |
# File 'lib/zuora_connect/controllers/helpers.rb', line 48 def dev_mode session["appInstance"] = "1" session["user"] = "test" session["key"] = "test" session["valid"] = true end |
#set_app_instance(id) ⇒ Object
55 56 57 58 59 60 61 62 |
# File 'lib/zuora_connect/controllers/helpers.rb', line 55 def set_app_instance(id) if ZuoraConnect::AppInstance.where(:id => id).size == 0 ZuoraConnect::AppInstance.create!(:id => id ) Apartment::Tenant.create(id) end @appinstance = ZuoraConnect::AppInstance.find(id) Apartment::Tenant.switch!(@appinstance.id) end |
#set_session ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/zuora_connect/controllers/helpers.rb', line 29 def set_session session["valid"] |= false if request["data"] values = JSON.parse(ZuoraConnect::AppInstance.decrypt_response(Base64.urlsafe_decode64(request["data"]))) if values["param_data"] values["param_data"].each do |k ,v| params[k] = v end end session["user"] = values["user"] session["key"] = values["key"] session["valid"] = false session["appInstance"] = values["appInstance"] session["admin"] = values["admin"] ? values["admin"] : false return true end return false end |