iqvoc 3.3.4 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/Gemfile +14 -14
- data/Gemfile.lock +66 -53
- data/app/assets/javascripts/iqvoc/iqvoc.js +1 -1
- data/app/assets/stylesheets/framework.css +0 -2
- data/app/assets/stylesheets/iqvoc/iqvoc.css.erb +6 -0
- data/app/controllers/concepts/untranslated_controller.rb +1 -0
- data/app/models/collection/member/base.rb +2 -2
- data/app/models/concept/base.rb +1 -1
- data/app/models/concept/relation/base.rb +1 -1
- data/app/models/concept/relation/reverse_relation_extension.rb +6 -6
- data/app/models/label/base.rb +1 -1
- data/app/models/labeling/base.rb +1 -1
- data/app/models/match/base.rb +1 -1
- data/app/models/note/annotated/base.rb +1 -1
- data/app/models/note/base.rb +1 -1
- data/app/views/concepts/untranslated/index.html.erb +2 -2
- data/app/views/dashboard/index.html.erb +1 -1
- data/app/views/layouts/application.html.erb +3 -1
- data/app/views/partials/labeling/skos/_search_result.html.erb +6 -6
- data/app/views/partials/note/skos/change_note/_search_result.html.erb +9 -9
- data/app/views/search_results/index.html.erb +6 -6
- data/config/environments/development.rb +11 -10
- data/config/environments/test.rb +8 -0
- data/config/initializers/iqvoc.rb +2 -5
- data/config/initializers/secret_token.rb +0 -2
- data/db/schema.rb +9 -4
- data/iqvoc.gemspec +2 -2
- data/lib/debug.rb +14 -0
- data/lib/iqvoc/version.rb +1 -1
- data/lib/iqvoc.rb +2 -0
- data/test/integration/alphabetical_test.rb +1 -2
- data/test/integration/authentication_test.rb +1 -2
- data/test/integration/browse_concepts_and_labels_test.rb +1 -2
- data/test/integration/browse_static_pages_test.rb +1 -2
- data/test/integration/client_augmentation_test.rb +17 -1
- data/test/integration/client_edit_concept_test.rb +20 -3
- data/test/integration/collection_circularity_test.rb +2 -2
- data/test/integration/concept_test.rb +1 -2
- data/test/integration/edit_concepts_test.rb +1 -2
- data/test/integration/note_annotations_test.rb +1 -2
- data/test/integration/search_test.rb +1 -2
- data/test/integration/tree_test.rb +1 -2
- data/test/integration/untranslated_test.rb +5 -3
- data/test/integration_test_helper.rb +14 -1
- data/test/performance/browsing_test.rb +1 -1
- data/test/test_helper.rb +8 -10
- data/vendor/assets/stylesheets/blueprint/print.css +0 -4
- data/vendor/assets/stylesheets/blueprint/screen.css +0 -4
- metadata +21 -198
- data/public/assets/ajax-loader-0fa916c3be443770cc9e800077e4e9b2.gif +0 -0
- data/public/assets/ajax-loader.gif +0 -0
- data/public/assets/application-d65a2a29c82b44dda72b13621ddb47c7.js +0 -21
- data/public/assets/application-d65a2a29c82b44dda72b13621ddb47c7.js.gz +0 -0
- data/public/assets/application.js +0 -21
- data/public/assets/application.js.gz +0 -0
- data/public/assets/arrow_down-5207848d1c2483637d23222d0a699bec.gif +0 -0
- data/public/assets/arrow_down.gif +0 -0
- data/public/assets/arrow_up-05112da8e77bcb5e6f0c74923d8d2046.gif +0 -0
- data/public/assets/arrow_up.gif +0 -0
- data/public/assets/back-c6339fdb1267ffad7181a80f4a8193fc.png +0 -0
- data/public/assets/back.png +0 -0
- data/public/assets/blueprint/ie-0761b92d02baf44f0b2011e3009e6aa9.css +0 -36
- data/public/assets/blueprint/ie-0761b92d02baf44f0b2011e3009e6aa9.css.gz +0 -0
- data/public/assets/blueprint/ie.css +0 -36
- data/public/assets/blueprint/ie.css.gz +0 -0
- data/public/assets/blueprint/print-5340d510f8a3aaea2879ccb701f5ce4a.css +0 -30
- data/public/assets/blueprint/print-5340d510f8a3aaea2879ccb701f5ce4a.css.gz +0 -0
- data/public/assets/blueprint/print.css +0 -30
- data/public/assets/blueprint/print.css.gz +0 -0
- data/public/assets/blueprint/screen-b57fcdc7a38d7572b2f442522dbbde0d.css +0 -259
- data/public/assets/blueprint/screen-b57fcdc7a38d7572b2f442522dbbde0d.css.gz +0 -0
- data/public/assets/blueprint/screen.css +0 -259
- data/public/assets/blueprint/screen.css.gz +0 -0
- data/public/assets/branch-c1c90f973cc2cd8b2d5ae7e2214fd4f7.png +0 -0
- data/public/assets/branch.png +0 -0
- data/public/assets/categ-66a10d72780bccbd3a6f196091021bbf.png +0 -0
- data/public/assets/categ.png +0 -0
- data/public/assets/categ_open-2d3546d40f05036d0e08da8cb1d0fc87.png +0 -0
- data/public/assets/categ_open.png +0 -0
- data/public/assets/file-45c18a58eafafdac404d858f4a148cd2.gif +0 -0
- data/public/assets/file.gif +0 -0
- data/public/assets/folder-3f2075b676cac310e1f9daa39fc50d54.gif +0 -0
- data/public/assets/folder-closed-c6f37b78cc35d7b09ce4115625d665c2.gif +0 -0
- data/public/assets/folder-closed.gif +0 -0
- data/public/assets/folder.gif +0 -0
- data/public/assets/footer-3b7d79bf0c4924fc68b4eaf3927a29df.png +0 -0
- data/public/assets/footer.png +0 -0
- data/public/assets/go_there-de3af0fac53cd580c5967c841ed4e996.png +0 -0
- data/public/assets/go_there.png +0 -0
- data/public/assets/header_long-4eb824a89cfbbad56dfd917e6142a5da.png +0 -0
- data/public/assets/header_long.png +0 -0
- data/public/assets/iqvoc/ie_fixes-7a001f31445ddfb2e0668c419f81742f.css +0 -7
- data/public/assets/iqvoc/ie_fixes-7a001f31445ddfb2e0668c419f81742f.css.gz +0 -0
- data/public/assets/iqvoc/ie_fixes.css +0 -7
- data/public/assets/iqvoc/ie_fixes.css.gz +0 -0
- data/public/assets/iqvoc-37d26e519d0a9f0f70b9edba282a0cc7.png +0 -0
- data/public/assets/iqvoc.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-2cf4f64704121d570c8c944feecb599d.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100-8f50cdf335d64e5d9895aaec152586aa.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400-c149282e2a5d003d978b5c506282f9dd.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400-8d727817e068fe9f5e68574497632df1.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-e0594ba8df95fda58e653d52b471897e.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100-f0681dc174ac10396aafaad6a1911416.png +0 -0
- data/public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100-955df99e8d8cbf64b2994ababf68ad10.png +0 -0
- data/public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100-69d0968ce999cafcf93f3e46387c6f57.png +0 -0
- data/public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/public/assets/jquery-ui/ui-icons_217bc0_256x240-6dcd65bc29c791cb800678e3d2dff52a.png +0 -0
- data/public/assets/jquery-ui/ui-icons_217bc0_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_2e83ff_256x240-f4ef86290cf23b605ae667668f854294.png +0 -0
- data/public/assets/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_469bdd_256x240-7d1fb4e22e8b0406b8b539f3922df871.png +0 -0
- data/public/assets/jquery-ui/ui-icons_469bdd_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_6da8d5_256x240-8f956fe8d003b98a78c7cf3fd1f01b5a.png +0 -0
- data/public/assets/jquery-ui/ui-icons_6da8d5_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-5e404740e7b81db33ff68615256381c7.png +0 -0
- data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_d8e7f3_256x240-4a8e8266fbe7c500dbb89f245adb380a.png +0 -0
- data/public/assets/jquery-ui/ui-icons_d8e7f3_256x240.png +0 -0
- data/public/assets/jquery-ui/ui-icons_f9bd01_256x240-1bbe87b055494b5ffc3297ade0fd4e5d.png +0 -0
- data/public/assets/jquery-ui/ui-icons_f9bd01_256x240.png +0 -0
- data/public/assets/json2-c87ab6ae12eefd145eaabf20addd7d14.js +0 -157
- data/public/assets/json2-c87ab6ae12eefd145eaabf20addd7d14.js.gz +0 -0
- data/public/assets/json2.js +0 -157
- data/public/assets/json2.js.gz +0 -0
- data/public/assets/leaf_end-c746324c7ae93955a71344540e19be57.png +0 -0
- data/public/assets/leaf_end.png +0 -0
- data/public/assets/leaf_end_filled-ffd6d8a1edf2b6c89140039c41c5a6c8.png +0 -0
- data/public/assets/leaf_end_filled.png +0 -0
- data/public/assets/leaf_mid-36f0aeb7d394be1f41411cc898c849ee.png +0 -0
- data/public/assets/leaf_mid.png +0 -0
- data/public/assets/leaf_mid_filled-3f929ebf2751edaa0070cf020720239e.png +0 -0
- data/public/assets/leaf_mid_filled.png +0 -0
- data/public/assets/leaf_nothing-b16696e96882b9c52fb58505c747d152.png +0 -0
- data/public/assets/leaf_nothing.png +0 -0
- data/public/assets/leaf_only-832baae54f2ac297f04345301f9b2e8b.png +0 -0
- data/public/assets/leaf_only.png +0 -0
- data/public/assets/leaf_only_filled-845d1817f13a20b80c72c9c5d109ef89.png +0 -0
- data/public/assets/leaf_only_filled.png +0 -0
- data/public/assets/leaf_top-8b0c6af753f319d658fd15305b3f72e6.png +0 -0
- data/public/assets/leaf_top.png +0 -0
- data/public/assets/leaf_top_filled-46854fbdb9a9d53519587ebcf883fdf2.png +0 -0
- data/public/assets/leaf_top_filled.png +0 -0
- data/public/assets/manifest-6f0772f7ec93cc20de428ae859353e92.js +0 -21
- data/public/assets/manifest-6f0772f7ec93cc20de428ae859353e92.js.gz +0 -0
- data/public/assets/manifest-8554416e5abd292b31e978c42f20350f.css +0 -1126
- data/public/assets/manifest-8554416e5abd292b31e978c42f20350f.css.gz +0 -0
- data/public/assets/manifest-d52be2520b68121c73695e4026876a98.css +0 -1421
- data/public/assets/manifest-d52be2520b68121c73695e4026876a98.css.gz +0 -0
- data/public/assets/manifest-d65a2a29c82b44dda72b13621ddb47c7.js +0 -21
- data/public/assets/manifest-d65a2a29c82b44dda72b13621ddb47c7.js.gz +0 -0
- data/public/assets/manifest-ie-2d35dab17a0668b54761c5e09caa3a25.css +0 -45
- data/public/assets/manifest-ie-2d35dab17a0668b54761c5e09caa3a25.css.gz +0 -0
- data/public/assets/manifest-ie-c87ab6ae12eefd145eaabf20addd7d14.js +0 -157
- data/public/assets/manifest-ie-c87ab6ae12eefd145eaabf20addd7d14.js.gz +0 -0
- data/public/assets/manifest-ie.css +0 -45
- data/public/assets/manifest-ie.css.gz +0 -0
- data/public/assets/manifest-ie.js +0 -157
- data/public/assets/manifest-ie.js.gz +0 -0
- data/public/assets/manifest-print-fa33f9ec79743207309a4c15585417dd.css +0 -32
- data/public/assets/manifest-print-fa33f9ec79743207309a4c15585417dd.css.gz +0 -0
- data/public/assets/manifest-print.css +0 -32
- data/public/assets/manifest-print.css.gz +0 -0
- data/public/assets/manifest-screen-d75139d61efe94f6bee940daf1f205cd.css +0 -261
- data/public/assets/manifest-screen-d75139d61efe94f6bee940daf1f205cd.css.gz +0 -0
- data/public/assets/manifest-screen.css +0 -261
- data/public/assets/manifest-screen.css.gz +0 -0
- data/public/assets/manifest.css +0 -1421
- data/public/assets/manifest.css.gz +0 -0
- data/public/assets/manifest.js +0 -21
- data/public/assets/manifest.js.gz +0 -0
- data/public/assets/manifest.yml +0 -67
- data/public/assets/minus-b2a188eb9c79e297cf226940d274bde3.gif +0 -0
- data/public/assets/minus.gif +0 -0
- data/public/assets/nothing-13356bee8ae7be80ca9e2b12437ec11b.png +0 -0
- data/public/assets/nothing.png +0 -0
- data/public/assets/ok-b470e6ad2a51f8d831337bcdceac81b3.png +0 -0
- data/public/assets/ok.png +0 -0
- data/public/assets/plus-48a82f482680dc6a40b228c598f7737a.gif +0 -0
- data/public/assets/plus.gif +0 -0
- data/public/assets/rdf_flyer-2c03ecea52ac7c51ea052214ec51cf41.gif +0 -0
- data/public/assets/rdf_flyer.gif +0 -0
- data/public/assets/red_arrow-bd4018c221ad0d64ff39591301978985.png +0 -0
- data/public/assets/red_arrow.png +0 -0
- data/public/assets/shadow-e8b8808c02efb04cd6dd03cb60b1df51.png +0 -0
- data/public/assets/shadow.png +0 -0
- data/public/assets/spinner-376ad78a3c6a4731a4d08e6a7a958a08.gif +0 -0
- data/public/assets/spinner.gif +0 -0
- data/public/assets/tokenizer_delete-9fcf87a2460fd26e1d06694a674c64fd.png +0 -0
- data/public/assets/tokenizer_delete.png +0 -0
- data/public/assets/tokenizer_pencile-0ce94776c0a1a2f26de102be8d93e01f.png +0 -0
- data/public/assets/tokenizer_pencile.png +0 -0
- data/public/assets/tokenizer_show-3e3b535ad0047218c41a67bab0bde5a1.png +0 -0
- data/public/assets/tokenizer_show.png +0 -0
- data/public/assets/top_01-20317bcf2744bf21f09646edf1db83e3.png +0 -0
- data/public/assets/top_01.png +0 -0
- data/public/assets/treeview-black-b9efd44ad2274dd1a755680f05c97190.gif +0 -0
- data/public/assets/treeview-black-line-c017011af5be73fb837016e0a7548275.gif +0 -0
- data/public/assets/treeview-black-line.gif +0 -0
- data/public/assets/treeview-black.gif +0 -0
- data/public/assets/treeview-default-aa27b2f289c0f4e17c9848db92b7efc7.gif +0 -0
- data/public/assets/treeview-default-line-88dfb2ce9ef6ce0b6728e9b8b625dc56.gif +0 -0
- data/public/assets/treeview-default-line.gif +0 -0
- data/public/assets/treeview-default.gif +0 -0
- data/public/assets/treeview-famfamfam-e4842329994e3a6650a61aa96b744c88.gif +0 -0
- data/public/assets/treeview-famfamfam-line-f36551e5105684a46193f6723fe9dd02.gif +0 -0
- data/public/assets/treeview-famfamfam-line.gif +0 -0
- data/public/assets/treeview-famfamfam.gif +0 -0
- data/public/assets/treeview-gray-7725ad8dad103df1dddd282e8b76ad38.gif +0 -0
- data/public/assets/treeview-gray-line-139b3c730f3ea071ee459da1c97ceddb.gif +0 -0
- data/public/assets/treeview-gray-line.gif +0 -0
- data/public/assets/treeview-gray.gif +0 -0
- data/public/assets/treeview-red-abf293cd5d1fe415f8c11bd96936f8e4.gif +0 -0
- data/public/assets/treeview-red-line-1a93b70ab4c8e3cd5982e91e9def3afe.gif +0 -0
- data/public/assets/treeview-red-line.gif +0 -0
- data/public/assets/treeview-red.gif +0 -0
- data/public/assets/trunk-608b3757340ea0e291ef7bae37739530.png +0 -0
- data/public/assets/trunk.png +0 -0
- data/public/assets/unfinished-7f5796d43fa537f8e16caddaf0ba759b.png +0 -0
- data/public/assets/unfinished.png +0 -0
- data/public/stylesheets/iqvoc/ie_fixes.css +0 -6
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -19,17 +19,17 @@ source 'http://rubygems.org'
|
|
19
19
|
# TODO: The following dependencies could be included by the "gemspec" command.
|
20
20
|
# There is only one problem: gemspec puts the dependencies automatically to a
|
21
21
|
# group (:development by default). This is not what we need.
|
22
|
-
gem 'rails', '3.1
|
22
|
+
gem 'rails', '3.2.1'
|
23
23
|
|
24
24
|
group :assets do
|
25
|
-
gem 'uglifier'
|
26
|
-
gem 'therubyracer'
|
25
|
+
gem 'uglifier', '>= 1.0.3'
|
26
|
+
gem 'therubyracer', :platforms => :ruby
|
27
27
|
end
|
28
28
|
|
29
29
|
gem 'kaminari'
|
30
30
|
gem 'authlogic'
|
31
31
|
gem 'cancan'
|
32
|
-
gem 'iq_rdf', '~> 0.1.
|
32
|
+
gem 'iq_rdf', '~> 0.1.2'
|
33
33
|
gem 'json'
|
34
34
|
gem 'rails_autolink'
|
35
35
|
|
@@ -37,16 +37,21 @@ group :development do
|
|
37
37
|
gem 'awesome_print'
|
38
38
|
gem 'capistrano'
|
39
39
|
gem 'capistrano-ext'
|
40
|
-
gem 'rvm' # RVM API (for
|
40
|
+
gem 'rvm' # RVM API (for Capistrano deployments)
|
41
41
|
gem 'heroku'
|
42
|
+
gem 'view_marker'
|
42
43
|
end
|
43
44
|
|
44
45
|
group :development, :test do
|
45
46
|
platforms :ruby do
|
46
47
|
gem 'mysql2'
|
47
48
|
gem 'sqlite3'
|
49
|
+
# v0.9 required for spork-testunit
|
50
|
+
gem 'spork', '~> 0.9.0.rc'
|
51
|
+
# head required for Ruby 1.9.3 compatibility; cf. https://github.com/sporkrb/spork-testunit/pull/17
|
52
|
+
gem 'spork-testunit', :git => 'git://github.com/sporkrb/spork-testunit.git'
|
48
53
|
end
|
49
|
-
|
54
|
+
|
50
55
|
platforms :jruby do
|
51
56
|
gem 'activerecord-jdbcmysql-adapter'
|
52
57
|
gem 'activerecord-jdbcsqlite3-adapter'
|
@@ -64,15 +69,10 @@ group :test do
|
|
64
69
|
end
|
65
70
|
|
66
71
|
group :production do
|
67
|
-
platforms :ruby
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
platforms :jruby do
|
72
|
-
gem 'activerecord-oracle_enhanced-adapter'
|
73
|
-
end
|
72
|
+
gem 'sqlite3', :platforms => :ruby
|
73
|
+
gem 'activerecord-oracle_enhanced-adapter', :platforms => :ruby
|
74
74
|
end
|
75
75
|
|
76
76
|
group :heroku do
|
77
|
-
gem 'pg'
|
77
|
+
gem 'pg', :platforms => :ruby
|
78
78
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,37 +1,44 @@
|
|
1
|
+
GIT
|
2
|
+
remote: git://github.com/sporkrb/spork-testunit.git
|
3
|
+
revision: fcf530694dd8c7fed752cf45e0d10db1ea55e3f6
|
4
|
+
specs:
|
5
|
+
spork-testunit (0.0.7)
|
6
|
+
spork (>= 0.6.0)
|
7
|
+
|
1
8
|
GEM
|
2
9
|
remote: http://rubygems.org/
|
3
10
|
specs:
|
4
|
-
actionmailer (3.1
|
5
|
-
actionpack (= 3.1
|
6
|
-
mail (~> 2.
|
7
|
-
actionpack (3.1
|
8
|
-
activemodel (= 3.1
|
9
|
-
activesupport (= 3.1
|
11
|
+
actionmailer (3.2.1)
|
12
|
+
actionpack (= 3.2.1)
|
13
|
+
mail (~> 2.4.0)
|
14
|
+
actionpack (3.2.1)
|
15
|
+
activemodel (= 3.2.1)
|
16
|
+
activesupport (= 3.2.1)
|
10
17
|
builder (~> 3.0.0)
|
11
18
|
erubis (~> 2.7.0)
|
12
|
-
|
13
|
-
rack (~> 1.
|
19
|
+
journey (~> 1.0.1)
|
20
|
+
rack (~> 1.4.0)
|
14
21
|
rack-cache (~> 1.1)
|
15
|
-
rack-mount (~> 0.8.2)
|
16
22
|
rack-test (~> 0.6.1)
|
17
|
-
sprockets (~> 2.
|
18
|
-
activemodel (3.1
|
19
|
-
activesupport (= 3.1
|
23
|
+
sprockets (~> 2.1.2)
|
24
|
+
activemodel (3.2.1)
|
25
|
+
activesupport (= 3.2.1)
|
20
26
|
builder (~> 3.0.0)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
arel (~> 2.2.1)
|
27
|
+
activerecord (3.2.1)
|
28
|
+
activemodel (= 3.2.1)
|
29
|
+
activesupport (= 3.2.1)
|
30
|
+
arel (~> 3.0.0)
|
26
31
|
tzinfo (~> 0.3.29)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
32
|
+
activerecord-oracle_enhanced-adapter (1.4.0)
|
33
|
+
activeresource (3.2.1)
|
34
|
+
activemodel (= 3.2.1)
|
35
|
+
activesupport (= 3.2.1)
|
36
|
+
activesupport (3.2.1)
|
37
|
+
i18n (~> 0.6)
|
31
38
|
multi_json (~> 1.0)
|
32
39
|
addressable (2.2.6)
|
33
40
|
ansi (1.4.1)
|
34
|
-
arel (
|
41
|
+
arel (3.0.0)
|
35
42
|
authlogic (3.1.0)
|
36
43
|
activerecord (>= 3.0.7)
|
37
44
|
activerecord (>= 3.0.7)
|
@@ -53,32 +60,34 @@ GEM
|
|
53
60
|
rack-test (>= 0.5.4)
|
54
61
|
selenium-webdriver (~> 2.0)
|
55
62
|
xpath (~> 0.1.4)
|
56
|
-
capybara-webkit (0.
|
63
|
+
capybara-webkit (0.8.0)
|
57
64
|
capybara (>= 1.0.0, < 1.2)
|
58
|
-
|
65
|
+
json
|
66
|
+
childprocess (0.3.0)
|
59
67
|
ffi (~> 1.0.6)
|
60
|
-
database_cleaner (0.7.
|
68
|
+
database_cleaner (0.7.1)
|
61
69
|
erubis (2.7.0)
|
62
|
-
execjs (1.
|
70
|
+
execjs (1.3.0)
|
63
71
|
multi_json (~> 1.0)
|
64
|
-
factory_girl (2.
|
72
|
+
factory_girl (2.5.0)
|
65
73
|
activesupport
|
66
|
-
factory_girl_rails (1.
|
67
|
-
factory_girl (~> 2.
|
74
|
+
factory_girl_rails (1.6.0)
|
75
|
+
factory_girl (~> 2.5.0)
|
68
76
|
railties (>= 3.0.0)
|
69
77
|
ffi (1.0.11)
|
70
|
-
heroku (2.
|
78
|
+
heroku (2.19.0)
|
71
79
|
launchy (>= 0.3.2)
|
72
80
|
rest-client (~> 1.6.1)
|
73
81
|
rubyzip
|
74
82
|
term-ansicolor (~> 1.0.5)
|
75
|
-
highline (1.6.
|
83
|
+
highline (1.6.11)
|
76
84
|
hike (1.2.1)
|
77
85
|
i18n (0.6.0)
|
78
|
-
iq_rdf (0.1.
|
86
|
+
iq_rdf (0.1.2)
|
79
87
|
builder
|
80
88
|
bundler
|
81
|
-
|
89
|
+
journey (1.0.1)
|
90
|
+
json (1.6.5)
|
82
91
|
kaminari (0.13.0)
|
83
92
|
actionpack (>= 3.0.0)
|
84
93
|
activesupport (>= 3.0.0)
|
@@ -86,7 +95,7 @@ GEM
|
|
86
95
|
launchy (2.0.5)
|
87
96
|
addressable (~> 2.2.6)
|
88
97
|
libv8 (3.3.10.4)
|
89
|
-
mail (2.
|
98
|
+
mail (2.4.1)
|
90
99
|
i18n (>= 0.4.0)
|
91
100
|
mime-types (~> 1.16)
|
92
101
|
treetop (~> 1.4.8)
|
@@ -104,28 +113,26 @@ GEM
|
|
104
113
|
nokogiri (1.5.0)
|
105
114
|
pg (0.12.2)
|
106
115
|
polyglot (0.3.3)
|
107
|
-
rack (1.
|
116
|
+
rack (1.4.1)
|
108
117
|
rack-cache (1.1)
|
109
118
|
rack (>= 0.4)
|
110
|
-
rack-mount (0.8.3)
|
111
|
-
rack (>= 1.0.0)
|
112
119
|
rack-ssl (1.3.2)
|
113
120
|
rack
|
114
121
|
rack-test (0.6.1)
|
115
122
|
rack (>= 1.0)
|
116
|
-
rails (3.1
|
117
|
-
actionmailer (= 3.1
|
118
|
-
actionpack (= 3.1
|
119
|
-
activerecord (= 3.1
|
120
|
-
activeresource (= 3.1
|
121
|
-
activesupport (= 3.1
|
123
|
+
rails (3.2.1)
|
124
|
+
actionmailer (= 3.2.1)
|
125
|
+
actionpack (= 3.2.1)
|
126
|
+
activerecord (= 3.2.1)
|
127
|
+
activeresource (= 3.2.1)
|
128
|
+
activesupport (= 3.2.1)
|
122
129
|
bundler (~> 1.0)
|
123
|
-
railties (= 3.1
|
130
|
+
railties (= 3.2.1)
|
124
131
|
rails_autolink (1.0.4)
|
125
132
|
rails (>= 3.1.0)
|
126
|
-
railties (3.1
|
127
|
-
actionpack (= 3.1
|
128
|
-
activesupport (= 3.1
|
133
|
+
railties (3.2.1)
|
134
|
+
actionpack (= 3.2.1)
|
135
|
+
activesupport (= 3.2.1)
|
129
136
|
rack-ssl (~> 1.3.2)
|
130
137
|
rake (>= 0.8.7)
|
131
138
|
rdoc (~> 3.4)
|
@@ -137,12 +144,13 @@ GEM
|
|
137
144
|
mime-types (>= 1.16)
|
138
145
|
rubyzip (0.9.5)
|
139
146
|
rvm (1.9.2)
|
140
|
-
selenium-webdriver (2.
|
147
|
+
selenium-webdriver (2.17.0)
|
141
148
|
childprocess (>= 0.2.5)
|
142
149
|
ffi (~> 1.0.9)
|
143
150
|
multi_json (~> 1.0.4)
|
144
151
|
rubyzip
|
145
|
-
|
152
|
+
spork (0.9.0)
|
153
|
+
sprockets (2.1.2)
|
146
154
|
hike (~> 1.2)
|
147
155
|
rack (~> 1.0)
|
148
156
|
tilt (~> 1.1, != 1.3.0)
|
@@ -158,9 +166,11 @@ GEM
|
|
158
166
|
turn (0.8.3)
|
159
167
|
ansi
|
160
168
|
tzinfo (0.3.31)
|
161
|
-
uglifier (1.2.
|
169
|
+
uglifier (1.2.2)
|
162
170
|
execjs (>= 0.3.0)
|
163
171
|
multi_json (>= 1.0.2)
|
172
|
+
view_marker (1.0.0)
|
173
|
+
rails
|
164
174
|
xpath (0.1.4)
|
165
175
|
nokogiri (~> 1.3)
|
166
176
|
|
@@ -181,17 +191,20 @@ DEPENDENCIES
|
|
181
191
|
database_cleaner
|
182
192
|
factory_girl_rails
|
183
193
|
heroku
|
184
|
-
iq_rdf (~> 0.1.
|
194
|
+
iq_rdf (~> 0.1.2)
|
185
195
|
json
|
186
196
|
kaminari
|
187
197
|
memory_test_fix
|
188
198
|
mysql2
|
189
199
|
nokogiri (~> 1.5.0)
|
190
200
|
pg
|
191
|
-
rails (= 3.1
|
201
|
+
rails (= 3.2.1)
|
192
202
|
rails_autolink
|
193
203
|
rvm
|
204
|
+
spork (~> 0.9.0.rc)
|
205
|
+
spork-testunit!
|
194
206
|
sqlite3
|
195
207
|
therubyracer
|
196
208
|
turn
|
197
|
-
uglifier
|
209
|
+
uglifier (>= 1.0.3)
|
210
|
+
view_marker
|
@@ -178,7 +178,7 @@ jQuery(document).ready(function($) {
|
|
178
178
|
updateNoteLangs(data.langs);
|
179
179
|
});
|
180
180
|
var langSelector = new IQVOC.LanguageSelector(langWidget, "lang_selected");
|
181
|
-
if($("#
|
181
|
+
if($("#new_concept, #edit_concept").length) { // edit mode
|
182
182
|
// disable secondary language selection to avoid excessive state complexity
|
183
183
|
$(":checkbox", langSelector.container).prop("disabled", true);
|
184
184
|
}
|
@@ -247,6 +247,12 @@ ul#navi_main li {
|
|
247
247
|
margin-right: 1.5em;
|
248
248
|
}
|
249
249
|
|
250
|
+
#dashboard_controls li:last-child {
|
251
|
+
float: right;
|
252
|
+
margin-right: 0;
|
253
|
+
margin-left: 1.5em;
|
254
|
+
}
|
255
|
+
|
250
256
|
#footer {
|
251
257
|
background: url(<%= asset_data_uri 'footer.png' %>) no-repeat top right;
|
252
258
|
height: 43px;
|
@@ -29,6 +29,7 @@ class Concepts::UntranslatedController < ConceptsController
|
|
29
29
|
missing_translation(I18n.locale, Iqvoc::Concept.pref_labeling_languages.first)
|
30
30
|
|
31
31
|
if I18n.locale == Iqvoc::Concept.pref_labeling_languages.first # TODO: Should be 404!
|
32
|
+
@labels = []
|
32
33
|
flash[:error] = I18n.t("txt.views.untranslated_concepts.unavailable")
|
33
34
|
else
|
34
35
|
@labels = scope.order("LOWER(labels.value)").page(params[:page])
|
data/app/models/concept/base.rb
CHANGED
@@ -28,7 +28,7 @@ class Concept::Relation::Base < ActiveRecord::Base
|
|
28
28
|
# the Concept::Relation::* classes. If this would trigger Rails to load
|
29
29
|
# Concept::Base we would have a loop == a problem.
|
30
30
|
|
31
|
-
|
31
|
+
self.table_name = 'concept_relations'
|
32
32
|
|
33
33
|
class_attribute :rdf_namespace, :rdf_predicate
|
34
34
|
self.rdf_namespace = nil
|
@@ -19,26 +19,26 @@ module Concept
|
|
19
19
|
module ReverseRelationExtension
|
20
20
|
|
21
21
|
def create_with_reverse_relation(target_concept)
|
22
|
-
relation_class =
|
22
|
+
relation_class = proxy_association.reflection.class_name.constantize
|
23
23
|
ActiveRecord::Base.transaction do
|
24
24
|
# The one direction
|
25
|
-
scope = relation_class.where(:owner_id =>
|
25
|
+
scope = relation_class.where(:owner_id => proxy_association.owner.id, :target_id => target_concept.id)
|
26
26
|
scope.any? || scope.create!
|
27
27
|
|
28
28
|
# The reverse direction
|
29
|
-
scope = relation_class.reverse_relation_class.where(:owner_id => target_concept.id, :target_id =>
|
29
|
+
scope = relation_class.reverse_relation_class.where(:owner_id => target_concept.id, :target_id => proxy_association.owner.id)
|
30
30
|
scope.any? || scope.create!
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
def destroy_with_reverse_relation(target_concept)
|
35
|
-
relation_class =
|
35
|
+
relation_class = proxy_association.reflection.class_name.constantize
|
36
36
|
ActiveRecord::Base.transaction do
|
37
|
-
relation_class.where(:owner_id =>
|
37
|
+
relation_class.where(:owner_id => proxy_association.owner.id, :target_id => target_concept.id).all.each do |relation|
|
38
38
|
relation.destroy
|
39
39
|
end
|
40
40
|
|
41
|
-
relation_class.reverse_relation_class.where(:owner_id => target_concept.id, :target_id =>
|
41
|
+
relation_class.reverse_relation_class.where(:owner_id => target_concept.id, :target_id => proxy_association.owner.id).all.each do |relation|
|
42
42
|
relation.destroy
|
43
43
|
end
|
44
44
|
end
|
data/app/models/label/base.rb
CHANGED
data/app/models/labeling/base.rb
CHANGED
data/app/models/match/base.rb
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
class Note::Annotated::Base < ActiveRecord::Base # FIXME: Why isn't this Note::Annotation::Base? This looks like an annotated note - but it is an annotation *for* a note!?
|
18
18
|
|
19
|
-
|
19
|
+
self.table_name = 'note_annotations'
|
20
20
|
|
21
21
|
belongs_to :note, :class_name => Note::Base.name
|
22
22
|
|
data/app/models/note/base.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= letter_selector { |letter| untranslated_concepts_path(:letter => letter.to_s.downcase) } %>
|
6
6
|
|
7
7
|
<ul>
|
8
|
-
<%
|
8
|
+
<% @labels.each do |label| %>
|
9
9
|
<li>
|
10
10
|
<% if label.pref_labeled_concepts.length > 1 %>
|
11
11
|
<%= label.value %>:
|
@@ -19,5 +19,5 @@
|
|
19
19
|
<% end %>
|
20
20
|
</ul>
|
21
21
|
|
22
|
-
<%= paginate @labels %>
|
22
|
+
<%= paginate @labels if @labels.present? %>
|
23
23
|
<% end %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</li>
|
13
13
|
<%- end -%>
|
14
14
|
<%- if can?(:import, Concept::Base) -%>
|
15
|
-
<li><%= link_to(t('txt.views.dashboard.import') , import_url) %></li>
|
15
|
+
<li><%= link_to(t('txt.views.dashboard.import') , import_url, :class => "button") %></li>
|
16
16
|
<%- end -%>
|
17
17
|
<%#= link_to "Triple Store Sync", new_triple_store_sync_path %>
|
18
18
|
</ul>
|
@@ -6,10 +6,12 @@
|
|
6
6
|
<%= csrf_meta_tag %>
|
7
7
|
|
8
8
|
<title><%= Iqvoc.title || t("txt.common.iqvoc_title") %></title>
|
9
|
-
|
9
|
+
<%= stylesheet_link_tag "blueprint/screen", :media => "screen, projection" %>
|
10
|
+
<%= stylesheet_link_tag "blueprint/print", :media => "print" %>
|
10
11
|
<!--[if lt IE 8]>
|
11
12
|
<%= stylesheet_link_tag "blueprint/ie", :media => "screen, projection" %>
|
12
13
|
<![endif]-->
|
14
|
+
<%= stylesheet_link_tag "manifest" %>
|
13
15
|
<!--[if (gte IE 6)&(lte IE 8)]>
|
14
16
|
<%= stylesheet_link_tag "iqvoc/ie_fixes" %>
|
15
17
|
<![endif]-->
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<%- if owner = result.owner -%>
|
2
2
|
<dt>
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
<% case owner.class.name %>
|
4
|
+
<% when Iqvoc::Concept.base_class_name %>
|
5
|
+
<%= link_to highlight_query(result.target.value, params[:query]), concept_path(:id => owner) %>
|
6
|
+
<% when Iqvoc::Collection.base_class_name %>
|
7
|
+
<%= link_to highlight_query(result.target.value, params[:query]), collection_path(:id => owner) %>
|
8
|
+
<% end %>
|
9
9
|
<%- if owner.additional_info.present? -%>
|
10
10
|
(<%= owner.additional_info %>)
|
11
11
|
<%- end -%>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<dt>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
2
|
+
<% result.annotations.each do |annotation| %>
|
3
|
+
<% if result.owner.is_a?(Concept::Base) %>
|
4
|
+
<%= link_to highlight_query("#{annotation.predicate}: #{annotation.value}", params[:query]), concept_path(:id => result.owner) %><br>
|
5
|
+
<% elsif result.owner.is_a?(Label::Base) %>
|
6
|
+
<%= link_to highlight_query("#{annotation.predicate}: #{annotation.value}", params[:query]), label_path(:id => result.owner) %><br>
|
7
|
+
<% elsif result.owner.is_a?(Collection::Base) %>
|
8
|
+
<%= link_to highlight_query("#{annotation.predicate}: #{annotation.value}", params[:query]), collection_path(:id => result.owner) %><br>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
11
|
</dt>
|
12
12
|
<dd><%= t('txt.views.search_results.type') %>: <%= result.class.model_name.human %></dd>
|
@@ -40,12 +40,12 @@
|
|
40
40
|
<%= text_field_tag :q, params[:query] %>
|
41
41
|
<% end %>
|
42
42
|
</li>
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
43
|
+
<li class="result_type_filter">
|
44
|
+
<label><%= t('txt.views.search_results.for') %></label>
|
45
|
+
<%= radio_button_tag 'for', 'concept', params[:for] == "concept" %> <label for="for_concept"><%= Iqvoc::Concept.base_class.model_name.human %></label>
|
46
|
+
<%= radio_button_tag 'for', 'collection', params[:for] == "collection" %> <label for="for_collection"><%= Iqvoc::Collection.base_class.model_name.human %></label>
|
47
|
+
<%= radio_button_tag 'for', 'all', !%w(concept collection).include?(params[:for]) %> <label for="for_all"><%= t("txt.views.search_results.all") %></label>
|
48
|
+
</li>
|
49
49
|
<li>
|
50
50
|
<label for"c"><%= Iqvoc::Collection.base_class.model_name.human %></label>
|
51
51
|
<%= 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 %>
|
@@ -14,16 +14,7 @@
|
|
14
14
|
# See the License for the specific language governing permissions and
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
# Add a line to the log to mark the beginning of the view
|
20
|
-
def render_with_hook_for_logging(options = nil, extra_options = {})
|
21
|
-
logger.debug ' Started view rendering '.center(80, '-')
|
22
|
-
render_without_hook_for_logging(options, extra_options)
|
23
|
-
end
|
24
|
-
alias_method_chain :render, :hook_for_logging
|
25
|
-
|
26
|
-
end
|
17
|
+
require 'debug'
|
27
18
|
|
28
19
|
if Iqvoc.const_defined?(:Application)
|
29
20
|
Iqvoc::Application.configure do
|
@@ -55,6 +46,16 @@ if Iqvoc.const_defined?(:Application)
|
|
55
46
|
|
56
47
|
# Expands the lines which load the assets
|
57
48
|
config.assets.debug = true
|
49
|
+
|
50
|
+
# Raise exception on mass assignment protection for Active Record models
|
51
|
+
config.active_record.mass_assignment_sanitizer = :logger
|
52
|
+
|
53
|
+
# Log the query plan for queries taking more than this (works
|
54
|
+
# with SQLite, MySQL, and PostgreSQL)
|
55
|
+
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
56
|
+
|
57
|
+
# Prepend all log lines with the following tags
|
58
|
+
# config.log_tags = [ :subdomain, :uuid ]
|
58
59
|
|
59
60
|
# The default URI prefix for RDF data. This will be followed by a document
|
60
61
|
# specific shnippet like (specimenType) and the id.
|
data/config/environments/test.rb
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
# See the License for the specific language governing permissions and
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
|
+
require 'debug'
|
18
|
+
|
17
19
|
if Iqvoc.const_defined?(:Application)
|
18
20
|
Iqvoc::Application.configure do
|
19
21
|
# Settings specified here will take precedence over those in config/environment.rb
|
@@ -56,5 +58,11 @@ if Iqvoc.const_defined?(:Application)
|
|
56
58
|
|
57
59
|
# Allow pass debug_assets=true as a query parameter to load pages with unpackaged assets
|
58
60
|
config.assets.allow_debugging = true
|
61
|
+
|
62
|
+
# Raise exception on mass assignment protection for Active Record models
|
63
|
+
config.active_record.mass_assignment_sanitizer = :logger
|
64
|
+
|
65
|
+
# Print deprecation notices to the stderr
|
66
|
+
config.active_support.deprecation = :stderr
|
59
67
|
end
|
60
68
|
end
|
@@ -24,23 +24,20 @@ require 'iqvoc/ability'
|
|
24
24
|
|
25
25
|
ActiveRecord::Base.send :include, Iqvoc::DeepCloning
|
26
26
|
|
27
|
-
|
28
27
|
##### INSTANCE SETTINGS #####
|
29
28
|
|
30
29
|
# uncomment the settings below and adjust as desired
|
31
30
|
# see lib/iqvoc.rb for the full list of available setting
|
32
31
|
|
33
|
-
|
34
|
-
|
32
|
+
unless Rails.env.test?
|
35
33
|
# Iqvoc.title = "My Thesaurus"
|
36
34
|
|
37
35
|
# interface languages (cf. config/locales)
|
38
|
-
# available_languages = [ :en, :de ]
|
36
|
+
# Iqvoc.available_languages = [ :en, :de ]
|
39
37
|
|
40
38
|
# label languages (and classes)
|
41
39
|
# Iqvoc::Concept.pref_labeling_languages = [ :de, :en ]
|
42
40
|
# Iqvoc::Concept.further_labeling_class_names = {
|
43
41
|
# "Labeling::SKOS::AltLabel" => [ :de, :en ]
|
44
42
|
# }
|
45
|
-
|
46
43
|
end
|
@@ -17,7 +17,6 @@
|
|
17
17
|
# Be sure to restart your server when you modify this file.
|
18
18
|
|
19
19
|
if Iqvoc.const_defined?(:Application)
|
20
|
-
|
21
20
|
# Your secret key for verifying the integrity of signed cookies.
|
22
21
|
# If you change this key, all old signed cookies will become invalid!
|
23
22
|
# Make sure the secret is at least 30 characters and all random,
|
@@ -26,5 +25,4 @@ if Iqvoc.const_defined?(:Application)
|
|
26
25
|
# Run `rake secret` and uncomment the following line
|
27
26
|
# Replace the secret-placeholder with your generated token
|
28
27
|
Iqvoc::Application.config.secret_token = '175128c5b4a40cfd8b1db1ab15606e20a2263346eca7a1f89b5e06bea6f1d822ac794262642605b53c8c632062826799726e348f383d6b88c19eb93a60c75948'
|
29
|
-
|
30
28
|
end
|