virtuoso_plugin_admin_controller.rb
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
class VirtuosoPluginAdminController < AdminController
def index
settings = params[:settings]
settings ||= {}
@settings = Noosfero::Plugin::Settings.new(environment, VirtuosoPlugin, settings)
@harvest_running = VirtuosoPlugin::DspaceHarvest.new(environment).find_job.present?
if request.post?
@settings.save!
session[:notice] = 'Settings succefully saved.'
redirect_to :action => 'index'
end
end
def force_harvest
harvest = VirtuosoPlugin::DspaceHarvest.new(environment)
harvest.start(params[:from_start])
session[:notice] = _('Harvest started')
redirect_to :action => :index
end
def triple_management
triples_management = VirtuosoPlugin::TriplesManagement.new(environment)
@triples = []
if request.post?
@query = params[:query]
@graph_uri = params[:graph_uri]
@triples = triples_management.search_triples(@graph_uri, @query)
end
render :action => 'triple_management'
end
def triple_update
graph_uri = params[:graph_uri]
triples = params[:triples]
triples_management = VirtuosoPlugin::TriplesManagement.new(environment)
triples.each { |triple|
from_triple = triple[:from]
to_triple = triple[:to]
triples_management.update_triple(graph_uri, from_triple, to_triple)
}
session[:notice] = _('Triple(s) succesfully updated.')
redirect_to :action => :triple_management
end
end