ontologies_controller.rb revision 3c4b1bd39fa36d241f2ef0d6f7ebbf2a9a6f4d36
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen# Controller for ontologies
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenclass OntologiesController < InheritedResources::Base
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen belongs_to :repository, finder: :find_by_path!
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen before_filter :check_write_permission, :except => [:index, :show, :oops_state]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen @ontology_version = build_resource.versions.build
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen @c_vertices = Category.first.roots.first.children rescue []
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen @c_vertices = Category.first.roots.first.children rescue []
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resource.category_ids = user_selected_categories
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resource.category_ids = user_selected_categories
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen # redirect for legacy routing
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen redirect_to repository_ontology_entities_path(parent, resource,
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen :kind => resource.entities.groups_by_kind.first.kind)
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen redirect_to repository_ontology_children_path(parent, resource)
f3f8d30207fd7d6c430361039dbfa88e6ffce411Timo Sirainen # retry a specific ontology
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen redirect_to (id ? [parent, scope.first!, :ontology_versions] : [parent, :ontologies])
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen respond_with resource.versions.current.try(:request)
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen authorize!(:show, Repository.find_by_path(params[:repository_id]))
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen type = (params[:ontology] || {}).delete(:type)
abe8230dd1dd37d7ccf0163100e934bb5e658c20Timo Sirainen clazz = type=='DistributedOntology' ? DistributedOntology : SingleOntology
7f773564b94e6054a40d3785cb63c29f1e4d4deeTimo Sirainen vertex.children.each { |child| build_categories_tree(child) unless child.children.empty?; @a << child }
7f773564b94e6054a40d3785cb63c29f1e4d4deeTimo Sirainen def user_selected_categories
7f773564b94e6054a40d3785cb63c29f1e4d4deeTimo Sirainen params[:category_ids].keys unless params[:category_ids].nil?