aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/line_referentials_controller.rb3
-rw-r--r--app/models/line_referential.rb4
-rw-r--r--app/views/line_referentials/show.html.erb1
-rw-r--r--app/views/referentials/index.html.erb3
-rw-r--r--config/routes.rb1
-rw-r--r--db/migrate/20160510134254_create_line_referentials.rb9
-rw-r--r--db/schema.rb88
-rw-r--r--db/seeds.rb1
-rw-r--r--spec/controllers/line_referentials_controller_spec.rb5
-rw-r--r--spec/factories/line_referentials.rb5
-rw-r--r--spec/models/line_referential_spec.rb9
11 files changed, 103 insertions, 26 deletions
diff --git a/app/controllers/line_referentials_controller.rb b/app/controllers/line_referentials_controller.rb
new file mode 100644
index 000000000..0138bb67d
--- /dev/null
+++ b/app/controllers/line_referentials_controller.rb
@@ -0,0 +1,3 @@
+class LineReferentialsController < BreadcrumbController
+ defaults :resource_class => LineReferential
+end
diff --git a/app/models/line_referential.rb b/app/models/line_referential.rb
new file mode 100644
index 000000000..e4b0fd746
--- /dev/null
+++ b/app/models/line_referential.rb
@@ -0,0 +1,4 @@
+class LineReferential < ActiveRecord::Base
+
+ validates :name, presence: true
+end
diff --git a/app/views/line_referentials/show.html.erb b/app/views/line_referentials/show.html.erb
new file mode 100644
index 000000000..023e8160c
--- /dev/null
+++ b/app/views/line_referentials/show.html.erb
@@ -0,0 +1 @@
+<%= title_tag @line_referential.name %>
diff --git a/app/views/referentials/index.html.erb b/app/views/referentials/index.html.erb
index 51088dbd3..e4847b2a4 100644
--- a/app/views/referentials/index.html.erb
+++ b/app/views/referentials/index.html.erb
@@ -7,6 +7,9 @@
</div>
<% end %>
+<!-- FIXME #824 -->
+<%= link_to "Codifligne", line_referential_path(LineReferential.find_by(name: 'CodifLigne')) %>
+
<% content_for :sidebar do %>
<ul class="actions">
<!-- FIXME #823 -->
diff --git a/config/routes.rb b/config/routes.rb
index d9dbeb84a..19cb60538 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -43,6 +43,7 @@ ChouetteIhm::Application.routes.draw do
end
resources :stop_area_referentials
+ resources :line_referentials, :only => [:show]
resources :referentials do
resources :api_keys
diff --git a/db/migrate/20160510134254_create_line_referentials.rb b/db/migrate/20160510134254_create_line_referentials.rb
new file mode 100644
index 000000000..6bc49f081
--- /dev/null
+++ b/db/migrate/20160510134254_create_line_referentials.rb
@@ -0,0 +1,9 @@
+class CreateLineReferentials < ActiveRecord::Migration
+ def change
+ create_table :line_referentials do |t|
+ t.string :name
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 99448dd12..73f63a85e 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20160504160504) do
+ActiveRecord::Schema.define(version: 20160510134254) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -209,18 +209,6 @@ ActiveRecord::Schema.define(version: 20160504160504) do
t.integer "line_id", limit: 8
end
- create_table "jobs", force: true do |t|
- t.string "action"
- t.datetime "created"
- t.string "filename"
- t.text "parameters"
- t.string "referential"
- t.datetime "started"
- t.string "status"
- t.string "type"
- t.datetime "updated"
- end
-
create_table "journey_frequencies", force: true do |t|
t.integer "vehicle_journey_id", limit: 8
t.time "scheduled_headway_interval", null: false
@@ -249,7 +237,7 @@ ActiveRecord::Schema.define(version: 20160504160504) do
create_table "journey_patterns", force: true do |t|
t.integer "route_id", limit: 8
- t.string "objectid", null: false
+ t.string "objectid", null: false
t.integer "object_version"
t.datetime "creation_time"
t.string "creator_id"
@@ -259,12 +247,10 @@ ActiveRecord::Schema.define(version: 20160504160504) do
t.string "published_name"
t.integer "departure_stop_point_id", limit: 8
t.integer "arrival_stop_point_id", limit: 8
- t.integer "route_section_ids", default: [], array: true
- t.integer "section_status", default: 0, null: false
+ t.integer "section_status", default: 0, null: false
end
add_index "journey_patterns", ["objectid"], :name => "journey_patterns_objectid_key", :unique => true
- add_index "journey_patterns", ["route_section_ids"], :name => "index_journey_patterns_on_route_section_ids"
create_table "journey_patterns_stop_points", id: false, force: true do |t|
t.integer "journey_pattern_id", limit: 8
@@ -273,6 +259,12 @@ ActiveRecord::Schema.define(version: 20160504160504) do
add_index "journey_patterns_stop_points", ["journey_pattern_id"], :name => "index_journey_pattern_id_on_journey_patterns_stop_points"
+ create_table "line_referentials", force: true do |t|
+ t.string "name"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ end
+
create_table "lines", force: true do |t|
t.integer "network_id", limit: 8
t.integer "company_id", limit: 8
@@ -298,12 +290,6 @@ ActiveRecord::Schema.define(version: 20160504160504) do
add_index "lines", ["objectid"], :name => "lines_objectid_key", :unique => true
add_index "lines", ["registration_number"], :name => "lines_registration_number_key"
- create_table "links", id: false, force: true do |t|
- t.integer "job_id", limit: 8, null: false
- t.string "rel"
- t.string "type"
- end
-
create_table "networks", force: true do |t|
t.string "objectid", null: false
t.integer "object_version"
@@ -361,8 +347,8 @@ ActiveRecord::Schema.define(version: 20160504160504) do
end
create_table "route_sections", force: true do |t|
- t.integer "departure_id"
- t.integer "arrival_id"
+ t.integer "departure_id", limit: 8
+ t.integer "arrival_id", limit: 8
t.string "objectid", null: false
t.integer "object_version"
t.datetime "creation_time"
@@ -613,12 +599,62 @@ ActiveRecord::Schema.define(version: 20160504160504) do
add_index "vehicle_journeys", ["route_id"], :name => "index_vehicle_journeys_on_route_id"
Foreigner.load
+ add_foreign_key "access_links", "access_points", name: "aclk_acpt_fkey", dependent: :delete
+ add_foreign_key "access_links", "stop_areas", name: "aclk_area_fkey", dependent: :delete
+
+ add_foreign_key "access_points", "stop_areas", name: "access_area_fkey", dependent: :delete
+
+ add_foreign_key "connection_links", "stop_areas", name: "colk_endarea_fkey", column: "arrival_id", dependent: :delete
+ add_foreign_key "connection_links", "stop_areas", name: "colk_startarea_fkey", column: "departure_id", dependent: :delete
+
+ add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", dependent: :delete
+ add_foreign_key "group_of_lines_lines", "lines", name: "groupofline_line_fkey", dependent: :delete
+
add_foreign_key "journey_frequencies", "timebands", name: "journey_frequencies_timeband_id_fk", dependent: :nullify
add_foreign_key "journey_frequencies", "vehicle_journeys", name: "journey_frequencies_vehicle_journey_id_fk", dependent: :nullify
add_foreign_key "journey_pattern_sections", "journey_patterns", name: "journey_pattern_sections_journey_pattern_id_fk", dependent: :delete
add_foreign_key "journey_pattern_sections", "route_sections", name: "journey_pattern_sections_route_section_id_fk", dependent: :delete
- add_foreign_key "links", "jobs", name: "fk_n5ypxycc1stckgkm6ust2l6on"
+ add_foreign_key "journey_patterns", "routes", name: "jp_route_fkey", dependent: :delete
+ add_foreign_key "journey_patterns", "stop_points", name: "arrival_point_fkey", column: "arrival_stop_point_id", dependent: :nullify
+ add_foreign_key "journey_patterns", "stop_points", name: "departure_point_fkey", column: "departure_stop_point_id", dependent: :nullify
+
+ add_foreign_key "journey_patterns_stop_points", "journey_patterns", name: "jpsp_jp_fkey", dependent: :delete
+ add_foreign_key "journey_patterns_stop_points", "stop_points", name: "jpsp_stoppoint_fkey", dependent: :delete
+
+ add_foreign_key "lines", "companies", name: "line_company_fkey", dependent: :nullify
+ add_foreign_key "lines", "networks", name: "line_ptnetwork_fkey", dependent: :nullify
+
+ add_foreign_key "route_sections", "stop_areas", name: "route_sections_arrival_id_fk", column: "arrival_id", dependent: :delete
+ add_foreign_key "route_sections", "stop_areas", name: "route_sections_departure_id_fk", column: "departure_id", dependent: :delete
+
+ add_foreign_key "routes", "lines", name: "route_line_fkey", dependent: :delete
+ add_foreign_key "routes", "routes", name: "route_opposite_route_fkey", column: "opposite_route_id", dependent: :nullify
+
+ add_foreign_key "routing_constraints_lines", "lines", name: "routingconstraint_line_fkey", dependent: :delete
+ add_foreign_key "routing_constraints_lines", "stop_areas", name: "routingconstraint_stoparea_fkey", dependent: :delete
+
+ add_foreign_key "stop_areas", "stop_areas", name: "area_parent_fkey", column: "parent_id", dependent: :nullify
+
+ add_foreign_key "stop_areas_stop_areas", "stop_areas", name: "stoparea_child_fkey", column: "child_id", dependent: :delete
+ add_foreign_key "stop_areas_stop_areas", "stop_areas", name: "stoparea_parent_fkey", column: "parent_id", dependent: :delete
+
+ add_foreign_key "stop_points", "routes", name: "stoppoint_route_fkey", dependent: :delete
+ add_foreign_key "stop_points", "stop_areas", name: "stoppoint_area_fkey"
+
+ add_foreign_key "time_table_dates", "time_tables", name: "tm_date_fkey", dependent: :delete
+
+ add_foreign_key "time_table_periods", "time_tables", name: "tm_period_fkey", dependent: :delete
+
+ add_foreign_key "time_tables_vehicle_journeys", "time_tables", name: "vjtm_tm_fkey", dependent: :delete
+ add_foreign_key "time_tables_vehicle_journeys", "vehicle_journeys", name: "vjtm_vj_fkey", dependent: :delete
+
+ add_foreign_key "vehicle_journey_at_stops", "stop_points", name: "vjas_sp_fkey", dependent: :delete
+ add_foreign_key "vehicle_journey_at_stops", "vehicle_journeys", name: "vjas_vj_fkey", dependent: :delete
+
+ add_foreign_key "vehicle_journeys", "companies", name: "vj_company_fkey", dependent: :nullify
+ add_foreign_key "vehicle_journeys", "journey_patterns", name: "vj_jp_fkey", dependent: :delete
+ add_foreign_key "vehicle_journeys", "routes", name: "vj_route_fkey", dependent: :delete
end
diff --git a/db/seeds.rb b/db/seeds.rb
index ef65b4b6e..cf138896f 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -10,3 +10,4 @@ stif = Organisation.find_or_create_by(name: "STIF")
StopAreaReferential.find_or_create_by(name: "Reflex") do |referential|
referential.add_member stif, owner: true
end
+LineReferential.find_or_create_by(name: 'CodifLigne')
diff --git a/spec/controllers/line_referentials_controller_spec.rb b/spec/controllers/line_referentials_controller_spec.rb
new file mode 100644
index 000000000..6f8356507
--- /dev/null
+++ b/spec/controllers/line_referentials_controller_spec.rb
@@ -0,0 +1,5 @@
+require 'spec_helper'
+
+RSpec.describe LineReferentialsController, :type => :controller do
+
+end
diff --git a/spec/factories/line_referentials.rb b/spec/factories/line_referentials.rb
new file mode 100644
index 000000000..a7e02e9e3
--- /dev/null
+++ b/spec/factories/line_referentials.rb
@@ -0,0 +1,5 @@
+FactoryGirl.define do
+ factory :line_referential do
+ sequence(:name) { |n| "StopArea Referential #{n}" }
+ end
+end
diff --git a/spec/models/line_referential_spec.rb b/spec/models/line_referential_spec.rb
new file mode 100644
index 000000000..70c005017
--- /dev/null
+++ b/spec/models/line_referential_spec.rb
@@ -0,0 +1,9 @@
+require 'spec_helper'
+
+RSpec.describe LineReferential, :type => :model do
+ it 'should have a valid factory' do
+ expect(FactoryGirl.build(:line_referential)).to be_valid
+ end
+
+ it { should validate_presence_of(:name) }
+end