iqvoc 4.1.2 → 4.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +5 -2
- data/README.md +1 -0
- data/app/assets/javascripts/framework.js +3 -1
- data/app/assets/javascripts/iqvoc/iqvoc.js +1 -1
- data/app/assets/stylesheets/framework.css.scss +8 -0
- data/app/assets/stylesheets/iqvoc/bootstrap_extensions.css.scss +0 -61
- data/app/assets/stylesheets/iqvoc/components.css.scss +25 -0
- data/app/assets/stylesheets/iqvoc/{ie_fixes.css → ie_fixes.css.scss} +0 -0
- data/app/assets/stylesheets/iqvoc/manifest.css.scss +10 -0
- data/app/assets/stylesheets/manifest.css.scss +2 -0
- data/app/controllers/instance_configuration_controller.rb +11 -2
- data/app/controllers/search_results_controller.rb +3 -2
- data/app/helpers/form_helper.rb +17 -1
- data/app/helpers/navigation_helper.rb +47 -6
- data/app/models/labeling/skos/base.rb +10 -5
- data/app/views/collections/_form.html.erb +1 -1
- data/app/views/concepts/_form.html.erb +1 -1
- data/app/views/concepts/scheme/edit.html.erb +1 -1
- data/app/views/instance_configuration/index.html.erb +15 -7
- data/app/views/layouts/_navigation.html.erb +2 -2
- data/app/views/search_results/_form.html.erb +10 -0
- data/app/views/search_results/index.html.erb +3 -63
- data/app/views/search_results/sections/_collection.html.erb +3 -0
- data/app/views/search_results/sections/_klass.html.erb +7 -0
- data/app/views/search_results/sections/_languages.html.erb +15 -0
- data/app/views/search_results/sections/_mode.html.erb +8 -0
- data/app/views/search_results/sections/_terms.html.erb +7 -0
- data/app/views/search_results/sections/_type.html.erb +5 -0
- data/config/engine.rb +1 -0
- data/config/initializers/iqvoc.rb +1 -0
- data/config/locales/de.yml +11 -2
- data/config/locales/en.yml +11 -2
- data/config/locales/pt.yml +6 -1
- data/db/migrate/20130502151221_fix_collection_member_types.rb +8 -0
- data/db/migrate/20130508103137_adjust_note_languages_setting.rb +17 -0
- data/db/schema.rb +1 -1
- data/iqvoc.gemspec +1 -0
- data/lib/iqvoc/ability.rb +2 -0
- data/lib/iqvoc/configuration/core.rb +66 -46
- data/lib/iqvoc/instance_configuration.rb +2 -0
- data/lib/iqvoc/navigation.rb +61 -0
- data/lib/iqvoc/version.rb +1 -1
- data/test/integration/instance_configuration_test.rb +1 -1
- data/test/integration/navigation_test.rb +47 -0
- metadata +32 -11
- data/app/assets/stylesheets/framework.css +0 -6
- data/app/assets/stylesheets/iqvoc/manifest.css +0 -12
- data/app/assets/stylesheets/manifest.css +0 -4
- data/vendor/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/bootstrap/glyphicons-halflings.png +0 -0
- data/vendor/assets/javascripts/bootstrap/bootstrap.js +0 -1824
- data/vendor/assets/stylesheets/bootstrap/bootstrap-responsive.css +0 -808
- data/vendor/assets/stylesheets/bootstrap/bootstrap.css +0 -4960
@@ -17,13 +17,13 @@
|
|
17
17
|
<%= render "layouts/controls" %>
|
18
18
|
|
19
19
|
<% unless @suppress_quicksearch %>
|
20
|
-
|
20
|
+
<!-- <%= form_tag alphabetical_concepts_path(:prefix => nil), :method => :get,
|
21
21
|
:class => "navbar-search pull-right" do %>
|
22
22
|
<%= search_field_tag "prefix", nil, :id => nil,
|
23
23
|
:class => "quicksearch search-query span2",
|
24
24
|
:autofocus => (autofocus rescue nil),
|
25
25
|
:placeholder => t("txt.views.navigation.quick_search") %>
|
26
|
-
<% end %>
|
26
|
+
<% end %> -->
|
27
27
|
<% end %>
|
28
28
|
</div>
|
29
29
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<%= form_tag(search_path, :method => :get, :class => 'form-horizontal', :id => 'search') do %>
|
2
|
+
<fieldset id="typecheck" class="">
|
3
|
+
<% Iqvoc.search_sections.each do |section| %>
|
4
|
+
<%= render "search_results/sections/#{section}" %>
|
5
|
+
<% end %>
|
6
|
+
<div class="form-actions">
|
7
|
+
<%= submit_tag t('txt.views.search_results.submit'), :class => 'btn btn-primary' %>
|
8
|
+
</div>
|
9
|
+
</fieldset>
|
10
|
+
<% end %>
|
@@ -1,63 +1,8 @@
|
|
1
1
|
<%= render 'header' %>
|
2
2
|
<%= render 'sidebar', :results => @results %>
|
3
3
|
|
4
|
-
<%=
|
5
|
-
<fieldset id="typecheck" class="">
|
6
|
-
<%= input_block :label => t('txt.views.search_results.for'), :id => 't' do %>
|
7
|
-
<select name="t" id="t" class="search_type">
|
8
|
-
<%= options_for_select(Iqvoc.searchable_classes.map { |c|
|
9
|
-
[c.model_name.human(:count => 2), c.name.parameterize]
|
10
|
-
}, params[:t]) %>
|
11
|
-
</select>
|
12
|
-
<% end %>
|
13
|
-
|
14
|
-
<%= input_block :label => t('txt.views.search_results.mode'), :id => 'qt' do %>
|
15
|
-
<%= select_tag :qt, options_for_select([
|
16
|
-
[t('txt.views.search_results.contains'), 'contains'],
|
17
|
-
[t('txt.views.search_results.exact'), 'exact'],
|
18
|
-
[t('txt.views.search_results.ends_with'), 'ends_with'],
|
19
|
-
[t('txt.views.search_results.begins_with'), 'begins_with']
|
20
|
-
], params[:qt]) %>
|
21
|
-
<% end %>
|
22
|
-
|
23
|
-
<%= input_block :label => t('txt.views.search_results.search_term'), :id => 'q' do %>
|
24
|
-
<% if Iqvoc.searchable_classes.detect {|c| c.supports_multi_query? } %>
|
25
|
-
<%= text_area_tag :q, params[:query] %>
|
26
|
-
<% else %>
|
27
|
-
<%= text_field_tag :q, params[:query] %>
|
28
|
-
<% end %>
|
29
|
-
<% end %>
|
30
|
-
|
31
|
-
<%= input_block :label => t('txt.views.search_results.for') do %>
|
32
|
-
<label for="for_concept" class="radio"><%= radio_button_tag 'for', 'concept', params[:for] == "concept" %> <%= Iqvoc::Concept.base_class.model_name.human(:count => 2) %></label>
|
33
|
-
<label for="for_collection" class="radio"><%= radio_button_tag 'for', 'collection', params[:for] == "collection" %> <%= Iqvoc::Collection.base_class.model_name.human(:count => 2) %></label>
|
34
|
-
<label for="for_all" class="radio"><%= radio_button_tag 'for', 'all', !%w(concept collection).include?(params[:for]) %> <%= t("txt.views.search_results.all") %></label>
|
35
|
-
<% end %>
|
36
|
-
|
37
|
-
<%= input_block :label => Iqvoc::Collection.base_class.model_name.human, :id => 'c' do %>
|
38
|
-
<%= select_tag 'c', options_for_select(@collections.sort { |a, b| a.pref_label.to_s <=> b.pref_label.to_s }.map { |c| [c.pref_label.to_s, c.origin] }, params[:c]), :include_blank => true %>
|
39
|
-
<% end %>
|
4
|
+
<%= render 'form' %>
|
40
5
|
|
41
|
-
<%= input_block :label => t('txt.views.search_results.search_languages') do %>
|
42
|
-
<% @available_languages.sort.each do |lang_tag, label| %>
|
43
|
-
<label for="languages_<%= lang_tag %>" class="checkbox inline">
|
44
|
-
<%= check_box_tag "l[]", lang_tag, select_search_checkbox?(lang_tag), :id => "languages_#{lang_tag}", :class => 'lang_check' %><%= lang_tag %>
|
45
|
-
</label>
|
46
|
-
<% end %>
|
47
|
-
<div class="btn-group">
|
48
|
-
<button type="button" id="language_select_all" class="btn btn-mini">
|
49
|
-
<%= t('txt.views.search_results.all') %>
|
50
|
-
</button>
|
51
|
-
<button type="button" id="language_select_none" class="btn btn-mini">
|
52
|
-
<%= t('txt.views.search_results.none') %>
|
53
|
-
</button>
|
54
|
-
</div>
|
55
|
-
<% end %>
|
56
|
-
<div class="form-actions">
|
57
|
-
<%= submit_tag t('txt.views.search_results.submit'), :class => 'btn btn-primary' %>
|
58
|
-
</div>
|
59
|
-
</fieldset>
|
60
|
-
<% end %>
|
61
6
|
<% if @results %>
|
62
7
|
<div class="panel">
|
63
8
|
<%= results_header @results %>
|
@@ -65,11 +10,9 @@
|
|
65
10
|
<dl id="search_results">
|
66
11
|
<% @results.each do |result| %>
|
67
12
|
<% if @klass %>
|
68
|
-
<%= render
|
69
|
-
:locals => { :result => result } %>
|
13
|
+
<%= render @klass.search_result_partial_name, :result => result %>
|
70
14
|
<% else %>
|
71
|
-
<%= render
|
72
|
-
:locals => { :result => result } %>
|
15
|
+
<%= render result.class.search_result_partial_name, :result => result %>
|
73
16
|
<% end %>
|
74
17
|
<% end %>
|
75
18
|
</dl>
|
@@ -77,6 +20,3 @@
|
|
77
20
|
<%= paginate @results %>
|
78
21
|
<% end %>
|
79
22
|
</div>
|
80
|
-
|
81
|
-
<%= content_for :sub_navigation do %>
|
82
|
-
<% end %>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<%= input_block :label => Iqvoc::Collection.base_class.model_name.human, :id => 'c' do %>
|
2
|
+
<%= select_tag 'c', options_for_select(@collections.sort { |a, b| a.pref_label.to_s <=> b.pref_label.to_s }.map { |c| [c.pref_label.to_s, c.origin] }, params[:c]), :include_blank => true %>
|
3
|
+
<% end %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= input_block :label => t('txt.views.search_results.for'), :id => 't' do %>
|
2
|
+
<select name="t" id="t" class="search_type">
|
3
|
+
<%= options_for_select(Iqvoc.searchable_classes.map { |c|
|
4
|
+
[c.model_name.human(:count => 2), c.name.parameterize]
|
5
|
+
}, params[:t]) %>
|
6
|
+
</select>
|
7
|
+
<% end %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= input_block :label => t('txt.views.search_results.search_languages') do %>
|
2
|
+
<% @available_languages.sort.each do |lang_tag, label| %>
|
3
|
+
<label for="languages_<%= lang_tag %>" class="checkbox inline">
|
4
|
+
<%= check_box_tag "l[]", lang_tag, select_search_checkbox?(lang_tag), :id => "languages_#{lang_tag}", :class => 'lang_check' %><%= lang_tag %>
|
5
|
+
</label>
|
6
|
+
<% end %>
|
7
|
+
<div class="btn-group">
|
8
|
+
<button type="button" id="language_select_all" class="btn btn-mini">
|
9
|
+
<%= t('txt.views.search_results.all') %>
|
10
|
+
</button>
|
11
|
+
<button type="button" id="language_select_none" class="btn btn-mini">
|
12
|
+
<%= t('txt.views.search_results.none') %>
|
13
|
+
</button>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%= input_block :label => t('txt.views.search_results.mode'), :id => 'qt' do %>
|
2
|
+
<%= select_tag :qt, options_for_select([
|
3
|
+
[t('txt.views.search_results.contains'), 'contains'],
|
4
|
+
[t('txt.views.search_results.exact'), 'exact'],
|
5
|
+
[t('txt.views.search_results.ends_with'), 'ends_with'],
|
6
|
+
[t('txt.views.search_results.begins_with'), 'begins_with']
|
7
|
+
], params[:qt]) %>
|
8
|
+
<% end %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= input_block :label => t('txt.views.search_results.search_term'), :id => 'q' do %>
|
2
|
+
<% if Iqvoc.searchable_classes.detect {|c| c.supports_multi_query? } %>
|
3
|
+
<%= text_area_tag :q, params[:query] %>
|
4
|
+
<% else %>
|
5
|
+
<%= text_field_tag :q, params[:query] %>
|
6
|
+
<% end %>
|
7
|
+
<% end %>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<%= input_block :label => t('txt.views.search_results.for') do %>
|
2
|
+
<label for="for_concept" class="radio"><%= radio_button_tag 'for', 'concept', params[:for] == "concept" %> <%= Iqvoc::Concept.base_class.model_name.human(:count => 2) %></label>
|
3
|
+
<label for="for_collection" class="radio"><%= radio_button_tag 'for', 'collection', params[:for] == "collection" %> <%= Iqvoc::Collection.base_class.model_name.human(:count => 2) %></label>
|
4
|
+
<label for="for_all" class="radio"><%= radio_button_tag 'for', 'all', !%w(concept collection).include?(params[:for]) %> <%= t("txt.views.search_results.all") %></label>
|
5
|
+
<% end %>
|
data/config/engine.rb
CHANGED
data/config/locales/de.yml
CHANGED
@@ -90,10 +90,14 @@ de:
|
|
90
90
|
login: "Anmelden"
|
91
91
|
logout: "Abmelden"
|
92
92
|
instance_configuration:
|
93
|
-
caption: "
|
93
|
+
caption: "Konfiguration"
|
94
|
+
groups:
|
95
|
+
common: allgemein
|
96
|
+
languages: Sprachen
|
97
|
+
triplestore: Triplestore
|
94
98
|
settings:
|
95
99
|
title: Titel
|
96
|
-
|
100
|
+
languages_notes: Sprachen für Notes
|
97
101
|
languages_pref_labeling: Sprachen für bevorzugte Labels
|
98
102
|
languages_further_labelings_Labeling::SKOS::AltLabel: Sprachen für alternative Labels
|
99
103
|
triplestore_url: Triplestore-URL
|
@@ -141,6 +145,11 @@ de:
|
|
141
145
|
edit:
|
142
146
|
header: "Notiz bearbeiten"
|
143
147
|
navigation:
|
148
|
+
dashboard: "Dashboard"
|
149
|
+
scheme: "Schema"
|
150
|
+
concepts: "Konzepte"
|
151
|
+
administration: "Verwaltung"
|
152
|
+
extensions: "Erweiterungen"
|
144
153
|
back_to_edit_versioned_object: "Zurück zur Bearbeitung"
|
145
154
|
back_to_show: "Zurück zur Originalversion"
|
146
155
|
back_to_preview: "Zurück zur Versionsvorschau"
|
data/config/locales/en.yml
CHANGED
@@ -90,10 +90,14 @@ en:
|
|
90
90
|
notes: Notes
|
91
91
|
matches: Concept mappings
|
92
92
|
instance_configuration:
|
93
|
-
caption: "
|
93
|
+
caption: "Configuration"
|
94
|
+
groups:
|
95
|
+
common: common
|
96
|
+
languages: languages
|
97
|
+
triplestore: triplestore
|
94
98
|
settings:
|
95
99
|
title: site title
|
96
|
-
|
100
|
+
languages_notes: languages for notes
|
97
101
|
languages_pref_labeling: languages for preferred labels
|
98
102
|
languages_further_labelings_Labeling::SKOS::AltLabel: languages for alternative labels
|
99
103
|
triplestore_url: triplestore URL
|
@@ -149,6 +153,11 @@ en:
|
|
149
153
|
edit:
|
150
154
|
header: "Edit notes"
|
151
155
|
navigation:
|
156
|
+
dashboard: "Dashboard"
|
157
|
+
scheme: "Scheme"
|
158
|
+
concepts: "Concepts"
|
159
|
+
administration: "Administration"
|
160
|
+
extensions: "Extensions"
|
152
161
|
back_to_edit_versioned_object: "Back to editing"
|
153
162
|
back_to_show: "Back to original version"
|
154
163
|
back_to_preview: "Back to version preview"
|
data/config/locales/pt.yml
CHANGED
@@ -90,7 +90,7 @@ pt:
|
|
90
90
|
notes: "Notas"
|
91
91
|
matches: "Mapeamentos conceituais"
|
92
92
|
instance_configuration:
|
93
|
-
caption: "Configuração
|
93
|
+
caption: "Configuração"
|
94
94
|
settings:
|
95
95
|
title: "título do sítio"
|
96
96
|
languages_pref_labeling: "idiomas para os rótulos preferenciais"
|
@@ -148,6 +148,11 @@ pt:
|
|
148
148
|
edit:
|
149
149
|
header: "Alterar notas"
|
150
150
|
navigation:
|
151
|
+
dashboard: "Dashboard"
|
152
|
+
scheme: "Esquema"
|
153
|
+
concepts: "Conceitos"
|
154
|
+
administration: "Administração"
|
155
|
+
extensions: "Extensões"
|
151
156
|
back_to_edit_versioned_object: "Retornar para edição"
|
152
157
|
back_to_show: "Retornar para edição original"
|
153
158
|
back_to_preview: "Retornar para a versão de pré-visualização"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class AdjustNoteLanguagesSetting < ActiveRecord::Migration
|
2
|
+
|
3
|
+
class ConfigSettings < ActiveRecord::Base
|
4
|
+
self.table_name = "configuration_settings"
|
5
|
+
end
|
6
|
+
|
7
|
+
def up
|
8
|
+
record = ConfigSettings.where("key" => "note_languages").first
|
9
|
+
record.update_attribute("key", "languages.notes") if record
|
10
|
+
end
|
11
|
+
|
12
|
+
def down
|
13
|
+
record = ConfigSettings.where("key" => "languages.notes").first
|
14
|
+
record.update_attribute("key", "note_languages") if record
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20130508103137) do
|
15
15
|
|
16
16
|
create_table "collection_members", :force => true do |t|
|
17
17
|
t.integer "collection_id"
|
data/iqvoc.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency 'rails_autolink'
|
23
23
|
s.add_dependency 'simple_form'
|
24
24
|
s.add_dependency 'sass-rails', '~> 3.2.5'
|
25
|
+
s.add_dependency 'bootstrap-sass'
|
25
26
|
s.add_dependency 'iq_triplestorage'
|
26
27
|
|
27
28
|
s.files = %w(LICENSE README.md CHANGELOG.md Gemfile Gemfile.lock Rakefile iqvoc.gemspec) +
|
data/lib/iqvoc/ability.rb
CHANGED
@@ -12,53 +12,14 @@ module Iqvoc
|
|
12
12
|
:rdf_namespaces,
|
13
13
|
:change_note_class_name,
|
14
14
|
:first_level_class_configuration_modules,
|
15
|
-
:ability_class_name,
|
16
15
|
:navigation_items,
|
16
|
+
:ability_class_name,
|
17
17
|
:localized_routes,
|
18
|
-
:core_assets
|
18
|
+
:core_assets,
|
19
|
+
:search_sections
|
19
20
|
|
20
21
|
self.localized_routes = [] # routing extensibility hook
|
21
22
|
|
22
|
-
self.navigation_items = [
|
23
|
-
{
|
24
|
-
:content => proc { link_to "Dashboard", dashboard_path },
|
25
|
-
:controller => "dashboard",
|
26
|
-
:authorized? => proc { can? :use, :dashboard }
|
27
|
-
}, {
|
28
|
-
:content => proc { link_to "Scheme", scheme_path },
|
29
|
-
:controller => "concepts/scheme",
|
30
|
-
:authorized? => proc { can? :read, Iqvoc::Concept.root_class.instance }
|
31
|
-
}, {
|
32
|
-
:content => proc { link_to ::Concept::Base.model_name.human(:count => 2),
|
33
|
-
hierarchical_concepts_path },
|
34
|
-
:controller => "concepts/hierarchical",
|
35
|
-
:active? => proc { %w(concepts/hierarchical concepts/alphabetical concepts/untranslated).include?(params[:controller]) }
|
36
|
-
}, {
|
37
|
-
:content => proc { link_to t("txt.views.navigation.collections"),
|
38
|
-
collections_path },
|
39
|
-
:controller => "collections"
|
40
|
-
}, {
|
41
|
-
:content => proc { link_to t("txt.views.navigation.search"), search_path },
|
42
|
-
:controller => "search_results"
|
43
|
-
}, {
|
44
|
-
:content => proc { link_to t("txt.views.navigation.users"), users_path },
|
45
|
-
:controller => "users",
|
46
|
-
:authorized? => proc { can? :manage, User }
|
47
|
-
}, {
|
48
|
-
:content => proc { link_to t("txt.views.navigation.instance_configuration"),
|
49
|
-
instance_configuration_path },
|
50
|
-
:controller => "instance_configuration",
|
51
|
-
:authorized? => proc { can? :manage, Iqvoc.config }
|
52
|
-
}, {
|
53
|
-
:content => proc { link_to t("txt.views.navigation.help"), help_path },
|
54
|
-
:controller => "pages",
|
55
|
-
:action => "help",
|
56
|
-
:authorized? => proc { can? :read, :help }
|
57
|
-
}, {
|
58
|
-
:content => proc { link_to t("txt.views.navigation.about"), "http://iqvoc.net/" }
|
59
|
-
}
|
60
|
-
]
|
61
|
-
|
62
23
|
self.core_assets = %w(
|
63
24
|
manifest.css
|
64
25
|
manifest.js
|
@@ -69,6 +30,60 @@ module Iqvoc
|
|
69
30
|
html5.js
|
70
31
|
)
|
71
32
|
|
33
|
+
self.navigation_items = [{
|
34
|
+
:text => "Dashboard",
|
35
|
+
:href => proc { dashboard_path },
|
36
|
+
:controller => "dashboard",
|
37
|
+
:authorized? => proc { can? :use, :dashboard }
|
38
|
+
}, {
|
39
|
+
:text => "Scheme",
|
40
|
+
:href => proc { scheme_path },
|
41
|
+
:controller => "concepts/scheme",
|
42
|
+
:authorized? => proc { can? :read, Iqvoc::Concept.root_class.instance }
|
43
|
+
}, {
|
44
|
+
:text => proc { ::Concept::Base.model_name.human(:count => 2) },
|
45
|
+
:href => proc { hierarchical_concepts_path },
|
46
|
+
:controller => "concepts/hierarchical",
|
47
|
+
:active? => proc {
|
48
|
+
%w(concepts/hierarchical concepts/alphabetical concepts/untranslated).
|
49
|
+
include?(params[:controller])
|
50
|
+
}
|
51
|
+
}, {
|
52
|
+
:text => proc { t("txt.views.navigation.collections") },
|
53
|
+
:href => proc { collections_path },
|
54
|
+
:controller => "collections"
|
55
|
+
}, {
|
56
|
+
:text => proc { t("txt.views.navigation.search") },
|
57
|
+
:href => proc { search_path },
|
58
|
+
:controller => "search_results"
|
59
|
+
}, {
|
60
|
+
:text => proc { t("txt.views.navigation.administration") },
|
61
|
+
:authorized? => proc { can? :use, :administration },
|
62
|
+
:items => [{
|
63
|
+
:text => proc { t("txt.views.navigation.users") },
|
64
|
+
:href => proc { users_path },
|
65
|
+
:controller => "users",
|
66
|
+
:authorized? => proc { can? :manage, User }
|
67
|
+
}, {
|
68
|
+
:text => proc { t("txt.views.navigation.instance_configuration") },
|
69
|
+
:href => proc { instance_configuration_path },
|
70
|
+
:controller => "instance_configuration",
|
71
|
+
:authorized? => proc { can? :manage, Iqvoc.config }
|
72
|
+
}]
|
73
|
+
}, {
|
74
|
+
:text => proc { t("txt.views.navigation.help") },
|
75
|
+
:items => [{
|
76
|
+
:text => proc { t("txt.views.navigation.help") },
|
77
|
+
:href => proc { help_path },
|
78
|
+
:controller => "pages",
|
79
|
+
:action => "help",
|
80
|
+
:authorized? => proc { can? :read, :help }
|
81
|
+
}, {
|
82
|
+
:text => proc { t("txt.views.navigation.about") },
|
83
|
+
:href => "http://iqvoc.net/"
|
84
|
+
}]
|
85
|
+
}]
|
86
|
+
|
72
87
|
self.searchable_class_names = [
|
73
88
|
'Labeling::SKOS::Base',
|
74
89
|
'Labeling::SKOS::PrefLabel',
|
@@ -94,12 +109,14 @@ module Iqvoc
|
|
94
109
|
|
95
110
|
self.ability_class_name = 'Iqvoc::Ability'
|
96
111
|
|
112
|
+
self.search_sections = ['klass', 'mode', 'terms', 'type', 'collection', 'languages']
|
113
|
+
|
97
114
|
# initialize
|
98
115
|
self.config.register_settings({
|
99
116
|
"title" => "iQvoc",
|
100
117
|
"languages.pref_labeling" => ["en", "de"],
|
101
118
|
"languages.further_labelings.Labeling::SKOS::AltLabel" => ["en", "de"],
|
102
|
-
"
|
119
|
+
"languages.notes" => ["en", "de"]
|
103
120
|
})
|
104
121
|
end
|
105
122
|
|
@@ -151,15 +168,18 @@ module Iqvoc
|
|
151
168
|
end
|
152
169
|
|
153
170
|
def title
|
154
|
-
|
171
|
+
config["title"]
|
155
172
|
end
|
156
173
|
|
157
174
|
def note_languages
|
158
|
-
|
175
|
+
config["languages.notes"]
|
159
176
|
end
|
160
177
|
|
178
|
+
# returns a list of all languages selectable for labels and/or notes
|
161
179
|
def all_languages
|
162
|
-
(Iqvoc::Concept.pref_labeling_languages +
|
180
|
+
(Iqvoc::Concept.pref_labeling_languages +
|
181
|
+
Iqvoc::Concept.further_labeling_class_names.values.flatten +
|
182
|
+
note_languages).compact.map(&:to_s).uniq
|
163
183
|
end
|
164
184
|
|
165
185
|
# @deprecated
|