aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorTeddy Wing2017-12-06 15:53:57 +0100
committerTeddy Wing2017-12-06 15:53:57 +0100
commitfc0c6de84a34d98d87b655e103c88c42e2f18661 (patch)
treec4aa6a32f835995f2b8313076bb72528f866fa69 /app
parent5ae238936d3c91e70709c2ec4ed8a73a6f4524dc (diff)
parent0bb71d8146126f4f2c53ca0c7145f0e7d5eaeda5 (diff)
downloadchouette-core-fc0c6de84a34d98d87b655e103c88c42e2f18661.tar.bz2
Merge remote-tracking branch 'origin/master' into 5024-prevent-duplicate-referentials-from-being-created-during-parallel-db-transactions--rb201711271659
Diffstat (limited to 'app')
-rw-r--r--app/controllers/api/v1/internals/application_controller.rb19
-rw-r--r--app/controllers/api/v1/internals/compliance_check_sets_controller.rb13
-rw-r--r--app/controllers/api/v1/internals/netex_imports_controller.rb2
-rw-r--r--app/models/compliance_check_set.rb2
-rw-r--r--app/models/netex_import.rb2
-rw-r--r--app/models/referential.rb1
-rw-r--r--app/views/compliance_control_sets/show.html.slim2
7 files changed, 32 insertions, 9 deletions
diff --git a/app/controllers/api/v1/internals/application_controller.rb b/app/controllers/api/v1/internals/application_controller.rb
index 77b74f5f6..ab9daf4f7 100644
--- a/app/controllers/api/v1/internals/application_controller.rb
+++ b/app/controllers/api/v1/internals/application_controller.rb
@@ -4,11 +4,24 @@ module Api
class ApplicationController < ActionController::Base
respond_to :json
layout false
- before_action :authenticate
+ before_action :require_token
+
+ def require_token
+ authenticate_token || render_unauthorized("Access denied")
+ end
+
+ protected
+
+ def render_unauthorized(message)
+ errors = { errors: [ { detail: message } ] }
+ render json: errors, status: :unauthorized
+ end
private
- def authenticate
- authenticate_with_http_token { |token| Rails.application.secrets.api_token == token }
+ def authenticate_token
+ authenticate_with_http_token do |token|
+ return true if Rails.application.secrets.api_token == token
+ end
end
end
end
diff --git a/app/controllers/api/v1/internals/compliance_check_sets_controller.rb b/app/controllers/api/v1/internals/compliance_check_sets_controller.rb
index db92c3fad..ccf1bcd2f 100644
--- a/app/controllers/api/v1/internals/compliance_check_sets_controller.rb
+++ b/app/controllers/api/v1/internals/compliance_check_sets_controller.rb
@@ -1,7 +1,7 @@
module Api
module V1
module Internals
- class ComplianceCheckSetsController < ApplicationController
+ class ComplianceCheckSetsController < Api::V1::Internals::ApplicationController
include ControlFlow
def validated
@@ -19,7 +19,9 @@ module Api
def notify_parent
find_compliance_check_set
- if @compliance_check_set.notify_parent && @compliance_check_set.parent
+ check_parent
+
+ if @compliance_check_set.notify_parent
render json: {
status: "ok",
message:"#{@compliance_check_set.parent_type} (id: #{@compliance_check_set.parent_id}) successfully notified at #{l(@compliance_check_set.notified_parent_at)}"
@@ -31,6 +33,13 @@ module Api
private
+ def check_parent
+ unless @compliance_check_set.parent
+ render json: {status: "error", message: I18n.t('compliance_check_sets.errors.no_parent') }
+ finish_action!
+ end
+ end
+
def find_compliance_check_set
@compliance_check_set = ComplianceCheckSet.find(params[:id])
rescue ActiveRecord::RecordNotFound
diff --git a/app/controllers/api/v1/internals/netex_imports_controller.rb b/app/controllers/api/v1/internals/netex_imports_controller.rb
index 89bc1b81d..c8e33f7b8 100644
--- a/app/controllers/api/v1/internals/netex_imports_controller.rb
+++ b/app/controllers/api/v1/internals/netex_imports_controller.rb
@@ -1,7 +1,7 @@
module Api
module V1
module Internals
- class NetexImportsController < ApplicationController
+ class NetexImportsController < Api::V1::Internals::ApplicationController
include ControlFlow
def create
diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb
index 7c55561af..020100f4a 100644
--- a/app/models/compliance_check_set.rb
+++ b/app/models/compliance_check_set.rb
@@ -23,8 +23,6 @@ class ComplianceCheckSet < ActiveRecord::Base
if parent
# parent.child_change
update(notified_parent_at: DateTime.now)
- else
- errors.add(:base, I18n.t('compliance_check_sets.errors.no_parent'))
end
end
diff --git a/app/models/netex_import.rb b/app/models/netex_import.rb
index a7a5bb9b8..b21af3408 100644
--- a/app/models/netex_import.rb
+++ b/app/models/netex_import.rb
@@ -27,7 +27,9 @@ class NetexImport < Import
end
def call_boiv_iev
+ Rails.logger.error("Begin IEV call for import")
Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}"))
+ Rails.logger.error("End IEV call for import")
rescue Exception => e
logger.error "IEV server error : #{e.message}"
logger.error e.backtrace.inspect
diff --git a/app/models/referential.rb b/app/models/referential.rb
index d090a3f7c..7aeb946c5 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -294,6 +294,7 @@ class Referential < ActiveRecord::Base
def create_schema
unless created_from
Apartment::Tenant.create slug
+ Rails.logger.error( "Schema migrations count for Referential #{slug} " + Referential.connection.select_value("select count(*) from #{slug}.schema_migrations;").to_s )
end
end
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 2291eda06..e6416fda4 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -104,4 +104,4 @@
cls: 'table has-filter has-search',
model: ComplianceControl
- = flotted_links @compliance_control_set.id
+ = flotted_links @compliance_control_set.id