iqvoc 3.3.4 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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