mirror of
https://github.com/Retrospring/retrospring.git
synced 2025-01-18 20:26:01 +01:00
added Services controller
This commit is contained in:
parent
12180bf1f2
commit
f24433d84e
4 changed files with 52 additions and 0 deletions
38
app/controllers/services_controller.rb
Normal file
38
app/controllers/services_controller.rb
Normal file
|
@ -0,0 +1,38 @@
|
|||
class ServicesController < ApplicationController
|
||||
|
||||
skip_before_action :verify_authenticity_token, :only => :create
|
||||
before_action :authenticate_user!
|
||||
|
||||
def index
|
||||
@services = current_user.services
|
||||
end
|
||||
|
||||
def create
|
||||
service = Service.initialize_from_omniauth( omniauth_hash )
|
||||
|
||||
if current_user.services << service
|
||||
flash[:success] = 'Successfully added service'
|
||||
else
|
||||
flash[:error] = 'Could not add service :('
|
||||
end
|
||||
|
||||
if origin
|
||||
redirect_to origin
|
||||
else
|
||||
redirect_to services_path
|
||||
end
|
||||
end
|
||||
|
||||
def failure
|
||||
Rails.logger.info "oauth error: #{params.inspect}"
|
||||
flash[:error] = 'An error occurred'
|
||||
redirect_to services_path
|
||||
end
|
||||
|
||||
def destroy
|
||||
@service = current_user.services.find(params[:id])
|
||||
@service.destroy
|
||||
flash[:success] = 'Successfully removed service'
|
||||
redirect_to services_path
|
||||
end
|
||||
end
|
2
app/helpers/services_helper.rb
Normal file
2
app/helpers/services_helper.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
module ServicesHelper
|
||||
end
|
2
app/views/services/index.html.haml
Normal file
2
app/views/services/index.html.haml
Normal file
|
@ -0,0 +1,2 @@
|
|||
<h1>Services#index</h1>
|
||||
<p>Find me in app/views/services/index.html.erb</p>
|
|
@ -33,6 +33,16 @@ Rails.application.routes.draw do
|
|||
match '/settings/profile', to: 'user#edit', via: 'get', as: :edit_user_profile
|
||||
match '/settings/profile', to: 'user#update', via: 'patch', as: :update_user_profile
|
||||
|
||||
# resources :services, only: [:index, :destroy]
|
||||
match '/settings/services', to: 'services#index', via: 'get', as: :services
|
||||
match '/settings/services/:id', to: 'services#destroy', via: 'delete', as: :service
|
||||
controller :services do
|
||||
scope "/auth", as: "auth" do
|
||||
get ':provider/callback' => :create
|
||||
get :failure
|
||||
end
|
||||
end
|
||||
|
||||
namespace :ajax do
|
||||
match '/ask', to: 'question#create', via: :post, as: :ask
|
||||
match '/answer', to: 'inbox#destroy', via: :post, as: :answer
|
||||
|
|
Loading…
Reference in a new issue