aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/my/agent_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/my/agent_controller.rb')
-rw-r--r--app/controllers/my/agent_controller.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/controllers/my/agent_controller.rb b/app/controllers/my/agent_controller.rb
new file mode 100644
index 0000000..ac761b7
--- /dev/null
+++ b/app/controllers/my/agent_controller.rb
@@ -0,0 +1,29 @@
+class My::AgentController < ApplicationController
+ # PATCH /my/current_agent
+ def switch
+ response_status = :unprocessable_entity
+ new_agent = current_user.agents.find(params[:agent][:id])
+ Rails.logger.info "CURRENT_AGENT #{session[:current_agent]} -> #{new_agent.name}"
+ if new_agent.present?
+ session[:current_agent] = new_agent.name
+ @current_agent = new_agent
+ response_status = :ok
+ respond_to do |format|
+ format.html { redirect_to my_dashboard_url, notice: "L'Agent est maintenant #{new_agent.name}." }
+ format.json { render json: { current_agent: session[:current_agent] }, status: response_status }
+ end
+ else
+ respond_to do |format|
+ format.html { redirect_to my_dashboard_url, notice: "L'Agent est toujours le meme..." }
+ format.json { render json: { current_agent: session[:current_agent] }, status: response_status }
+ end
+ end
+
+ end
+
+ private
+
+ def agent_params
+ params.require(:agent).permit(:id)
+ end
+end