diff options
author | Alex Legler <a3li@gentoo.org> | 2012-08-27 22:25:11 +0200 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2012-08-27 22:25:11 +0200 |
commit | 2fd3f5d97a0c8a38d9d09f8bc09517bd93728dd0 (patch) | |
tree | 8e35ef2a417a6e87b15bfd6e5492b7c057ca55c7 | |
parent | Portage lib: Add helper to find out whether a package has ebuilds in the tree (diff) | |
download | glsamaker-api.tar.gz glsamaker-api.tar.bz2 glsamaker-api.zip |
API: Setup and first function: Create requestapi
-rw-r--r-- | app/controllers/api/glsa_controller.rb | 22 | ||||
-rw-r--r-- | app/helpers/api/glsa_helper.rb | 2 | ||||
-rw-r--r-- | app/views/api/glsa/create_request.html.erb | 2 | ||||
-rw-r--r-- | config/routes.rb | 2 | ||||
-rw-r--r-- | test/functional/api/glsa_controller_test.rb | 9 | ||||
-rw-r--r-- | test/unit/helpers/api/glsa_helper_test.rb | 4 |
6 files changed, 41 insertions, 0 deletions
diff --git a/app/controllers/api/glsa_controller.rb b/app/controllers/api/glsa_controller.rb new file mode 100644 index 0000000..7645dfd --- /dev/null +++ b/app/controllers/api/glsa_controller.rb @@ -0,0 +1,22 @@ +class Api::GlsaController < ApplicationController + layout false + + # Limited to creating requests for now + def create + @glsa = nil + + if params[:type] == 'request' + @glsa = Glsa.new_request(params[:title], params[:bugs], params[:comment], params[:access], (params[:import_references].to_i == 1), current_user) + Glsamaker::Mail.request_notification(@glsa, current_user) + end + + respond_to do |format| + if @glsa and @glsa.save + format.json { render :json => @glsa, :status => :created } + else + format.json { render :json => @glsa ? @glsa.errors : ['error: unknown action'], :status => :unprocessable_entity } + end + end + end + +end diff --git a/app/helpers/api/glsa_helper.rb b/app/helpers/api/glsa_helper.rb new file mode 100644 index 0000000..22f2ceb --- /dev/null +++ b/app/helpers/api/glsa_helper.rb @@ -0,0 +1,2 @@ +module Api::GlsaHelper +end diff --git a/app/views/api/glsa/create_request.html.erb b/app/views/api/glsa/create_request.html.erb new file mode 100644 index 0000000..7ac0448 --- /dev/null +++ b/app/views/api/glsa/create_request.html.erb @@ -0,0 +1,2 @@ +<h1>Api::Glsa#create_request</h1> +<p>Find me in app/views/api/glsa/create_request.html.erb</p> diff --git a/config/routes.rb b/config/routes.rb index 1b46f3e..ce16275 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,6 +9,8 @@ Glsamaker::Application.routes.draw do match 'admin' => 'admin/index#index' + match 'api/glsa/create_request' => 'api/glsa#create_request' + resources :glsas, :controller => 'glsa' do resources :comments resources :bugs diff --git a/test/functional/api/glsa_controller_test.rb b/test/functional/api/glsa_controller_test.rb new file mode 100644 index 0000000..d214f08 --- /dev/null +++ b/test/functional/api/glsa_controller_test.rb @@ -0,0 +1,9 @@ +require 'test_helper' + +class Api::GlsaControllerTest < ActionController::TestCase + test "should get create_request" do + get :create_request + assert_response :success + end + +end diff --git a/test/unit/helpers/api/glsa_helper_test.rb b/test/unit/helpers/api/glsa_helper_test.rb new file mode 100644 index 0000000..b651f0f --- /dev/null +++ b/test/unit/helpers/api/glsa_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class Api::GlsaHelperTest < ActionView::TestCase +end |