ontologies_controller.rb revision f25585170335aa8c73dc2775edb44979bbfb9116
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek# Controller for ontologies
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozekclass OntologiesController < InheritedResources::Base
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek actions :index, :show, :edit, :update, :destroy
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek before_filter :check_write_permission, except: [:index, :show, :oops_state]
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek @search_response = paginate_for(parent.ontologies)
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek @search_response = paginate_for(Ontology.scoped)
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek @ontology_version = build_resource.versions.build
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek @c_vertices = Category.first.roots.first.children rescue []
60e54ce78177b72ae82b8986e37dc4d09fce5681Lukas Slebodnik @c_vertices = Category.first.roots.first.children rescue []
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek resource.category_ids = user_selected_categories
72ae534f5aef6d2e5d3f2f51299aede5abf9687eJakub Hrozek resource.category_ids = user_selected_categories
30dd3f3e063dded0ec9f58bc2535a94727d8e96dJakub Hrozek # redirect for legacy routing
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose default_kind = resource.symbols.groups_by_kind.first.kind
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose redirect_to locid_for(resource, :symbols, kind: default_kind)
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose flash[:error] = "Can't delete #{Settings.OMS.with_indefinite_article}
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose that is imported by another one."
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose redirect_to (id ? [parent, scope.first!, :ontology_versions] : [parent, :ontologies])
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose respond_with resource.current_version.try(:request)
3d29430867cf92b2d71afa95abb679711231117cPavel Březina authorize!(:show, Repository.find_by_path(params[:repository_id]))
3d29430867cf92b2d71afa95abb679711231117cPavel Březina clazz = type=='DistributedOntology' ? DistributedOntology : SingleOntology
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose vertex.children.each { |child| build_categories_tree(child) unless child.children.empty?; @a << child }
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose def user_selected_categories
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose params[:category_ids].keys unless params[:category_ids].nil?
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose helper_method :repository
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose def repository
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose def send_download
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose asset = version || resource
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose render text: asset.file_in_repository.content,
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose content_type: Mime::Type.lookup('application/force-download')
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose finder = OntologyVersionFinder.new(params[:reference], resource)
63b8e826f62d2e8930c872de7d4cc8b5bc15d4a4Sumit Bose @version ||= finder.find if params[:reference]