iqvoc 3.3.4 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/Gemfile +14 -14
  3. data/Gemfile.lock +66 -53
  4. data/app/assets/javascripts/iqvoc/iqvoc.js +1 -1
  5. data/app/assets/stylesheets/framework.css +0 -2
  6. data/app/assets/stylesheets/iqvoc/iqvoc.css.erb +6 -0
  7. data/app/controllers/concepts/untranslated_controller.rb +1 -0
  8. data/app/models/collection/member/base.rb +2 -2
  9. data/app/models/concept/base.rb +1 -1
  10. data/app/models/concept/relation/base.rb +1 -1
  11. data/app/models/concept/relation/reverse_relation_extension.rb +6 -6
  12. data/app/models/label/base.rb +1 -1
  13. data/app/models/labeling/base.rb +1 -1
  14. data/app/models/match/base.rb +1 -1
  15. data/app/models/note/annotated/base.rb +1 -1
  16. data/app/models/note/base.rb +1 -1
  17. data/app/views/concepts/untranslated/index.html.erb +2 -2
  18. data/app/views/dashboard/index.html.erb +1 -1
  19. data/app/views/layouts/application.html.erb +3 -1
  20. data/app/views/partials/labeling/skos/_search_result.html.erb +6 -6
  21. data/app/views/partials/note/skos/change_note/_search_result.html.erb +9 -9
  22. data/app/views/search_results/index.html.erb +6 -6
  23. data/config/environments/development.rb +11 -10
  24. data/config/environments/test.rb +8 -0
  25. data/config/initializers/iqvoc.rb +2 -5
  26. data/config/initializers/secret_token.rb +0 -2
  27. data/db/schema.rb +9 -4
  28. data/iqvoc.gemspec +2 -2
  29. data/lib/debug.rb +14 -0
  30. data/lib/iqvoc/version.rb +1 -1
  31. data/lib/iqvoc.rb +2 -0
  32. data/test/integration/alphabetical_test.rb +1 -2
  33. data/test/integration/authentication_test.rb +1 -2
  34. data/test/integration/browse_concepts_and_labels_test.rb +1 -2
  35. data/test/integration/browse_static_pages_test.rb +1 -2
  36. data/test/integration/client_augmentation_test.rb +17 -1
  37. data/test/integration/client_edit_concept_test.rb +20 -3
  38. data/test/integration/collection_circularity_test.rb +2 -2
  39. data/test/integration/concept_test.rb +1 -2
  40. data/test/integration/edit_concepts_test.rb +1 -2
  41. data/test/integration/note_annotations_test.rb +1 -2
  42. data/test/integration/search_test.rb +1 -2
  43. data/test/integration/tree_test.rb +1 -2
  44. data/test/integration/untranslated_test.rb +5 -3
  45. data/test/integration_test_helper.rb +14 -1
  46. data/test/performance/browsing_test.rb +1 -1
  47. data/test/test_helper.rb +8 -10
  48. data/vendor/assets/stylesheets/blueprint/print.css +0 -4
  49. data/vendor/assets/stylesheets/blueprint/screen.css +0 -4
  50. metadata +21 -198
  51. data/public/assets/ajax-loader-0fa916c3be443770cc9e800077e4e9b2.gif +0 -0
  52. data/public/assets/ajax-loader.gif +0 -0
  53. data/public/assets/application-d65a2a29c82b44dda72b13621ddb47c7.js +0 -21
  54. data/public/assets/application-d65a2a29c82b44dda72b13621ddb47c7.js.gz +0 -0
  55. data/public/assets/application.js +0 -21
  56. data/public/assets/application.js.gz +0 -0
  57. data/public/assets/arrow_down-5207848d1c2483637d23222d0a699bec.gif +0 -0
  58. data/public/assets/arrow_down.gif +0 -0
  59. data/public/assets/arrow_up-05112da8e77bcb5e6f0c74923d8d2046.gif +0 -0
  60. data/public/assets/arrow_up.gif +0 -0
  61. data/public/assets/back-c6339fdb1267ffad7181a80f4a8193fc.png +0 -0
  62. data/public/assets/back.png +0 -0
  63. data/public/assets/blueprint/ie-0761b92d02baf44f0b2011e3009e6aa9.css +0 -36
  64. data/public/assets/blueprint/ie-0761b92d02baf44f0b2011e3009e6aa9.css.gz +0 -0
  65. data/public/assets/blueprint/ie.css +0 -36
  66. data/public/assets/blueprint/ie.css.gz +0 -0
  67. data/public/assets/blueprint/print-5340d510f8a3aaea2879ccb701f5ce4a.css +0 -30
  68. data/public/assets/blueprint/print-5340d510f8a3aaea2879ccb701f5ce4a.css.gz +0 -0
  69. data/public/assets/blueprint/print.css +0 -30
  70. data/public/assets/blueprint/print.css.gz +0 -0
  71. data/public/assets/blueprint/screen-b57fcdc7a38d7572b2f442522dbbde0d.css +0 -259
  72. data/public/assets/blueprint/screen-b57fcdc7a38d7572b2f442522dbbde0d.css.gz +0 -0
  73. data/public/assets/blueprint/screen.css +0 -259
  74. data/public/assets/blueprint/screen.css.gz +0 -0
  75. data/public/assets/branch-c1c90f973cc2cd8b2d5ae7e2214fd4f7.png +0 -0
  76. data/public/assets/branch.png +0 -0
  77. data/public/assets/categ-66a10d72780bccbd3a6f196091021bbf.png +0 -0
  78. data/public/assets/categ.png +0 -0
  79. data/public/assets/categ_open-2d3546d40f05036d0e08da8cb1d0fc87.png +0 -0
  80. data/public/assets/categ_open.png +0 -0
  81. data/public/assets/file-45c18a58eafafdac404d858f4a148cd2.gif +0 -0
  82. data/public/assets/file.gif +0 -0
  83. data/public/assets/folder-3f2075b676cac310e1f9daa39fc50d54.gif +0 -0
  84. data/public/assets/folder-closed-c6f37b78cc35d7b09ce4115625d665c2.gif +0 -0
  85. data/public/assets/folder-closed.gif +0 -0
  86. data/public/assets/folder.gif +0 -0
  87. data/public/assets/footer-3b7d79bf0c4924fc68b4eaf3927a29df.png +0 -0
  88. data/public/assets/footer.png +0 -0
  89. data/public/assets/go_there-de3af0fac53cd580c5967c841ed4e996.png +0 -0
  90. data/public/assets/go_there.png +0 -0
  91. data/public/assets/header_long-4eb824a89cfbbad56dfd917e6142a5da.png +0 -0
  92. data/public/assets/header_long.png +0 -0
  93. data/public/assets/iqvoc/ie_fixes-7a001f31445ddfb2e0668c419f81742f.css +0 -7
  94. data/public/assets/iqvoc/ie_fixes-7a001f31445ddfb2e0668c419f81742f.css.gz +0 -0
  95. data/public/assets/iqvoc/ie_fixes.css +0 -7
  96. data/public/assets/iqvoc/ie_fixes.css.gz +0 -0
  97. data/public/assets/iqvoc-37d26e519d0a9f0f70b9edba282a0cc7.png +0 -0
  98. data/public/assets/iqvoc.png +0 -0
  99. data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-2cf4f64704121d570c8c944feecb599d.png +0 -0
  100. data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  101. data/public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100-8f50cdf335d64e5d9895aaec152586aa.png +0 -0
  102. data/public/assets/jquery-ui/ui-bg_flat_55_fbec88_40x100.png +0 -0
  103. data/public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400-c149282e2a5d003d978b5c506282f9dd.png +0 -0
  104. data/public/assets/jquery-ui/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  105. data/public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400-8d727817e068fe9f5e68574497632df1.png +0 -0
  106. data/public/assets/jquery-ui/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  107. data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-e0594ba8df95fda58e653d52b471897e.png +0 -0
  108. data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  109. data/public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100-f0681dc174ac10396aafaad6a1911416.png +0 -0
  110. data/public/assets/jquery-ui/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  111. data/public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100-955df99e8d8cbf64b2994ababf68ad10.png +0 -0
  112. data/public/assets/jquery-ui/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  113. data/public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100-69d0968ce999cafcf93f3e46387c6f57.png +0 -0
  114. data/public/assets/jquery-ui/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  115. data/public/assets/jquery-ui/ui-icons_217bc0_256x240-6dcd65bc29c791cb800678e3d2dff52a.png +0 -0
  116. data/public/assets/jquery-ui/ui-icons_217bc0_256x240.png +0 -0
  117. data/public/assets/jquery-ui/ui-icons_2e83ff_256x240-f4ef86290cf23b605ae667668f854294.png +0 -0
  118. data/public/assets/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  119. data/public/assets/jquery-ui/ui-icons_469bdd_256x240-7d1fb4e22e8b0406b8b539f3922df871.png +0 -0
  120. data/public/assets/jquery-ui/ui-icons_469bdd_256x240.png +0 -0
  121. data/public/assets/jquery-ui/ui-icons_6da8d5_256x240-8f956fe8d003b98a78c7cf3fd1f01b5a.png +0 -0
  122. data/public/assets/jquery-ui/ui-icons_6da8d5_256x240.png +0 -0
  123. data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-5e404740e7b81db33ff68615256381c7.png +0 -0
  124. data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  125. data/public/assets/jquery-ui/ui-icons_d8e7f3_256x240-4a8e8266fbe7c500dbb89f245adb380a.png +0 -0
  126. data/public/assets/jquery-ui/ui-icons_d8e7f3_256x240.png +0 -0
  127. data/public/assets/jquery-ui/ui-icons_f9bd01_256x240-1bbe87b055494b5ffc3297ade0fd4e5d.png +0 -0
  128. data/public/assets/jquery-ui/ui-icons_f9bd01_256x240.png +0 -0
  129. data/public/assets/json2-c87ab6ae12eefd145eaabf20addd7d14.js +0 -157
  130. data/public/assets/json2-c87ab6ae12eefd145eaabf20addd7d14.js.gz +0 -0
  131. data/public/assets/json2.js +0 -157
  132. data/public/assets/json2.js.gz +0 -0
  133. data/public/assets/leaf_end-c746324c7ae93955a71344540e19be57.png +0 -0
  134. data/public/assets/leaf_end.png +0 -0
  135. data/public/assets/leaf_end_filled-ffd6d8a1edf2b6c89140039c41c5a6c8.png +0 -0
  136. data/public/assets/leaf_end_filled.png +0 -0
  137. data/public/assets/leaf_mid-36f0aeb7d394be1f41411cc898c849ee.png +0 -0
  138. data/public/assets/leaf_mid.png +0 -0
  139. data/public/assets/leaf_mid_filled-3f929ebf2751edaa0070cf020720239e.png +0 -0
  140. data/public/assets/leaf_mid_filled.png +0 -0
  141. data/public/assets/leaf_nothing-b16696e96882b9c52fb58505c747d152.png +0 -0
  142. data/public/assets/leaf_nothing.png +0 -0
  143. data/public/assets/leaf_only-832baae54f2ac297f04345301f9b2e8b.png +0 -0
  144. data/public/assets/leaf_only.png +0 -0
  145. data/public/assets/leaf_only_filled-845d1817f13a20b80c72c9c5d109ef89.png +0 -0
  146. data/public/assets/leaf_only_filled.png +0 -0
  147. data/public/assets/leaf_top-8b0c6af753f319d658fd15305b3f72e6.png +0 -0
  148. data/public/assets/leaf_top.png +0 -0
  149. data/public/assets/leaf_top_filled-46854fbdb9a9d53519587ebcf883fdf2.png +0 -0
  150. data/public/assets/leaf_top_filled.png +0 -0
  151. data/public/assets/manifest-6f0772f7ec93cc20de428ae859353e92.js +0 -21
  152. data/public/assets/manifest-6f0772f7ec93cc20de428ae859353e92.js.gz +0 -0
  153. data/public/assets/manifest-8554416e5abd292b31e978c42f20350f.css +0 -1126
  154. data/public/assets/manifest-8554416e5abd292b31e978c42f20350f.css.gz +0 -0
  155. data/public/assets/manifest-d52be2520b68121c73695e4026876a98.css +0 -1421
  156. data/public/assets/manifest-d52be2520b68121c73695e4026876a98.css.gz +0 -0
  157. data/public/assets/manifest-d65a2a29c82b44dda72b13621ddb47c7.js +0 -21
  158. data/public/assets/manifest-d65a2a29c82b44dda72b13621ddb47c7.js.gz +0 -0
  159. data/public/assets/manifest-ie-2d35dab17a0668b54761c5e09caa3a25.css +0 -45
  160. data/public/assets/manifest-ie-2d35dab17a0668b54761c5e09caa3a25.css.gz +0 -0
  161. data/public/assets/manifest-ie-c87ab6ae12eefd145eaabf20addd7d14.js +0 -157
  162. data/public/assets/manifest-ie-c87ab6ae12eefd145eaabf20addd7d14.js.gz +0 -0
  163. data/public/assets/manifest-ie.css +0 -45
  164. data/public/assets/manifest-ie.css.gz +0 -0
  165. data/public/assets/manifest-ie.js +0 -157
  166. data/public/assets/manifest-ie.js.gz +0 -0
  167. data/public/assets/manifest-print-fa33f9ec79743207309a4c15585417dd.css +0 -32
  168. data/public/assets/manifest-print-fa33f9ec79743207309a4c15585417dd.css.gz +0 -0
  169. data/public/assets/manifest-print.css +0 -32
  170. data/public/assets/manifest-print.css.gz +0 -0
  171. data/public/assets/manifest-screen-d75139d61efe94f6bee940daf1f205cd.css +0 -261
  172. data/public/assets/manifest-screen-d75139d61efe94f6bee940daf1f205cd.css.gz +0 -0
  173. data/public/assets/manifest-screen.css +0 -261
  174. data/public/assets/manifest-screen.css.gz +0 -0
  175. data/public/assets/manifest.css +0 -1421
  176. data/public/assets/manifest.css.gz +0 -0
  177. data/public/assets/manifest.js +0 -21
  178. data/public/assets/manifest.js.gz +0 -0
  179. data/public/assets/manifest.yml +0 -67
  180. data/public/assets/minus-b2a188eb9c79e297cf226940d274bde3.gif +0 -0
  181. data/public/assets/minus.gif +0 -0
  182. data/public/assets/nothing-13356bee8ae7be80ca9e2b12437ec11b.png +0 -0
  183. data/public/assets/nothing.png +0 -0
  184. data/public/assets/ok-b470e6ad2a51f8d831337bcdceac81b3.png +0 -0
  185. data/public/assets/ok.png +0 -0
  186. data/public/assets/plus-48a82f482680dc6a40b228c598f7737a.gif +0 -0
  187. data/public/assets/plus.gif +0 -0
  188. data/public/assets/rdf_flyer-2c03ecea52ac7c51ea052214ec51cf41.gif +0 -0
  189. data/public/assets/rdf_flyer.gif +0 -0
  190. data/public/assets/red_arrow-bd4018c221ad0d64ff39591301978985.png +0 -0
  191. data/public/assets/red_arrow.png +0 -0
  192. data/public/assets/shadow-e8b8808c02efb04cd6dd03cb60b1df51.png +0 -0
  193. data/public/assets/shadow.png +0 -0
  194. data/public/assets/spinner-376ad78a3c6a4731a4d08e6a7a958a08.gif +0 -0
  195. data/public/assets/spinner.gif +0 -0
  196. data/public/assets/tokenizer_delete-9fcf87a2460fd26e1d06694a674c64fd.png +0 -0
  197. data/public/assets/tokenizer_delete.png +0 -0
  198. data/public/assets/tokenizer_pencile-0ce94776c0a1a2f26de102be8d93e01f.png +0 -0
  199. data/public/assets/tokenizer_pencile.png +0 -0
  200. data/public/assets/tokenizer_show-3e3b535ad0047218c41a67bab0bde5a1.png +0 -0
  201. data/public/assets/tokenizer_show.png +0 -0
  202. data/public/assets/top_01-20317bcf2744bf21f09646edf1db83e3.png +0 -0
  203. data/public/assets/top_01.png +0 -0
  204. data/public/assets/treeview-black-b9efd44ad2274dd1a755680f05c97190.gif +0 -0
  205. data/public/assets/treeview-black-line-c017011af5be73fb837016e0a7548275.gif +0 -0
  206. data/public/assets/treeview-black-line.gif +0 -0
  207. data/public/assets/treeview-black.gif +0 -0
  208. data/public/assets/treeview-default-aa27b2f289c0f4e17c9848db92b7efc7.gif +0 -0
  209. data/public/assets/treeview-default-line-88dfb2ce9ef6ce0b6728e9b8b625dc56.gif +0 -0
  210. data/public/assets/treeview-default-line.gif +0 -0
  211. data/public/assets/treeview-default.gif +0 -0
  212. data/public/assets/treeview-famfamfam-e4842329994e3a6650a61aa96b744c88.gif +0 -0
  213. data/public/assets/treeview-famfamfam-line-f36551e5105684a46193f6723fe9dd02.gif +0 -0
  214. data/public/assets/treeview-famfamfam-line.gif +0 -0
  215. data/public/assets/treeview-famfamfam.gif +0 -0
  216. data/public/assets/treeview-gray-7725ad8dad103df1dddd282e8b76ad38.gif +0 -0
  217. data/public/assets/treeview-gray-line-139b3c730f3ea071ee459da1c97ceddb.gif +0 -0
  218. data/public/assets/treeview-gray-line.gif +0 -0
  219. data/public/assets/treeview-gray.gif +0 -0
  220. data/public/assets/treeview-red-abf293cd5d1fe415f8c11bd96936f8e4.gif +0 -0
  221. data/public/assets/treeview-red-line-1a93b70ab4c8e3cd5982e91e9def3afe.gif +0 -0
  222. data/public/assets/treeview-red-line.gif +0 -0
  223. data/public/assets/treeview-red.gif +0 -0
  224. data/public/assets/trunk-608b3757340ea0e291ef7bae37739530.png +0 -0
  225. data/public/assets/trunk.png +0 -0
  226. data/public/assets/unfinished-7f5796d43fa537f8e16caddaf0ba759b.png +0 -0
  227. data/public/assets/unfinished.png +0 -0
  228. data/public/stylesheets/iqvoc/ie_fixes.css +0 -6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 3.4.0 (2012-01-27)
2
+
3
+ * Rails 3.2
4
+ * Bugfixes
5
+
1
6
  ## 3.3.4 (2012-01-16)
2
7
 
3
8
  * Import SKOS files via the web frontend
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.3'
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.0'
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 capistrano deployments)
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 do
68
- gem 'sqlite3'
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.3)
5
- actionpack (= 3.1.3)
6
- mail (~> 2.3.0)
7
- actionpack (3.1.3)
8
- activemodel (= 3.1.3)
9
- activesupport (= 3.1.3)
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
- i18n (~> 0.6)
13
- rack (~> 1.3.5)
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.0.3)
18
- activemodel (3.1.3)
19
- activesupport (= 3.1.3)
23
+ sprockets (~> 2.1.2)
24
+ activemodel (3.2.1)
25
+ activesupport (= 3.2.1)
20
26
  builder (~> 3.0.0)
21
- i18n (~> 0.6)
22
- activerecord (3.1.3)
23
- activemodel (= 3.1.3)
24
- activesupport (= 3.1.3)
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
- activeresource (3.1.3)
28
- activemodel (= 3.1.3)
29
- activesupport (= 3.1.3)
30
- activesupport (3.1.3)
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 (2.2.1)
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.7.2)
63
+ capybara-webkit (0.8.0)
57
64
  capybara (>= 1.0.0, < 1.2)
58
- childprocess (0.2.9)
65
+ json
66
+ childprocess (0.3.0)
59
67
  ffi (~> 1.0.6)
60
- database_cleaner (0.7.0)
68
+ database_cleaner (0.7.1)
61
69
  erubis (2.7.0)
62
- execjs (1.2.13)
70
+ execjs (1.3.0)
63
71
  multi_json (~> 1.0)
64
- factory_girl (2.3.2)
72
+ factory_girl (2.5.0)
65
73
  activesupport
66
- factory_girl_rails (1.4.0)
67
- factory_girl (~> 2.3.0)
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.18.1)
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.9)
83
+ highline (1.6.11)
76
84
  hike (1.2.1)
77
85
  i18n (0.6.0)
78
- iq_rdf (0.1.0)
86
+ iq_rdf (0.1.2)
79
87
  builder
80
88
  bundler
81
- json (1.6.4)
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.3.0)
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.3.6)
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.3)
117
- actionmailer (= 3.1.3)
118
- actionpack (= 3.1.3)
119
- activerecord (= 3.1.3)
120
- activeresource (= 3.1.3)
121
- activesupport (= 3.1.3)
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.3)
130
+ railties (= 3.2.1)
124
131
  rails_autolink (1.0.4)
125
132
  rails (>= 3.1.0)
126
- railties (3.1.3)
127
- actionpack (= 3.1.3)
128
- activesupport (= 3.1.3)
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.16.0)
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
- sprockets (2.0.3)
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.1)
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.0)
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.3)
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($("#concept_new, #concept_edit").length) { // edit mode
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
  }
@@ -1,6 +1,4 @@
1
1
  /*
2
- *= require blueprint/screen
3
- *= require blueprint/print
4
2
  *= require jquery.treeview
5
3
  *= require jquery-ui-1.8.16.custom
6
4
  */
@@ -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])
@@ -15,8 +15,8 @@
15
15
  # limitations under the License.
16
16
 
17
17
  class Collection::Member::Base < ActiveRecord::Base
18
-
19
- set_table_name 'collection_members'
18
+
19
+ self.table_name = 'collection_members'
20
20
 
21
21
  belongs_to :collection, :class_name => 'Collection::Base'
22
22
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  class Concept::Base < ActiveRecord::Base
18
18
 
19
- set_table_name 'concepts'
19
+ self.table_name = 'concepts'
20
20
 
21
21
  include Iqvoc::Versioning
22
22
 
@@ -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
- set_table_name 'concept_relations'
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 = proxy_reflection.class_name.constantize
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 => proxy_owner.id, :target_id => target_concept.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 => proxy_owner.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 = proxy_reflection.class_name.constantize
35
+ relation_class = proxy_association.reflection.class_name.constantize
36
36
  ActiveRecord::Base.transaction do
37
- relation_class.where(:owner_id => proxy_owner.id, :target_id => target_concept.id).all.each do |relation|
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 => proxy_owner.id).all.each do |relation|
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
@@ -16,7 +16,7 @@
16
16
 
17
17
  class Label::Base < ActiveRecord::Base
18
18
 
19
- set_table_name 'labels'
19
+ self.table_name = 'labels'
20
20
 
21
21
  # ********** Validations
22
22
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  class Labeling::Base < ActiveRecord::Base
18
18
 
19
- set_table_name 'labelings'
19
+ self.table_name = 'labelings'
20
20
 
21
21
  class_attribute :rdf_namespace, :rdf_predicate
22
22
  self.rdf_namespace = nil
@@ -16,7 +16,7 @@
16
16
 
17
17
  class Match::Base < ActiveRecord::Base
18
18
 
19
- set_table_name 'matches'
19
+ self.table_name = 'matches'
20
20
 
21
21
  class_attribute :rdf_namespace, :rdf_predicate
22
22
  self.rdf_namespace = nil
@@ -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
- set_table_name('note_annotations')
19
+ self.table_name = 'note_annotations'
20
20
 
21
21
  belongs_to :note, :class_name => Note::Base.name
22
22
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  class Note::Base < ActiveRecord::Base
18
18
 
19
- set_table_name 'notes'
19
+ self.table_name = 'notes'
20
20
 
21
21
  class_attribute :rdf_namespace, :rdf_predicate
22
22
  self.rdf_namespace = nil
@@ -5,7 +5,7 @@
5
5
  <%= letter_selector { |letter| untranslated_concepts_path(:letter => letter.to_s.downcase) } %>
6
6
 
7
7
  <ul>
8
- <% for label in @labels %>
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
- <%= stylesheet_link_tag "manifest" %>
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
- <% 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 %>
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
- <% 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 %>
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
- <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>
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
- class ActionController::Base
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.
@@ -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
- if Rails.env != "test"
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