aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorAlban Peignier2016-09-10 16:10:15 +0200
committerAlban Peignier2016-09-10 16:10:15 +0200
commite616e9ff5e2e6dbee3ae8c0ed95087ed6f548877 (patch)
tree4015e800e17cf3387d9ff7e4b8b1e5c4d4c804a0 /app/controllers
parent3ba24b322bda549184315731e39ed15ec20a24d7 (diff)
parent985c449f602a30c96fe5a80bdda018a562d02dd4 (diff)
downloadchouette-core-e616e9ff5e2e6dbee3ae8c0ed95087ed6f548877.tar.bz2
Merge branch 'networks_line_referential_association'
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/networks_controller.rb22
-rw-r--r--app/controllers/referential_networks_controller.rb54
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