class OauthClientsController < ApplicationController
- layout 'site'
+ layout "site"
- before_filter :authorize_web
- before_filter :set_locale
- before_filter :require_user
+ before_action :authorize_web
+ before_action :set_locale
+
+ authorize_resource :class => ClientApplication
def index
- @client_applications = @user.client_applications
- @tokens = @user.oauth_tokens.find :all, :conditions => 'oauth_tokens.invalidated_at is null and oauth_tokens.authorized_at is not null'
+ @client_applications = current_user.client_applications
+ @tokens = current_user.oauth_tokens.authorized
end
- def new
- @client_application = ClientApplication.new
+ def show
+ @client_application = current_user.client_applications.find(params[:id])
+ rescue ActiveRecord::RecordNotFound
+ @type = "client application"
+ render :action => "not_found", :status => :not_found
end
- def create
- @client_application = @user.client_applications.build(params[:client_application])
- if @client_application.save
- flash[:notice] = "Registered the information successfully"
- redirect_to :action => "show", :id => @client_application.id
+ def new
+ if Settings.oauth_10_registration
+ @client_application = ClientApplication.new
else
- render :action => "new"
+ flash[:error] = t ".disabled"
+ redirect_to :action => "index"
end
end
- def show
- @client_application = @user.client_applications.find(params[:id])
+ def edit
+ @client_application = current_user.client_applications.find(params[:id])
rescue ActiveRecord::RecordNotFound
@type = "client application"
render :action => "not_found", :status => :not_found
end
- def edit
- @client_application = @user.client_applications.find(params[:id])
+ def create
+ @client_application = current_user.client_applications.build(application_params)
+ if @client_application.save
+ flash[:notice] = t ".flash"
+ redirect_to :action => "show", :id => @client_application.id
+ else
+ render :action => "new"
+ end
end
def update
- @client_application = @user.client_applications.find(params[:id])
- if @client_application.update_attributes(params[:client_application])
- flash[:notice] = "Updated the client information successfully"
+ @client_application = current_user.client_applications.find(params[:id])
+ if @client_application.update(application_params)
+ flash[:notice] = t ".flash"
redirect_to :action => "show", :id => @client_application.id
else
render :action => "edit"
end
+ rescue ActiveRecord::RecordNotFound
+ @type = "client application"
+ render :action => "not_found", :status => :not_found
end
def destroy
- @client_application = @user.client_applications.find(params[:id])
+ @client_application = current_user.client_applications.find(params[:id])
@client_application.destroy
- flash[:notice] = "Destroyed the client application registration"
+ flash[:notice] = t ".flash"
redirect_to :action => "index"
+ rescue ActiveRecord::RecordNotFound
+ @type = "client application"
+ render :action => "not_found", :status => :not_found
+ end
+
+ private
+
+ def application_params
+ params.require(:client_application).permit(:name, :url, :callback_url, :support_url, ClientApplication.all_permissions)
end
end