aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/registrations_controller.rb2
-rw-r--r--app/controllers/stop_area_copies_controller.rb2
-rw-r--r--app/helpers/routes_helper.rb1
-rw-r--r--app/helpers/rule_parameter_sets_helper.rb23
-rw-r--r--app/helpers/users_helper.rb8
-rw-r--r--app/models/rule_parameter_set.rb120
-rw-r--r--app/models/stop_area_copy.rb16
-rw-r--r--app/views/devise/mailer/invitation_instructions.fr.html.erb2
-rw-r--r--app/views/devise/passwords/edit.html.erb4
-rw-r--r--app/views/devise/passwords/new.html.erb4
-rw-r--r--app/views/help/group_of_lines.textile1
-rw-r--r--app/views/help/index.textile2
-rw-r--r--app/views/help/routes.textile16
-rw-r--r--app/views/layouts/_user_links.erb2
-rw-r--r--app/views/layouts/mailer.html.erb2
-rw-r--r--app/views/rule_parameter_sets/_column_fields.html.erb11
-rw-r--r--app/views/rule_parameter_sets/_form.html.erb34
-rw-r--r--app/views/rule_parameter_sets/show.html.erb73
18 files changed, 282 insertions, 41 deletions
diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb
index b02d3217a..f563fbb03 100644
--- a/app/controllers/registrations_controller.rb
+++ b/app/controllers/registrations_controller.rb
@@ -6,7 +6,7 @@
def accept_user_creation
if !Rails.application.config.accept_user_creation
- redirect_to root_path
+ redirect_to unauthenticated_root_path
return false
else
return true
diff --git a/app/controllers/stop_area_copies_controller.rb b/app/controllers/stop_area_copies_controller.rb
index 7c1fac8d9..fb429595e 100644
--- a/app/controllers/stop_area_copies_controller.rb
+++ b/app/controllers/stop_area_copies_controller.rb
@@ -18,7 +18,7 @@ class StopAreaCopiesController < ChouetteController
@stop_area_copy = StopAreaCopy.new(params[:stop_area_copy])
@stop_area = parent
if @stop_area_copy.save
- redirect_to referential_stop_area_path( @referential,parent ), notice: I18n.t("stop_area_copies.new.success")
+ redirect_to referential_stop_area_path( @referential,@stop_area_copy.copy ), notice: I18n.t("stop_area_copies.new.success")
else
flash[:error] = I18n.t("stop_area_copies.errors.copy_aborted") + "<br>" + @stop_area_copy.errors.full_messages.join("<br>")
render :action => :new
diff --git a/app/helpers/routes_helper.rb b/app/helpers/routes_helper.rb
index bbb611506..b3d79262e 100644
--- a/app/helpers/routes_helper.rb
+++ b/app/helpers/routes_helper.rb
@@ -14,4 +14,3 @@ module RoutesHelper
end
end
-
diff --git a/app/helpers/rule_parameter_sets_helper.rb b/app/helpers/rule_parameter_sets_helper.rb
new file mode 100644
index 000000000..538a5cddd
--- /dev/null
+++ b/app/helpers/rule_parameter_sets_helper.rb
@@ -0,0 +1,23 @@
+module RuleParameterSetsHelper
+
+ def unique( value)
+ return t("true") if value == "1"
+ t "false"
+ end
+
+ def pattern(value)
+ return t("rule_parameter_sets.labels.free_char") if value == "0"
+ return t("rule_parameter_sets.labels.num_char") if value == "1"
+ return t("rule_parameter_sets.labels.alpha_char") if value == "2"
+ return t("rule_parameter_sets.labels.upper_char") if value == "3"
+ return t("rule_parameter_sets.labels.lower_char") if value == "4"
+ end
+
+ def boolean_value(value)
+ return t("true") if value == "1"
+ t "false"
+ end
+
+end
+
+
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index 0dfc1552f..11fd7af34 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -4,6 +4,14 @@ module UsersHelper
image_tag user_image(user), :alt => "", :class => "preview", :width => size, :height => size
end
+# def user_default_avatar
+# return "#{authenticated_root_url}#{image_path('icons/user.png')}" if Rails.application.config.relative_url_root.blank?
+# relative_url_root = Rails.application.config.relative_url_root.gsub( /\//, '')
+# "#{authenticated_root_url}#{image_path('icons/user.png')}".
+# sub( Regexp.new("/#{relative_url_root}/#{relative_url_root}/"), "/#{relative_url_root}/").
+# sub( Regexp.new("/#{relative_url_root}//#{relative_url_root}/"), "/#{relative_url_root}/")
+# end
+
def gravatar_hash(user)
Digest::MD5.hexdigest( user.email)
end
diff --git a/app/models/rule_parameter_set.rb b/app/models/rule_parameter_set.rb
index 0c7a98300..01c2e48a6 100644
--- a/app/models/rule_parameter_set.rb
+++ b/app/models/rule_parameter_set.rb
@@ -16,8 +16,43 @@ class RuleParameterSet < ActiveRecord::Base
inter_connection_link_distance_max walk_default_speed_max
walk_occasional_traveller_speed_max walk_frequent_traveller_speed_max walk_mobility_restricted_traveller_speed_max
inter_access_link_distance_max inter_stop_duration_max facility_stop_area_distance_max
- vehicle_journey_number_max vehicle_journey_number_min check_allowed_transport_modes)
+ check_allowed_transport_modes check_lines_in_groups check_line_routes
+ check_stop_parent check_connection_link_on_physical)
end
+
+ def self.validable_objects
+ [Chouette::Network,Chouette::Company,Chouette::GroupOfLine,
+ Chouette::StopArea,Chouette::AccessPoint,Chouette::AccessLink,Chouette::ConnectionLink,
+ Chouette::TimeTable,Chouette::Line,Chouette::Route,
+ Chouette::JourneyPattern,Chouette::VehicleJourney]
+ end
+
+ def self.validable_object_names
+ ["network","company","group_of_line",
+ "stop_area","access_point","access_link","connection_link",
+ "time_table","line","route",
+ "journey_pattern","vehicle_journey"]
+ end
+
+ def self.validable_columns
+ {"network" => ['objectid','name','registration_number'],
+ "company" => ['objectid','name','registration_number'],
+ "group_of_line" => ['objectid','name','registration_number'],
+ "stop_area" => ['objectid','name','registration_number','city_name','country_code','zip_code'],
+ "access_point" => ['objectid','name','city_name','country_code','zip_code'],
+ "access_link" => ['objectid','name','link_distance','default_duration'],
+ "connection_link" => ['objectid','name','link_distance','default_duration'],
+ "time_table" => ['objectid','comment','version'],
+ "line" => ['objectid','name','registration_number','number','published_name'],
+ "route" => ['objectid','name','number','published_name'],
+ "journey_pattern" => ['objectid','name','registration_number','published_name'],
+ "vehicle_journey" => ['objectid','published_journey_name','published_journey_identifier','number'] }
+ end
+
+ def self.column_attribute_prefixes
+ %w( unique pattern min_size max_size )
+ end
+
def self.all_modes
Chouette::TransportMode.all.map { |m| m.to_s}
end
@@ -28,6 +63,14 @@ class RuleParameterSet < ActiveRecord::Base
mode_attribute_prefixes.include?( $1) && self.class.all_modes.include?( $2)
end
+
+ def self.column_attribute?( method_name )
+ pattern = /(\w+)_column_(\w+)_object_(\w+)/
+ return false unless method_name.match( pattern)
+ return false unless validable_object_names.include?($3)
+ column_attribute_prefixes.include?( $1) && validable_columns[$3].include?( $2)
+ end
+
def self.mode_of_mode_attribute( method_name )
method_name.match( /(\w+)_mode_(\w+)/)
$2
@@ -37,6 +80,20 @@ class RuleParameterSet < ActiveRecord::Base
$1
end
+ def self.object_of_column_attribute( method_name )
+ method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
+ $3
+ end
+ def self.column_of_column_attribute( method_name )
+ method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
+ $2
+ end
+ def self.attribute_of_column_attribute( method_name )
+ method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
+ $1
+ end
+
+
def self.mode_parameter(name)
name = name.to_s
attr_accessible name
@@ -52,6 +109,37 @@ class RuleParameterSet < ActiveRecord::Base
((self.parameters ||= {})["mode_#{mode}"] ||= {})[attribute_name] = prefix
end
end
+
+ def self.column_parameter(obj,column,prefix)
+ name = "#{prefix}_column_#{column}_object_#{obj}"
+ attr_accessible name
+ define_method(name) do
+ attribute_name, column, obj = prefix, column, obj
+ self.parameters and self.parameters[obj] and
+ self.parameters[obj][column] and self.parameters[obj][column][attribute_name]
+ end
+
+ define_method("#{name}=") do |key|
+ attribute_name, column, obj = prefix, column, obj
+ (((self.parameters ||= {})[obj] ||= {})[column]||= {})[attribute_name] = key
+ end
+
+ end
+
+ def self.object_parameter(clazz)
+ name = clazz.table_name.singularize
+ attr_accessible name
+
+ parameter "check_#{clazz.table_name.singularize}"
+ validable_columns[name].each do |column|
+ column_attribute_prefixes.each do |prefix|
+ column_parameter name,column,prefix
+ end
+
+ end
+
+ end
+
def self.parameter(name)
name = name.to_s
attr_accessible name
@@ -77,7 +165,11 @@ class RuleParameterSet < ActiveRecord::Base
:inter_access_link_distance_max => 300,
:inter_stop_duration_max => 40,
:facility_stop_area_distance_max => 300,
- :check_allowed_transport_modes => false
+ :check_allowed_transport_modes => false,
+ :check_lines_in_groups => false,
+ :check_line_routes => false,
+ :check_stop_parent => false,
+ :check_connection_link_on_physical => false
}
if mode && self.mode_default_params[ mode.to_sym]
base.merge!( self.mode_default_params[ mode.to_sym])
@@ -231,21 +323,41 @@ class RuleParameterSet < ActiveRecord::Base
def allowed(mode)
return true unless self.check_allowed_transport_modes
- puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
+ # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
return self.send("allowed_transport_mode_#{mode}") == "1"
end
+
+ def selected(object)
+ # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
+ return self.send("check_#{object}") == "1"
+ end
+
+ def selected_column(object,column)
+ # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
+ return self.send("unique_column_#{column}_object_#{object}") == "1" ||
+ self.send("pattern_column_#{column}_object_#{object}") != "0" ||
+ !self.send("min_size_column_#{column}_object_#{object}").empty? ||
+ !self.send("max_size_column_#{column}_object_#{object}").empty?
+ end
+
all_modes.each do |mode|
mode_attribute_prefixes.each do |prefix|
mode_parameter "#{prefix}_mode_#{mode}".to_sym
end
end
-
+
general_attributes.each do |attribute|
parameter attribute.to_sym
unless attribute == "stop_areas_area" || attribute == "check_allowed_transport_modes"
validates attribute.to_sym, :numericality => true, :allow_nil => true, :allow_blank => true
end
end
+
+
+ validable_objects.each do |obj|
+ object_parameter obj
+ end
+
end
diff --git a/app/models/stop_area_copy.rb b/app/models/stop_area_copy.rb
index 796aba567..041d30eb9 100644
--- a/app/models/stop_area_copy.rb
+++ b/app/models/stop_area_copy.rb
@@ -5,7 +5,7 @@ class StopAreaCopy
include ActiveModel::Conversion
extend ActiveModel::Naming
- attr_accessor :source_id, :hierarchy, :area_type, :source
+ attr_accessor :source_id, :hierarchy, :area_type, :source, :copy
validates_presence_of :source_id, :hierarchy, :area_type
@@ -40,17 +40,17 @@ class StopAreaCopy
begin
if self.valid?
self.source ||= Chouette::StopArea.find self.source_id
- copy = source.duplicate
- copy.name = source.name
- copy.area_type = self.area_type.camelcase
+ self.copy = source.duplicate
+ self.copy.name = source.name
+ self.copy.area_type = self.area_type.camelcase
Chouette::StopArea.transaction do
if self.hierarchy == "child"
- copy.parent_id = source.id
+ self.copy.parent_id = source.id
end
- copy.save!
+ self.copy.save!
if self.hierarchy == "parent"
- source.parent_id = copy.id
- source.save!
+ self.source.parent_id = copy.id
+ self.source.save!
end
end
true
diff --git a/app/views/devise/mailer/invitation_instructions.fr.html.erb b/app/views/devise/mailer/invitation_instructions.fr.html.erb
index 7ef4e6c99..c932763f2 100644
--- a/app/views/devise/mailer/invitation_instructions.fr.html.erb
+++ b/app/views/devise/mailer/invitation_instructions.fr.html.erb
@@ -1,6 +1,6 @@
<p>Bonjour <%= @resource.email %>,</p>
-<p>Ce message est une invitation pour accéder à <%= link_to nil, root_url %>, vous pouvez l'accepter en cliquant sur le lien suivant :</p>
+<p>Ce message est une invitation pour accéder à <%= link_to nil, unauthenticated_root_url %>, vous pouvez l'accepter en cliquant sur le lien suivant :</p>
<p><%= link_to "Accepter l'invitation", accept_invitation_url(@resource, :invitation_token => @resource.invitation_token) %></p>
diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb
index e0cad44a2..0c5ba77cf 100644
--- a/app/views/devise/passwords/edit.html.erb
+++ b/app/views/devise/passwords/edit.html.erb
@@ -8,8 +8,8 @@
<%= f.input :password, :as => :password %>
<%= f.input :password_confirmation, :as => :password %>
- <div class="submit">
- <%= link_to t("cancel"), root_path, :class => "btn btn-default" %>
+ <div class="col-md-offset-2">
+ <%= link_to t("cancel"), unauthenticated_root_path, :class => "btn btn-default" %>
<%= f.button :submit, :value => t("devise.passwords.edit.commit"), :class => "btn-info" %>
</div>
<% end %>
diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb
index 8f5ec0f10..498e24c4c 100644
--- a/app/views/devise/passwords/new.html.erb
+++ b/app/views/devise/passwords/new.html.erb
@@ -5,8 +5,8 @@
<%= simple_form_for(resource, :as => resource_name, :url => password_path(resource_name)) do |form| %>
<%= form.input :email, :as => :email, placeholder: 'user@domain.com' %>
- <div class="submit">
- <%= link_to t("cancel"), root_path, :class => "btn btn-default" %>
+ <div class="col-md-offset-2">
+ <%= link_to t("cancel"), unauthenticated_root_path, :class => "btn btn-default" %>
<%= form.button :submit, :value => t("devise.passwords.new.commit"), :class => "btn-info" %>
</div>
<% end %>
diff --git a/app/views/help/group_of_lines.textile b/app/views/help/group_of_lines.textile
index 9ab7d440a..8fd05c7ea 100644
--- a/app/views/help/group_of_lines.textile
+++ b/app/views/help/group_of_lines.textile
@@ -46,6 +46,7 @@ h3. Attributs d'un groupe de lignes
* Nom : nom du groupe de lignes
* Commentaire : Champs de saisie libre pour identifier l'usage du groupe de lignes.
+* Numéro d'enregistrement : Le numéro d'enregistrement est unique. Aucune règle de nommage ne s'applique sur ce numéro. Celui-ci doit être unique sur l'ensemble des groupes de lignes.
diff --git a/app/views/help/index.textile b/app/views/help/index.textile
index 19eeb63e2..b0d2fddcf 100644
--- a/app/views/help/index.textile
+++ b/app/views/help/index.textile
@@ -28,7 +28,7 @@ h4. Version 2.5.2
* Nouvelles foctionnalités :
** Ajout des particularités de monté/descente aux arrêts d'une séquence
-** Ajout de tests sur les données pour l'export
+** Ajout de points de contrôle sur les données pour l'export
h4. Version 2.5.1
diff --git a/app/views/help/routes.textile b/app/views/help/routes.textile
index eb1093340..0396898ae 100644
--- a/app/views/help/routes.textile
+++ b/app/views/help/routes.textile
@@ -47,6 +47,22 @@ On peut modifier une séquence d'arrêts en cliquant sur le bouton de modificati
!2014-10-31_112543.png!
Modification des arrêts d'une séquence
+h3. Contraintes de montée - descente
+
+On peut ajouter des règles de montée ou de descente aux arrêts de la séquence d'arrêt (interdit ou à la demande); ces règles s'appliquent à toutes les courses de la séquence d'arrêt
+
+Les règles sont :
+
+* Non défini (par défaut)
+* Montée autorisée
+* Montée interdite
+* Montée sur réservation
+* Montée sur demande au conducteur
+* Descente autorisée
+* Descente interdite
+* Descente sur réservation
+* Descente sur demande au conducteur
+
h3. Supprimer une séquence d'arrêts
Il est possible de supprimer une séquence d'arrêts depuis la page de la ligne. Chaque élément de la liste des séquences d'arrêts en bas de la page est dotée d'un pictogramme de suppression. Il est à noter que la suppression de la séquence d'arrêts ne supprime par les arrêts qu'elle contient.
diff --git a/app/views/layouts/_user_links.erb b/app/views/layouts/_user_links.erb
index 404f52172..bd9196b3f 100644
--- a/app/views/layouts/_user_links.erb
+++ b/app/views/layouts/_user_links.erb
@@ -1,5 +1,5 @@
<ul class="user">
- <li class="home"><%= link_to t('layouts.home'), root_path %></li>
+ <li class="home"><%= link_to t('layouts.home'), authenticated_root_path %></li>
<% if user_signed_in? %>
<li> | </li>
diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb
index 387221103..ac00bdfea 100644
--- a/app/views/layouts/mailer.html.erb
+++ b/app/views/layouts/mailer.html.erb
@@ -18,7 +18,7 @@
</div>
<div style="color: #333333; text-align:center; font-size: 10px;">
- Envoyé par <%= link_to root_url, "Chouette" %>
+ Envoyé par <%= link_to "Chouette", unauthenticated_root_url %>
</div>
</body>
</html>
diff --git a/app/views/rule_parameter_sets/_column_fields.html.erb b/app/views/rule_parameter_sets/_column_fields.html.erb
new file mode 100644
index 000000000..abb2af4a8
--- /dev/null
+++ b/app/views/rule_parameter_sets/_column_fields.html.erb
@@ -0,0 +1,11 @@
+ <td></td>
+ <td><%= t("activerecord.attributes.#{obj.table_name.singularize}.#{column}") %></td>
+ <% suffix = "column_#{column}_object_#{obj.table_name.singularize}"%>
+ <td> <%= f.check_box "unique_#{suffix}".to_sym, :class => "special" %></td>
+ <% if obj.columns_hash[column].type == :string %>
+ <td><%= f.select "pattern_#{suffix}".to_sym, options_for_select([[t("rule_parameter_sets.labels.free_char"), "0"], [t("rule_parameter_sets.labels.num_char"), "1"], [t("rule_parameter_sets.labels.alpha_char"), "2"], [t("rule_parameter_sets.labels.upper_char"), "3"], [t("rule_parameter_sets.labels.lower_char"), "4"]]) %></td>
+ <% else %>
+ <td><%= t "rule_parameter_sets.labels.num_char" %></td>
+ <% end %>
+ <td><%= f.number_field "min_size_#{suffix}".to_sym, :class => "special" %></td>
+ <td><%= f.number_field "max_size_#{suffix}".to_sym, :class => "special" %></td>
diff --git a/app/views/rule_parameter_sets/_form.html.erb b/app/views/rule_parameter_sets/_form.html.erb
index 90d6850fb..abe4b0c96 100644
--- a/app/views/rule_parameter_sets/_form.html.erb
+++ b/app/views/rule_parameter_sets/_form.html.erb
@@ -15,11 +15,14 @@
<%= form.input :inter_stop_duration_max, :as => :number %>
<%= form.input :facility_stop_area_distance_max, :as => :number %>
- <%= form.input :vehicle_journey_number_min, :as => :number %>
- <%= form.input :vehicle_journey_number_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>
<th><%= t("transport_modes.name") %></th>
<% RuleParameterSet.mode_attribute_prefixes.each do |prefix| %>
@@ -31,12 +34,39 @@
<% end %>
<% end %>
</tr>
+ </thead>
+ <tbody>
<% Chouette::Line.transport_modes.map(&:to_s).each do |mode| %>
<tr>
<%= render :partial => "mode_fields", :locals => { :f => form, :mode => mode} %>
</tr>
<% end %>
+ </tbody>
</table>
+
+ <%= t("rule_parameter_sets.labels.columns_restrictions") %>
+ <table class="table table-bordered table-condensed">
+ <% RuleParameterSet.validable_objects.each do |obj| %>
+ <thead>
+ <tr>
+ <th> <%= form.check_box "check_#{obj.table_name.singularize}".to_sym, :class => "special" %> <%= t("activerecord.models.#{obj.table_name.singularize}.one") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("attribute") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("unique") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("string_type") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("min_size") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("max_size") %></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% RuleParameterSet.validable_columns[obj.table_name.singularize].each do |col| %>
+ <tr class="<%= "columns_for_#{obj.table_name}" %>">
+ <%= render :partial => "column_fields", :locals => { :f => form, :obj => obj, :column => col} %>
+ </tr>
+ <% end %>
+ </tbody>
+ <% end %>
+ </table>
+
<% end %>
<%= form.actions do %>
diff --git a/app/views/rule_parameter_sets/show.html.erb b/app/views/rule_parameter_sets/show.html.erb
index 66e002b94..e86aa47ac 100644
--- a/app/views/rule_parameter_sets/show.html.erb
+++ b/app/views/rule_parameter_sets/show.html.erb
@@ -68,26 +68,33 @@
<label><%= t(".inter_stop_duration_max") %>: </label>
<%= @rule_parameter_set.inter_stop_duration_max %>
</p>
- <% if @rule_parameter_set.vehicle_journey_number_min.present? && @rule_parameter_set.vehicle_journey_number_max.present? %>
- <div class="attributes_group" >
- <span class="title"><%= t(".vehicle_journey_number_bounds") %></span>
- <div class="columns">
- <div class="two_columns">
- <label><%= t(".min_value") %> : </label>
- <span class="value"><%= @rule_parameter_set.vehicle_journey_number_min %></span>
- </div>
- <div class="two_columns">
- <label><%= t(".max_value") %> : </label>
- <span class="value"><%= @rule_parameter_set.vehicle_journey_number_max %></span>
- </div>
- </div>
- </div>
- <% end %>
+
<p>
+ <label><%= RuleParameterSet.human_attribute_name("check_lines_in_groups") %>: </label>
+ <%= boolean_value(@rule_parameter_set.check_lines_in_groups)%>
+ </p>
+
+ <p>
+ <label><%= RuleParameterSet.human_attribute_name("check_line_routes") %>: </label>
+ <%= boolean_value(@rule_parameter_set.check_line_routes) %>
+ </p>
+
+ <p>
+ <label><%= RuleParameterSet.human_attribute_name("check_stop_parent") %>: </label>
+ <%= boolean_value(@rule_parameter_set.check_stop_parent) %>
+ </p>
+
+ <p>
+ <label><%= RuleParameterSet.human_attribute_name("check_connection_link_on_physical") %>: </label>
+ <%= boolean_value(@rule_parameter_set.check_connection_link_on_physical) %>
+ </p>
+
+ </p>
<label><%= RuleParameterSet.human_attribute_name("check_allowed_transport_modes") %>: </label>
- <%= @rule_parameter_set.check_allowed_transport_modes ? t("true") : t("false") %>
+ <%= boolean_value(@rule_parameter_set.check_allowed_transport_modes) %>
</p>
+
<div class="rule_parameter_by_mode">
<label><%= t(".rule_parameter_by_mode") %>
<%= t(".modes_allowed") if @rule_parameter_set.check_allowed_transport_modes %>
@@ -116,6 +123,40 @@
<% end %>
</table>
</div>
+ <div class="rule_parameter_by_object">
+ <label><%= t("rule_parameter_sets.labels.columns_restrictions") %> </label>
+ <table class="table table-bordered table-condensed">
+ <% RuleParameterSet.validable_objects.each do |obj| %>
+ <% if @rule_parameter_set.selected(obj.table_name.singularize) %>
+ <thead>
+ <tr>
+ <th> <%= t("activerecord.models.#{obj.table_name.singularize}.one") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("attribute") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("unique") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("string_type") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("min_size") %></th>
+ <th><%= RuleParameterSet.human_attribute_name("max_size") %></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% RuleParameterSet.validable_columns[obj.table_name.singularize].each do |col| %>
+ <% if @rule_parameter_set.selected_column(obj.table_name.singularize,col)%>
+ <tr>
+ <td></td>
+ <td><%= t("activerecord.attributes.#{obj.table_name.singularize}.#{col}") %></td>
+ <% suffix = "column_#{col}_object_#{obj.table_name.singularize}"%>
+ <td><%= unique(@rule_parameter_set.send "unique_#{suffix}".to_sym) %></td>
+ <td><%= pattern(@rule_parameter_set.send "pattern_#{suffix}".to_sym) %></td>
+ <td><%= @rule_parameter_set.send "min_size_#{suffix}".to_sym %></td>
+ <td><%= @rule_parameter_set.send "max_size_#{suffix}".to_sym %></td>
+ </tr>
+ <% end %>
+ <% end %>
+ </tbody>
+ <% end %>
+ <% end %>
+ </table>
+ </div>
</div>
</div>