diff options
| author | Alban Peignier | 2016-09-10 16:10:15 +0200 |
|---|---|---|
| committer | Alban Peignier | 2016-09-10 16:10:15 +0200 |
| commit | e616e9ff5e2e6dbee3ae8c0ed95087ed6f548877 (patch) | |
| tree | 4015e800e17cf3387d9ff7e4b8b1e5c4d4c804a0 /app/controllers | |
| parent | 3ba24b322bda549184315731e39ed15ec20a24d7 (diff) | |
| parent | 985c449f602a30c96fe5a80bdda018a562d02dd4 (diff) | |
| download | chouette-core-e616e9ff5e2e6dbee3ae8c0ed95087ed6f548877.tar.bz2 | |
Merge branch 'networks_line_referential_association'
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/networks_controller.rb | 22 | ||||
| -rw-r--r-- | app/controllers/referential_networks_controller.rb | 54 |
2 files changed, 67 insertions, 9 deletions
diff --git a/app/controllers/networks_controller.rb b/app/controllers/networks_controller.rb index 239f022b3..beced7e55 100644 --- a/app/controllers/networks_controller.rb +++ b/app/controllers/networks_controller.rb @@ -1,4 +1,6 @@ -class NetworksController < ChouetteController +class NetworksController < BreadcrumbController + include ApplicationHelper + defaults :resource_class => Chouette::Network respond_to :html respond_to :xml @@ -6,7 +8,7 @@ class NetworksController < ChouetteController respond_to :kml, :only => :show respond_to :js, :only => :index - belongs_to :referential + belongs_to :line_referential def show @map = NetworkMap.new(resource).with_helpers(self) @@ -15,7 +17,7 @@ class NetworksController < ChouetteController end end - def index + def index index! do |format| format.html { if collection.out_of_bounds? @@ -23,26 +25,28 @@ class NetworksController < ChouetteController end } build_breadcrumb :index - end + end end protected - def collection - @q = referential.networks.search(params[:q]) + def collection + @q = line_referential.networks.search(params[:q]) @networks ||= @q.result(:distinct => true).order(:name).paginate(:page => params[:page]) end def resource_url(network = nil) - referential_network_path(referential, network || resource) + line_referential_network_path(line_referential, network || resource) end def collection_url - referential_networks_path(referential) + line_referential_networks_path(line_referential) end + alias_method :line_referential, :parent + def network_params params.require(:network).permit(:objectid, :object_version, :creation_time, :creator_id, :version_date, :description, :name, :registration_number, :source_name, :source_type_name, :source_identifier, :comment ) end - + end diff --git a/app/controllers/referential_networks_controller.rb b/app/controllers/referential_networks_controller.rb new file mode 100644 index 000000000..2d3f4ad6b --- /dev/null +++ b/app/controllers/referential_networks_controller.rb @@ -0,0 +1,54 @@ +class ReferentialNetworksController < ChouetteController + defaults :resource_class => Chouette::Network, :collection_name => 'networks', :instance_name => 'network' + respond_to :html + respond_to :xml + respond_to :json + respond_to :kml, :only => :show + respond_to :js, :only => :index + + belongs_to :referential, :parent_class => Referential + + def show + @map = NetworkMap.new(resource).with_helpers(self) + show! do + build_breadcrumb :show + end + end + + def index + index! do |format| + format.html { + if collection.out_of_bounds? + redirect_to params.merge(:page => 1) + end + } + build_breadcrumb :index + end + end + + protected + + def build_resource + super.tap do |network| + network.line_referential = referential.line_referential + end + end + + def collection + @q = referential.networks.search(params[:q]) + @networks ||= @q.result(:distinct => true).order(:name).paginate(:page => params[:page]) + end + + def resource_url(network = nil) + referential_network_path(referential, network || resource) + end + + def collection_url + referential_networks_path(referential) + end + + def network_params + params.require(:network).permit(:objectid, :object_version, :creation_time, :creator_id, :version_date, :description, :name, :registration_number, :source_name, :source_type_name, :source_identifier, :comment ) + end + +end |
