aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/referential_companies_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/referential_companies_controller.rb')
-rw-r--r--app/controllers/referential_companies_controller.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/controllers/referential_companies_controller.rb b/app/controllers/referential_companies_controller.rb
new file mode 100644
index 000000000..477c3da9c
--- /dev/null
+++ b/app/controllers/referential_companies_controller.rb
@@ -0,0 +1,38 @@
+class ReferentialCompaniesController < ChouetteController
+ defaults :resource_class => Chouette::Company
+ respond_to :html
+ respond_to :xml
+ respond_to :json
+ respond_to :js, :only => :index
+
+ belongs_to :referential, :parent_class => Referential
+
+ 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 collection
+ @q = referential.companies.search(params[:q])
+ @companies ||= @q.result(:distinct => true).order(:name).paginate(:page => params[:page])
+ end
+
+ def resource_url(company = nil)
+ referential_company_path(referential, company || resource)
+ end
+
+ def collection_url
+ referential_companies_path(referential)
+ end
+
+ def company_params
+ params.require(:company).permit( :objectid, :object_version, :creation_time, :creator_id, :name, :short_name, :organizational_unit, :operating_department_name, :code, :phone, :fax, :email, :registration_number, :url, :time_zone )
+ end
+end \ No newline at end of file