aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/referentials_controller.rb4
-rw-r--r--app/controllers/rule_parameter_sets_controller.rb37
-rw-r--r--app/helpers/breadcrumb_helper.rb45
-rw-r--r--app/models/organisation.rb6
-rw-r--r--app/models/referential.rb8
-rw-r--r--app/models/rule_parameter_set.rb16
-rw-r--r--app/views/compliance_check_tasks/index.html.erb2
-rw-r--r--app/views/organisations/edit.html.erb2
-rw-r--r--app/views/organisations/show.html.erb44
-rw-r--r--app/views/referentials/_form.erb1
-rw-r--r--app/views/referentials/show.html.erb12
-rw-r--r--app/views/rule_parameter_sets/_form.html.erb8
-rw-r--r--app/views/rule_parameter_sets/_rule_parameter_set.html.erb14
-rw-r--r--app/views/rule_parameter_sets/index.html.erb2
-rw-r--r--app/views/rule_parameter_sets/show.html.erb12
15 files changed, 139 insertions, 74 deletions
diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb
index 9cf4a5f62..c1c5df386 100644
--- a/app/controllers/referentials_controller.rb
+++ b/app/controllers/referentials_controller.rb
@@ -1,7 +1,7 @@
class ReferentialsController < BreadcrumbController
defaults :resource_class => Referential
-
+
respond_to :html
respond_to :json, :only => :show
respond_to :js, :only => :show
@@ -17,7 +17,7 @@ class ReferentialsController < BreadcrumbController
:referential_id => resource.id}
}
format.html { build_breadcrumb :show}
-
+
end
end
diff --git a/app/controllers/rule_parameter_sets_controller.rb b/app/controllers/rule_parameter_sets_controller.rb
index a422bed15..f06de5cd0 100644
--- a/app/controllers/rule_parameter_sets_controller.rb
+++ b/app/controllers/rule_parameter_sets_controller.rb
@@ -1,29 +1,50 @@
-class RuleParameterSetsController < ChouetteController
+class RuleParameterSetsController < BreadcrumbController
defaults :resource_class => RuleParameterSet
respond_to :html
respond_to :js, :only => [ :mode ]
- belongs_to :referential
-
def new
- @rule_parameter_set = RuleParameterSet.default( @referential)
+ @rule_parameter_set = RuleParameterSet.default( current_organisation)
new! do
- build_breadcrumb :new
+ build_breadcrumb :new
end
end
def destroy
- if @referential.rule_parameter_sets.count == 1
+ if current_organisation.rule_parameter_sets.count == 1
flash[:alert] = "Suppression impossible, le referentiel doit compter au minimum un jeu de parametre."
- redirect_to referential_rule_parameter_sets_path( @referential )
+ redirect_to organisation_rule_parameter_sets_path
else
- destroy!
+ destroy! do |success, failure|
+ success.html { redirect_to organisation_rule_parameter_sets_path }
+ end
+ end
+ end
+
+ def update
+ update! do |success, failure|
+ success.html { redirect_to organisation_rule_parameter_sets_path }
+ end
+ end
+
+ def create
+ create! do |success, failure|
+ success.html { redirect_to organisation_rule_parameter_sets_path }
end
end
protected
alias_method :rule_parameter_set, :resource
+
+ def collection
+ @rule_parameter_sets = current_organisation.rule_parameter_sets
+ end
+
+ def create_resource(rule_parameter_sets)
+ rule_parameter_sets.organisation = current_organisation
+ super
+ end
end
diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb
index 34e03383c..b85dc3527 100644
--- a/app/helpers/breadcrumb_helper.rb
+++ b/app/helpers/breadcrumb_helper.rb
@@ -53,7 +53,7 @@ module BreadcrumbHelper
organisation_breadcrumb :index
end
end
-
+
def network_breadcrumb(action)
referential_breadcrumb
@@ -121,52 +121,53 @@ module BreadcrumbHelper
add_breadcrumb I18n.t("breadcrumbs.vehicle_journeys"), referential_line_route_vehicle_journeys_path(@referential, @line,@route) unless action == :index
add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journey_path(@referential, @line,@route,@vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit
end
-
+
def vehicle_journey_import_breadcrumb (action)
route_breadcrumb :edit
end
def company_breadcrumb (action)
- referential_breadcrumb
+ referential_breadcrumb
add_breadcrumb Chouette::Company.model_name.human(:count => 2), referential_companies_path(@referential) unless action == :index
add_breadcrumb breadcrumb_label(@company), referential_company_path(@referential, @company),:title => breadcrumb_tooltip(@company) if action == :edit
end
-
+
def import_breadcrumb (action)
- referential_breadcrumb
+ referential_breadcrumb
add_breadcrumb Referential.human_attribute_name("import_tasks"), referential_import_tasks_path(@referential) unless action == :index
end
-
+
def export_breadcrumb (action)
- referential_breadcrumb
+ referential_breadcrumb
add_breadcrumb Referential.human_attribute_name("exports"), referential_exports_path(@referential) unless action == :index
end
def compliance_breadcrumb (action)
- referential_breadcrumb
+ referential_breadcrumb
add_breadcrumb Referential.human_attribute_name("compliance_check_tasks"), referential_compliance_check_tasks_path(@referential) unless action == :index
add_breadcrumb breadcrumb_label(@compliance_check_task), referential_compliance_check_task_path(@referential, @compliance_check_task),:title => breadcrumb_tooltip(@compliance_check_task) if action == :edit
end
def rule_parameter_breadcrumb (action)
- referential_breadcrumb
- add_breadcrumb Referential.human_attribute_name("import_tasks"), referential_import_tasks_path(@referential)
- add_breadcrumb Referential.human_attribute_name("compliance_check_tasks"), referential_compliance_check_tasks_path(@referential)
- add_breadcrumb Referential.human_attribute_name("rule_parameter_sets"), referential_rule_parameter_sets_path(@referential) unless action == :index
+ organisation_breadcrumb
+ add_breadcrumb Referential.human_attribute_name("rule_parameter_sets"), organisation_path unless action == :index
+ add_breadcrumb breadcrumb_label(@rule_parameter_set), organisation_rule_parameter_set_path(@rule_parameter_set),:title => breadcrumb_tooltip(@rule_parameter_set) if action == :edit
end
def referential_breadcrumb (action = :edit)
organisation_breadcrumb
- add_breadcrumb breadcrumb_label(@referential), referential_path(@referential),:title => breadcrumb_tooltip(@referential) if action == :edit || action == :show || action == :update
+ if @referential
+ add_breadcrumb breadcrumb_label(@referential), referential_path(@referential),:title => breadcrumb_tooltip(@referential) if action == :edit || action == :show || action == :update
+ end
end
-
+
def organisation_breadcrumb (action = :index)
- add_breadcrumb I18n.t("breadcrumbs.referentials"), referentials_path
+ add_breadcrumb I18n.t("breadcrumbs.referentials"), referentials_path
add_breadcrumb breadcrumb_label(@organisation), organisation_path,:title => breadcrumb_tooltip(@organisation) unless action == :index
end
def user_breadcrumb (action)
- organisation_breadcrumb
+ organisation_breadcrumb
add_breadcrumb I18n.t("breadcrumbs.users"), organisation_path unless action == :index
add_breadcrumb breadcrumb_label(@user), organisation_user_path(@user),:title => breadcrumb_tooltip(@user) if action == :edit
end
@@ -176,14 +177,14 @@ module BreadcrumbHelper
if label.blank?
label = obj.class.model_name.human+" "+obj.id.to_s
end
-
+
if label.length > 20
label[0..16]+"..."
else
- label
+ label
end
end
-
+
def breadcrumb_tooltip(obj)
label = breadcrumb_name(obj)
if label.blank?
@@ -196,12 +197,12 @@ module BreadcrumbHelper
def breadcrumb_name(obj)
label = ""
- if obj.respond_to?('name')
+ if obj.respond_to?('name')
label = obj.name
- elsif obj.respond_to?('comment')
+ elsif obj.respond_to?('comment')
label = obj.comment
end
- label
+ label
end
end
diff --git a/app/models/organisation.rb b/app/models/organisation.rb
index f4b2e35f8..cd2691ace 100644
--- a/app/models/organisation.rb
+++ b/app/models/organisation.rb
@@ -2,6 +2,12 @@
class Organisation < ActiveRecord::Base
has_many :users, :dependent => :destroy
has_many :referentials, :dependent => :destroy
+ has_many :rule_parameter_sets, :dependent => :destroy
validates :name, :presence => true, :uniqueness => true
+
+ after_create :add_rule_parameter_set
+ def add_rule_parameter_set
+ RuleParameterSet.default_for_all_modes( self).save
+ end
end
diff --git a/app/models/referential.rb b/app/models/referential.rb
index 01dba95ab..c207b6441 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -18,7 +18,6 @@ class Referential < ActiveRecord::Base
attr_accessor :lower_corner
has_one :user
- has_many :rule_parameter_sets, :dependent => :destroy
has_many :import_tasks, :dependent => :destroy
has_many :compliance_check_tasks, :dependent => :destroy
has_many :exports, :dependent => :destroy
@@ -147,11 +146,6 @@ class Referential < ActiveRecord::Base
Apartment::Database.drop slug
end
- after_create :add_rule_parameter_set
- def add_rule_parameter_set
- RuleParameterSet.default_for_all_modes( self).save
- end
-
def upper_corner
envelope.upper_corner
end
@@ -208,7 +202,7 @@ Rails.application.config.after_initialize do
end
def hub_restricted?
- referential.organisation.hub_restrictions == true
+ referential.hub_restrictions == true
end
# override prefix for good prefix in objectid generation
diff --git a/app/models/rule_parameter_set.rb b/app/models/rule_parameter_set.rb
index 3eb74fdcf..cce5cf9b7 100644
--- a/app/models/rule_parameter_set.rb
+++ b/app/models/rule_parameter_set.rb
@@ -1,5 +1,4 @@
class RuleParameterSet < ActiveRecord::Base
- belongs_to :referential
belongs_to :organisation
#validates_presence_of :referential
@@ -7,7 +6,11 @@ class RuleParameterSet < ActiveRecord::Base
serialize :parameters, JSON
- attr_accessible :name, :referential_id, :organisation_id
+ attr_accessible :name, :organisation_id
+
+ # TODO: remove when migration deployed
+ # convert referential id to organisation id
+ attr_accessible :referential_id,
def self.mode_attribute_prefixes
%w( allowed_transport inter_stop_area_distance_min inter_stop_area_distance_max speed_max speed_min inter_stop_duration_variation_max)
@@ -308,16 +311,15 @@ class RuleParameterSet < ActiveRecord::Base
}
# :waterborne, :bus, :ferry, :walk, :metro, :shuttle, :rapidtransit, :taxi, :localtrain, :train, :longdistancetrain, :tramway, :trolleybus, :privatevehicle, :bicycle, :other
end
- def self.default( referential)
- self.default_for_all_modes( referential).tap do |rps|
+ def self.default( organisation)
+ self.default_for_all_modes( organisation).tap do |rps|
rps.name = ""
end
end
- def self.default_for_all_modes( referential)
+ def self.default_for_all_modes( organisation)
mode_attributes = mode_default_params.values.inject(self.default_params){|memo, obj| memo.merge! obj}
self.new(
- { :referential_id => referential.id,
- :stop_areas_area => referential.envelope.to_polygon.points.map(&:to_coordinates).to_json,
+ { :organisation_id => organisation.id,
:name => "valeurs par defaut"
}.merge( mode_attributes))
end
diff --git a/app/views/compliance_check_tasks/index.html.erb b/app/views/compliance_check_tasks/index.html.erb
index fe05b3cdc..6cddaeff7 100644
--- a/app/views/compliance_check_tasks/index.html.erb
+++ b/app/views/compliance_check_tasks/index.html.erb
@@ -6,6 +6,6 @@
<% content_for :sidebar do %>
<ul class="actions">
<li><%= link_to t('compliance_check_tasks.actions.new'), new_referential_compliance_check_task_path(), :class => "add" %></li>
- <li><%= link_to t('rule_parameter_sets.actions.index'), referential_rule_parameter_sets_path(@referential), :class => "link" %></li>
+ <li><%= link_to t('rule_parameter_sets.actions.index'), organisation_rule_parameter_sets_path, :class => "link" %></li>
</ul>
<% end %>
diff --git a/app/views/organisations/edit.html.erb b/app/views/organisations/edit.html.erb
index f37c2e7df..7c2d75f11 100644
--- a/app/views/organisations/edit.html.erb
+++ b/app/views/organisations/edit.html.erb
@@ -3,7 +3,7 @@
<%= semantic_form_for @organisation, :url => organisation_path do |form| %>
<%= form.inputs do %>
<%= form.input :name %>
- <%= form.input :hub_restrictions %>
+ <%= form.input :hub_restrictions_by_default %>
<% end %>
<%= form.actions do %>
diff --git a/app/views/organisations/show.html.erb b/app/views/organisations/show.html.erb
index 27b1eccb2..0eae19b91 100644
--- a/app/views/organisations/show.html.erb
+++ b/app/views/organisations/show.html.erb
@@ -2,19 +2,55 @@
<div class="summary">
<p>
-<label><%= Organisation.human_attribute_name("hub_restrictions") %>: </label>
-<%= @organisation.hub_restrictions %>
+<label><%= Organisation.human_attribute_name("hub_restrictions_by_default") %>: </label>
+<%= @organisation.hub_restrictions_by_default %>
</p>
</div>
-<div class="users paginated_content">
- <%= paginated_content(@organisation.users, "users/user") %>
+<div class="panel-group" id="accordion">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a data-toggle="collapse" data-parent="#accordion" href="#users">
+ <%= t('.users') %>
+ </a>
+ </h4>
+ </div>
+ <div id="users" class="panel-collapse collapse">
+ <div class="panel-body">
+ <div class="users paginated_content">
+ <%= paginated_content(@organisation.users, "users/user") %>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+<div class="panel-group" id="accordion">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a data-toggle="collapse" data-parent="#accordion" href="#rule_parameter_sets">
+ <%= t('.rule_parameter_sets') %>
+ </a>
+ </h4>
+ </div>
+ <div id="rule_parameter_sets" class="panel-collapse collapse">
+ <div class="panel-body">
+ <div class="rule_parameter_sets paginated_content">
+ <%= paginated_content(@organisation.rule_parameter_sets, "rule_parameter_sets/rule_parameter_set") %>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<% content_for :sidebar do %>
<ul class="actions">
<li><%= link_to t('organisations.actions.edit'), edit_organisation_path, :class => "edit" %></li>
<li><%= link_to t('users.actions.new'), new_organisation_user_path, :class => "add" %></li>
+ <li><%= link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, :class => "add" %></li>
</ul>
<% end %>
diff --git a/app/views/referentials/_form.erb b/app/views/referentials/_form.erb
index 814195dde..cd57a0549 100644
--- a/app/views/referentials/_form.erb
+++ b/app/views/referentials/_form.erb
@@ -14,6 +14,7 @@
<%= form.input :time_zone %>
<%= form.input :upper_corner, :input_html => { :title => t("formtastic.titles.referential.upper_corner")} %>
<%= form.input :lower_corner, :input_html => { :title => t("formtastic.titles.referential.lower_corner")} %>
+ <%= form.input :hub_restrictions %>
<% end %>
<%= form.actions do %>
diff --git a/app/views/referentials/show.html.erb b/app/views/referentials/show.html.erb
index d8e209c7f..1ce3fa072 100644
--- a/app/views/referentials/show.html.erb
+++ b/app/views/referentials/show.html.erb
@@ -20,6 +20,10 @@
<%= @referential.time_zone %>
</p>
<p>
+ <label><%= Referential.human_attribute_name("hub_restrictions") %>: </label>
+ <%= @referential.hub_restrictions %>
+ </p>
+ <p>
<label><%= Referential.human_attribute_name("validity_period") %>: </label>
<% if Chouette::TimeTable.start_validity_period.nil? %>
<%= Referential.human_attribute_name("no_validity_period") %>
@@ -30,10 +34,10 @@
<%= l Chouette::TimeTable.end_validity_period %>
<% end %>
</p>
-
+
<table width="100%">
<tr>
- <td valign="top" width="50%">
+ <td valign="top" width="50%">
<%= render "counts" %>
</td>
<td valign="top" >
@@ -43,12 +47,12 @@
</table>
<% if @referential.api_keys.present? %>
- <h3 class="api_keys"><%= t('.api_keys') %></h3>
+ <h3 class="api_keys"><%= t('.api_keys') %></h3>
<div class="api_keys paginated_content">
<%= paginated_content(@referential.api_keys, "api_keys/api_key") %>
</div>
<% end %>
-</div>
+</div>
<% content_for :sidebar do %>
<ul class="actions">
diff --git a/app/views/rule_parameter_sets/_form.html.erb b/app/views/rule_parameter_sets/_form.html.erb
index abe4b0c96..a2d1c2bc1 100644
--- a/app/views/rule_parameter_sets/_form.html.erb
+++ b/app/views/rule_parameter_sets/_form.html.erb
@@ -1,4 +1,4 @@
-<%= semantic_form_for [@referential, @rule_parameter_set] do |form| %>
+<%= semantic_form_for [ :organisation, @rule_parameter_set] do |form| %>
<%= form.inputs do %>
<%= form.input :name %>
<%= form.input :inter_stop_area_distance_min, :as => :number %>
@@ -14,13 +14,13 @@
<%= form.input :inter_access_link_distance_max, :as => :number %>
<%= form.input :inter_stop_duration_max, :as => :number %>
<%= form.input :facility_stop_area_distance_max, :as => :number %>
-
+
<%= form.input :check_lines_in_groups, :as => :boolean %>
<%= form.input :check_line_routes, :as => :boolean %>
<%= form.input :check_stop_parent, :as => :boolean %>
<%= form.input :check_connection_link_on_physical, :as => :boolean %>
<%= form.input :check_allowed_transport_modes, :as => :boolean %>
-
+
<table class="table table-striped table-condensed">
<thead>
<tr>
@@ -43,7 +43,7 @@
<% end %>
</tbody>
</table>
-
+
<%= t("rule_parameter_sets.labels.columns_restrictions") %>
<table class="table table-bordered table-condensed">
<% RuleParameterSet.validable_objects.each do |obj| %>
diff --git a/app/views/rule_parameter_sets/_rule_parameter_set.html.erb b/app/views/rule_parameter_sets/_rule_parameter_set.html.erb
index 3b9af4751..257b8e145 100644
--- a/app/views/rule_parameter_sets/_rule_parameter_set.html.erb
+++ b/app/views/rule_parameter_sets/_rule_parameter_set.html.erb
@@ -1,23 +1,23 @@
<div id="index_item" class="panel panel-default rule_parameter_set">
<div class="panel-heading">
<div class="panel-title clearfix">
- <span class="pull-right">
- <%= link_to edit_referential_rule_parameter_set_path(@referential, rule_parameter_set), :class => "btn btn-default btn-sm" do %>
+ <span class="pull-right">
+ <%= link_to edit_organisation_rule_parameter_set_path( rule_parameter_set), :class => "btn btn-default btn-sm" do %>
<span class="fa fa-pencil"></span>
<% end %>
- <% if @referential.rule_parameter_sets.size > 1 %>
- <%= link_to referential_rule_parameter_set_path(@referential, rule_parameter_set), :method => :delete, :data => {:confirm => t('rule_parameter_sets.actions.destroy_confirm')}, :class => "btn btn-danger btn-sm" do %>
+ <% if rule_parameter_set.organisation.rule_parameter_sets.size > 1 %>
+ <%= link_to organisation_rule_parameter_set_path( rule_parameter_set), :method => :delete, :data => {:confirm => t('rule_parameter_sets.actions.destroy_confirm')}, :class => "btn btn-danger btn-sm" do %>
<span class="fa fa-trash-o"></span>
<% end %>
<% end %>
</span>
<h5>
- <%= link_to([@referential, rule_parameter_set], :class => "preview", :title => "#{RuleParameterSet.model_name.human.capitalize} #{rule_parameter_set.name}") do %>
+ <%= link_to( organisation_rule_parameter_set_path( rule_parameter_set), :class => "preview", :title => "#{RuleParameterSet.model_name.human.capitalize} #{rule_parameter_set.name}") do %>
<span class="name">
- <%= truncate(rule_parameter_set.name, :length => 20) %>
+ <%= truncate(rule_parameter_set.name, :length => 20) %>
</span>
<% end %>
</h5>
- </div>
+ </div>
</div>
</div>
diff --git a/app/views/rule_parameter_sets/index.html.erb b/app/views/rule_parameter_sets/index.html.erb
index a92840529..0d091829a 100644
--- a/app/views/rule_parameter_sets/index.html.erb
+++ b/app/views/rule_parameter_sets/index.html.erb
@@ -4,6 +4,6 @@
<% content_for :sidebar do %>
<ul class="actions">
- <li><%= link_to t('rule_parameter_sets.actions.new'), new_referential_rule_parameter_set_path(@referential), :class => "add" %></li>
+ <li><%= link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, :class => "add" %></li>
</ul>
<% end %>
diff --git a/app/views/rule_parameter_sets/show.html.erb b/app/views/rule_parameter_sets/show.html.erb
index e86aa47ac..c00f92a40 100644
--- a/app/views/rule_parameter_sets/show.html.erb
+++ b/app/views/rule_parameter_sets/show.html.erb
@@ -68,7 +68,7 @@
<label><%= t(".inter_stop_duration_max") %>: </label>
<%= @rule_parameter_set.inter_stop_duration_max %>
</p>
-
+
<p>
<label><%= RuleParameterSet.human_attribute_name("check_lines_in_groups") %>: </label>
<%= boolean_value(@rule_parameter_set.check_lines_in_groups)%>
@@ -113,7 +113,7 @@
<tr>
<td><%= t("transport_modes.label.#{mode}") %></td>
<% RuleParameterSet.mode_attribute_prefixes.each do |prefix| %>
-
+
<% unless prefix == "allowed_transport" %>
<td><%= @rule_parameter_set.send "#{prefix}_mode_#{mode}" %></td>
<% end %>
@@ -162,11 +162,11 @@
<% content_for :sidebar do %>
<ul class="actions">
- <li><%= link_to t('rule_parameter_sets.actions.new'), new_referential_rule_parameter_set_path(@referential), :class => "add" %></li>
+ <li><%= link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, :class => "add" %></li>
<% if @rule_parameter_set.persisted? %>
- <li><%= link_to t('rule_parameter_sets.actions.edit'), edit_referential_rule_parameter_set_path(@referential, @rule_parameter_set), :class => "edit" %></li>
- <% if @referential.rule_parameter_sets.size > 1 %>
- <li><%= link_to t('rule_parameter_sets.actions.destroy'), referential_rule_parameter_set_path(@referential, @rule_parameter_set), :method => :delete, :data => {:confirm => t('rule_parameter_sets.actions.destroy_confirm')}, :class => "remove" %></li>
+ <li><%= link_to t('rule_parameter_sets.actions.edit'), edit_organisation_rule_parameter_set_path( @rule_parameter_set), :class => "edit" %></li>
+ <% if current_organisation.rule_parameter_sets.size > 1 %>
+ <li><%= link_to t('rule_parameter_sets.actions.destroy'), organisation_rule_parameter_set_path( @rule_parameter_set), :method => :delete, :data => {:confirm => t('rule_parameter_sets.actions.destroy_confirm')}, :class => "remove" %></li>
<% end %>
<% end %>
</ul>