active_scaffold 3.0.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 (272) hide show
  1. data/.autotest +27 -0
  2. data/CHANGELOG +152 -0
  3. data/Gemfile +4 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README +51 -0
  6. data/Rakefile +24 -0
  7. data/active_scaffold.gemspec +24 -0
  8. data/environment.rb +22 -0
  9. data/frontends/default/images/add.gif +0 -0
  10. data/frontends/default/images/arrow_down.gif +0 -0
  11. data/frontends/default/images/arrow_up.gif +0 -0
  12. data/frontends/default/images/close.gif +0 -0
  13. data/frontends/default/images/cross.png +0 -0
  14. data/frontends/default/images/indicator-small.gif +0 -0
  15. data/frontends/default/images/indicator.gif +0 -0
  16. data/frontends/default/images/magnifier.png +0 -0
  17. data/frontends/default/javascripts/jquery/active_scaffold.js +957 -0
  18. data/frontends/default/javascripts/jquery/jquery.editinplace.js +726 -0
  19. data/frontends/default/javascripts/prototype/active_scaffold.js +954 -0
  20. data/frontends/default/javascripts/prototype/dhtml_history.js +867 -0
  21. data/frontends/default/javascripts/prototype/form_enhancements.js +117 -0
  22. data/frontends/default/javascripts/prototype/rico_corner.js +370 -0
  23. data/frontends/default/stylesheets/stylesheet-ie.css +35 -0
  24. data/frontends/default/stylesheets/stylesheet.css +858 -0
  25. data/frontends/default/views/_add_existing_form.html.erb +30 -0
  26. data/frontends/default/views/_base_form.html.erb +41 -0
  27. data/frontends/default/views/_create_form.html.erb +6 -0
  28. data/frontends/default/views/_create_form_on_list.html.erb +5 -0
  29. data/frontends/default/views/_field_search.html.erb +32 -0
  30. data/frontends/default/views/_form.html.erb +24 -0
  31. data/frontends/default/views/_form_association.html.erb +14 -0
  32. data/frontends/default/views/_form_association_footer.html.erb +40 -0
  33. data/frontends/default/views/_form_attribute.html.erb +15 -0
  34. data/frontends/default/views/_form_hidden_attribute.html.erb +2 -0
  35. data/frontends/default/views/_form_messages.html.erb +5 -0
  36. data/frontends/default/views/_horizontal_subform.html.erb +19 -0
  37. data/frontends/default/views/_horizontal_subform_header.html.erb +10 -0
  38. data/frontends/default/views/_horizontal_subform_record.html.erb +37 -0
  39. data/frontends/default/views/_human_conditions.html.erb +1 -0
  40. data/frontends/default/views/_list.html.erb +18 -0
  41. data/frontends/default/views/_list_actions.html.erb +16 -0
  42. data/frontends/default/views/_list_calculations.html.erb +16 -0
  43. data/frontends/default/views/_list_column_headings.html.erb +12 -0
  44. data/frontends/default/views/_list_header.html.erb +12 -0
  45. data/frontends/default/views/_list_inline_adapter.html.erb +10 -0
  46. data/frontends/default/views/_list_messages.html.erb +32 -0
  47. data/frontends/default/views/_list_pagination.html.erb +11 -0
  48. data/frontends/default/views/_list_pagination_links.html.erb +9 -0
  49. data/frontends/default/views/_list_record.html.erb +14 -0
  50. data/frontends/default/views/_list_record_columns.html.erb +8 -0
  51. data/frontends/default/views/_list_with_header.html.erb +32 -0
  52. data/frontends/default/views/_messages.html.erb +10 -0
  53. data/frontends/default/views/_render_field.js.rjs +13 -0
  54. data/frontends/default/views/_row.html.erb +12 -0
  55. data/frontends/default/views/_search.html.erb +34 -0
  56. data/frontends/default/views/_search_attribute.html.erb +10 -0
  57. data/frontends/default/views/_show.html.erb +8 -0
  58. data/frontends/default/views/_show_columns.html.erb +12 -0
  59. data/frontends/default/views/_update_actions.html.erb +9 -0
  60. data/frontends/default/views/_update_form.html.erb +5 -0
  61. data/frontends/default/views/_vertical_subform.html.erb +12 -0
  62. data/frontends/default/views/_vertical_subform_record.html.erb +38 -0
  63. data/frontends/default/views/add_existing.js.rjs +17 -0
  64. data/frontends/default/views/add_existing_form.html.erb +5 -0
  65. data/frontends/default/views/create.html.erb +5 -0
  66. data/frontends/default/views/delete.html.erb +13 -0
  67. data/frontends/default/views/destroy.js.rjs +5 -0
  68. data/frontends/default/views/edit_associated.js.rjs +11 -0
  69. data/frontends/default/views/field_search.html.erb +5 -0
  70. data/frontends/default/views/form_messages.js.rjs +1 -0
  71. data/frontends/default/views/list.html.erb +1 -0
  72. data/frontends/default/views/list.js.rjs +1 -0
  73. data/frontends/default/views/on_action_update.js.rjs +8 -0
  74. data/frontends/default/views/on_create.js.rjs +24 -0
  75. data/frontends/default/views/on_update.js.rjs +15 -0
  76. data/frontends/default/views/search.html.erb +5 -0
  77. data/frontends/default/views/show.html.erb +5 -0
  78. data/frontends/default/views/update.html.erb +8 -0
  79. data/frontends/default/views/update_column.js.rjs +13 -0
  80. data/frontends/default/views/update_row.js.rjs +1 -0
  81. data/init.rb +1 -0
  82. data/install_assets.rb +44 -0
  83. data/lib/active_record_permissions.rb +134 -0
  84. data/lib/active_scaffold.rb +279 -0
  85. data/lib/active_scaffold/actions/common_search.rb +22 -0
  86. data/lib/active_scaffold/actions/core.rb +150 -0
  87. data/lib/active_scaffold/actions/create.rb +152 -0
  88. data/lib/active_scaffold/actions/delete.rb +72 -0
  89. data/lib/active_scaffold/actions/field_search.rb +82 -0
  90. data/lib/active_scaffold/actions/list.rb +128 -0
  91. data/lib/active_scaffold/actions/mark.rb +50 -0
  92. data/lib/active_scaffold/actions/nested.rb +241 -0
  93. data/lib/active_scaffold/actions/search.rb +47 -0
  94. data/lib/active_scaffold/actions/show.rb +54 -0
  95. data/lib/active_scaffold/actions/subform.rb +17 -0
  96. data/lib/active_scaffold/actions/update.rb +134 -0
  97. data/lib/active_scaffold/attribute_params.rb +207 -0
  98. data/lib/active_scaffold/bridges/ancestry/bridge.rb +5 -0
  99. data/lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb +38 -0
  100. data/lib/active_scaffold/bridges/bridge.rb +52 -0
  101. data/lib/active_scaffold/bridges/calendar_date_select/bridge.rb +16 -0
  102. data/lib/active_scaffold/bridges/calendar_date_select/lib/as_cds_bridge.rb +79 -0
  103. data/lib/active_scaffold/bridges/carrierwave/bridge.rb +7 -0
  104. data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge.rb +38 -0
  105. data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge_helpers.rb +26 -0
  106. data/lib/active_scaffold/bridges/carrierwave/lib/form_ui.rb +35 -0
  107. data/lib/active_scaffold/bridges/carrierwave/lib/list_ui.rb +17 -0
  108. data/lib/active_scaffold/bridges/date_picker/bridge.rb +22 -0
  109. data/lib/active_scaffold/bridges/date_picker/lib/datepicker_bridge.rb +225 -0
  110. data/lib/active_scaffold/bridges/date_picker/public/javascripts/date_picker_bridge.js +22 -0
  111. data/lib/active_scaffold/bridges/file_column/bridge.rb +11 -0
  112. data/lib/active_scaffold/bridges/file_column/lib/as_file_column_bridge.rb +46 -0
  113. data/lib/active_scaffold/bridges/file_column/lib/file_column_helpers.rb +59 -0
  114. data/lib/active_scaffold/bridges/file_column/lib/form_ui.rb +37 -0
  115. data/lib/active_scaffold/bridges/file_column/lib/list_ui.rb +26 -0
  116. data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +43 -0
  117. data/lib/active_scaffold/bridges/file_column/test/mock_model.rb +9 -0
  118. data/lib/active_scaffold/bridges/file_column/test/test_helper.rb +15 -0
  119. data/lib/active_scaffold/bridges/paperclip/bridge.rb +12 -0
  120. data/lib/active_scaffold/bridges/paperclip/lib/form_ui.rb +27 -0
  121. data/lib/active_scaffold/bridges/paperclip/lib/list_ui.rb +16 -0
  122. data/lib/active_scaffold/bridges/paperclip/lib/paperclip_bridge.rb +38 -0
  123. data/lib/active_scaffold/bridges/paperclip/lib/paperclip_bridge_helpers.rb +26 -0
  124. data/lib/active_scaffold/bridges/semantic_attributes/bridge.rb +5 -0
  125. data/lib/active_scaffold/bridges/semantic_attributes/lib/semantic_attributes_bridge.rb +20 -0
  126. data/lib/active_scaffold/bridges/shared/date_bridge.rb +187 -0
  127. data/lib/active_scaffold/bridges/tiny_mce/bridge.rb +5 -0
  128. data/lib/active_scaffold/bridges/tiny_mce/lib/tiny_mce_bridge.rb +45 -0
  129. data/lib/active_scaffold/bridges/validation_reflection/bridge.rb +8 -0
  130. data/lib/active_scaffold/bridges/validation_reflection/lib/validation_reflection_bridge.rb +21 -0
  131. data/lib/active_scaffold/config/base.rb +54 -0
  132. data/lib/active_scaffold/config/core.rb +229 -0
  133. data/lib/active_scaffold/config/create.rb +43 -0
  134. data/lib/active_scaffold/config/delete.rb +25 -0
  135. data/lib/active_scaffold/config/field_search.rb +74 -0
  136. data/lib/active_scaffold/config/form.rb +46 -0
  137. data/lib/active_scaffold/config/list.rb +174 -0
  138. data/lib/active_scaffold/config/mark.rb +22 -0
  139. data/lib/active_scaffold/config/nested.rb +43 -0
  140. data/lib/active_scaffold/config/search.rb +68 -0
  141. data/lib/active_scaffold/config/show.rb +34 -0
  142. data/lib/active_scaffold/config/subform.rb +35 -0
  143. data/lib/active_scaffold/config/update.rb +38 -0
  144. data/lib/active_scaffold/configurable.rb +29 -0
  145. data/lib/active_scaffold/constraints.rb +179 -0
  146. data/lib/active_scaffold/data_structures/action_columns.rb +133 -0
  147. data/lib/active_scaffold/data_structures/action_link.rb +162 -0
  148. data/lib/active_scaffold/data_structures/action_links.rb +59 -0
  149. data/lib/active_scaffold/data_structures/actions.rb +45 -0
  150. data/lib/active_scaffold/data_structures/column.rb +348 -0
  151. data/lib/active_scaffold/data_structures/columns.rb +75 -0
  152. data/lib/active_scaffold/data_structures/error_message.rb +24 -0
  153. data/lib/active_scaffold/data_structures/nested_info.rb +108 -0
  154. data/lib/active_scaffold/data_structures/set.rb +62 -0
  155. data/lib/active_scaffold/data_structures/sorting.rb +168 -0
  156. data/lib/active_scaffold/finder.rb +333 -0
  157. data/lib/active_scaffold/helpers/association_helpers.rb +40 -0
  158. data/lib/active_scaffold/helpers/controller_helpers.rb +40 -0
  159. data/lib/active_scaffold/helpers/country_helpers.rb +352 -0
  160. data/lib/active_scaffold/helpers/form_column_helpers.rb +343 -0
  161. data/lib/active_scaffold/helpers/human_condition_helpers.rb +59 -0
  162. data/lib/active_scaffold/helpers/id_helpers.rb +131 -0
  163. data/lib/active_scaffold/helpers/list_column_helpers.rb +363 -0
  164. data/lib/active_scaffold/helpers/pagination_helpers.rb +55 -0
  165. data/lib/active_scaffold/helpers/search_column_helpers.rb +238 -0
  166. data/lib/active_scaffold/helpers/show_column_helpers.rb +46 -0
  167. data/lib/active_scaffold/helpers/view_helpers.rb +315 -0
  168. data/lib/active_scaffold/locale/de.rb +113 -0
  169. data/lib/active_scaffold/locale/en.rb +118 -0
  170. data/lib/active_scaffold/locale/es.yml +112 -0
  171. data/lib/active_scaffold/locale/fr.rb +113 -0
  172. data/lib/active_scaffold/locale/hu.yml +63 -0
  173. data/lib/active_scaffold/locale/ja.yml +64 -0
  174. data/lib/active_scaffold/locale/ru.yml +62 -0
  175. data/lib/active_scaffold/marked_model.rb +38 -0
  176. data/lib/dhtml_confirm.rb +54 -0
  177. data/lib/extensions/action_controller_rendering.rb +20 -0
  178. data/lib/extensions/action_view_rendering.rb +113 -0
  179. data/lib/extensions/action_view_resolver.rb +7 -0
  180. data/lib/extensions/active_record_offset.rb +12 -0
  181. data/lib/extensions/array.rb +7 -0
  182. data/lib/extensions/localize.rb +10 -0
  183. data/lib/extensions/name_option_for_datetime.rb +12 -0
  184. data/lib/extensions/nil_id_in_url_params.rb +7 -0
  185. data/lib/extensions/paginator_extensions.rb +26 -0
  186. data/lib/extensions/reverse_associations.rb +62 -0
  187. data/lib/extensions/routing_mapper.rb +34 -0
  188. data/lib/extensions/to_label.rb +8 -0
  189. data/lib/extensions/unsaved_associated.rb +61 -0
  190. data/lib/extensions/unsaved_record.rb +20 -0
  191. data/lib/extensions/usa_state.rb +46 -0
  192. data/lib/generators/active_scaffold/USAGE +29 -0
  193. data/lib/generators/active_scaffold/active_scaffold_generator.rb +20 -0
  194. data/lib/generators/active_scaffold_controller/USAGE +19 -0
  195. data/lib/generators/active_scaffold_controller/active_scaffold_controller_generator.rb +28 -0
  196. data/lib/generators/active_scaffold_controller/templates/controller.rb +4 -0
  197. data/lib/generators/active_scaffold_setup/USAGE +10 -0
  198. data/lib/generators/active_scaffold_setup/active_scaffold_setup_generator.rb +53 -0
  199. data/lib/paginator.rb +136 -0
  200. data/lib/responds_to_parent.rb +70 -0
  201. data/public/blank.html +33 -0
  202. data/shoulda_macros/macros.rb +136 -0
  203. data/test/bridges/bridge_test.rb +47 -0
  204. data/test/config/base_test.rb +15 -0
  205. data/test/config/create_test.rb +55 -0
  206. data/test/config/list_test.rb +74 -0
  207. data/test/config/show_test.rb +43 -0
  208. data/test/config/update_test.rb +17 -0
  209. data/test/const_mocker.rb +36 -0
  210. data/test/data_structures/action_columns_test.rb +113 -0
  211. data/test/data_structures/action_link_test.rb +78 -0
  212. data/test/data_structures/action_links_test.rb +78 -0
  213. data/test/data_structures/actions_test.rb +25 -0
  214. data/test/data_structures/association_column_test.rb +42 -0
  215. data/test/data_structures/column_test.rb +185 -0
  216. data/test/data_structures/columns_test.rb +69 -0
  217. data/test/data_structures/error_message_test.rb +28 -0
  218. data/test/data_structures/set_test.rb +86 -0
  219. data/test/data_structures/sorting_test.rb +126 -0
  220. data/test/data_structures/standard_column_test.rb +24 -0
  221. data/test/data_structures/virtual_column_test.rb +23 -0
  222. data/test/extensions/active_record_test.rb +45 -0
  223. data/test/extensions/array_test.rb +12 -0
  224. data/test/helpers/form_column_helpers_test.rb +31 -0
  225. data/test/helpers/list_column_helpers_test.rb +31 -0
  226. data/test/helpers/pagination_helpers_test.rb +55 -0
  227. data/test/misc/active_record_permissions_test.rb +154 -0
  228. data/test/misc/attribute_params_test.rb +110 -0
  229. data/test/misc/configurable_test.rb +96 -0
  230. data/test/misc/constraints_test.rb +193 -0
  231. data/test/misc/finder_test.rb +93 -0
  232. data/test/misc/lang_test.rb +12 -0
  233. data/test/mock_app/.gitignore +2 -0
  234. data/test/mock_app/app/controllers/application_controller.rb +10 -0
  235. data/test/mock_app/app/helpers/application_helper.rb +3 -0
  236. data/test/mock_app/config/boot.rb +110 -0
  237. data/test/mock_app/config/database.yml +16 -0
  238. data/test/mock_app/config/environment.rb +43 -0
  239. data/test/mock_app/config/environments/development.rb +17 -0
  240. data/test/mock_app/config/environments/production.rb +28 -0
  241. data/test/mock_app/config/environments/test.rb +28 -0
  242. data/test/mock_app/config/initializers/backtrace_silencers.rb +7 -0
  243. data/test/mock_app/config/initializers/inflections.rb +10 -0
  244. data/test/mock_app/config/initializers/mime_types.rb +5 -0
  245. data/test/mock_app/config/initializers/new_rails_defaults.rb +19 -0
  246. data/test/mock_app/config/initializers/session_store.rb +15 -0
  247. data/test/mock_app/config/locales/en.yml +5 -0
  248. data/test/mock_app/config/routes.rb +43 -0
  249. data/test/mock_app/db/test.sqlite3 +1 -0
  250. data/test/mock_app/public/blank.html +33 -0
  251. data/test/mock_app/public/images/active_scaffold/DO_NOT_EDIT +2 -0
  252. data/test/mock_app/public/images/active_scaffold/default/add.gif +0 -0
  253. data/test/mock_app/public/images/active_scaffold/default/arrow_down.gif +0 -0
  254. data/test/mock_app/public/images/active_scaffold/default/arrow_up.gif +0 -0
  255. data/test/mock_app/public/images/active_scaffold/default/close.gif +0 -0
  256. data/test/mock_app/public/images/active_scaffold/default/cross.png +0 -0
  257. data/test/mock_app/public/images/active_scaffold/default/indicator-small.gif +0 -0
  258. data/test/mock_app/public/images/active_scaffold/default/indicator.gif +0 -0
  259. data/test/mock_app/public/images/active_scaffold/default/magnifier.png +0 -0
  260. data/test/mock_app/public/javascripts/active_scaffold/DO_NOT_EDIT +2 -0
  261. data/test/mock_app/public/javascripts/active_scaffold/default/active_scaffold.js +532 -0
  262. data/test/mock_app/public/javascripts/active_scaffold/default/dhtml_history.js +867 -0
  263. data/test/mock_app/public/javascripts/active_scaffold/default/form_enhancements.js +117 -0
  264. data/test/mock_app/public/javascripts/active_scaffold/default/rico_corner.js +370 -0
  265. data/test/mock_app/public/stylesheets/active_scaffold/DO_NOT_EDIT +2 -0
  266. data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet-ie.css +35 -0
  267. data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet.css +839 -0
  268. data/test/model_stub.rb +55 -0
  269. data/test/run_all.rb +8 -0
  270. data/test/test_helper.rb +39 -0
  271. data/uninstall.rb +13 -0
  272. metadata +478 -0
@@ -0,0 +1,63 @@
1
+ hu:
2
+ active_scaffold:
3
+ add: 'Hozzáadás'
4
+ add_existing: 'Meglevő hozzáadása'
5
+ add_existing_model: 'Meglevő %{model} hozzáadása'
6
+ are_you_sure_to_delete: 'Biztos vagy benne?'
7
+ cancel: 'Mégse'
8
+ click_to_edit: 'Kattints a szerkesztéshez'
9
+ close: 'Bezárás'
10
+ create: 'Létrehozás'
11
+ create_model: '%{model} létrehozása'
12
+ create_another: 'Mégegy hozzáadása'
13
+ created_model: '%{model} létrehozva'
14
+ create_new: 'Új létrehozása'
15
+ customize: 'Testreszabás'
16
+ delete: 'Törlés'
17
+ deleted_model: '%{model} törölve'
18
+ delimiter: 'Elválasztó'
19
+ download: 'Letöltés'
20
+ edit: 'Szerkesztés'
21
+ export: 'Exportálás'
22
+ nested_for_model: '%{nested_model} / %{parent_model}'
23
+ nested_of_model: '%{nested_model} of %{parent_model}'
24
+ filtered: '(Szűrt)'
25
+ found: 'Találat'
26
+ hide: 'Elrejtés'
27
+ live_search: 'Élő keresés'
28
+ loading: 'Betöltés…'
29
+ next: 'Következő'
30
+ no_entries: 'Nincs elem'
31
+ no_options: 'nincsenek'
32
+ omit_header: 'Fejléc nélkül'
33
+ options: 'Opciók'
34
+ pdf: 'PDF'
35
+ previous: 'Előző'
36
+ print: 'Nyomtatás'
37
+ refresh: 'Frissítés'
38
+ remove: 'Törlés'
39
+ remove_file: 'Fájl törlése, vagy cseréje'
40
+ replace_with_new: 'Csere újjal'
41
+ revisions_for_model: '%{model} revíziói'
42
+ reset: 'Alapállapot'
43
+ saving: 'Mentés…'
44
+ search: 'Keresés'
45
+ search_terms: 'Keresési kifejezések'
46
+ _select_: '- válassz -'
47
+ show: 'Mutatás'
48
+ show_model: '%{model} mutatása'
49
+ _to_ : ' – '
50
+ update: 'Modosítás'
51
+ update_model: '%{model} modosítása'
52
+ updated_model: '%{model} módosítva'
53
+ '=': '='
54
+ '>=': '>='
55
+ '<=': '<='
56
+ '>': '>'
57
+ '<': '<'
58
+ '!=': '!='
59
+ between: 'Között'
60
+
61
+ # error_messages
62
+ internal_error: 'A lekérés sikertelen (code 500, Internal Error)'
63
+ version_inconsistency: 'Verzió ütközés - ezt a rekordot módosították mióta elkezdted szerkeszteni.'
@@ -0,0 +1,64 @@
1
+ ja:
2
+ active_scaffold:
3
+ add: '追加'
4
+ add_existing: '既存のものを追加'
5
+ add_existing_model: '既存の%{model}を追加'
6
+ are_you_sure_to_delete: '本当によいですか?'
7
+ cancel: 'キャンセル'
8
+ click_to_edit: 'クリックして編集'
9
+ close: '閉じる'
10
+ create: '作成'
11
+ create_model: '%{model}を作成'
12
+ create_another: '別のものを作成'
13
+ created_model: '%{model}を作成しました'
14
+ create_new: '新規作成'
15
+ customize: 'カスタマイズ'
16
+ delete: '削除'
17
+ deleted_model: '%{model}を削除しました'
18
+ delimiter: 'Delimiter' # needed?
19
+ download: 'ダウンロード'
20
+ edit: '編集'
21
+ export: 'Export' # needed?
22
+ nested_for_model: '%{parent_model}の%{nested_model}'
23
+ nested_of_model: '%{nested_model} of %{parent_model}'
24
+ filtered: '(フィルタ中)'
25
+ found: '個ありました'
26
+ hide: '隠す'
27
+ live_search: 'その場で検索'
28
+ loading: '読み込み中…'
29
+ next: '次'
30
+ no_entries: '見つかりませんでした'
31
+ no_options: 'オプション無し'
32
+ omit_header: 'Omit Header' # needed?
33
+ options: 'オプション'
34
+ pdf: 'PDF'
35
+ previous: '前'
36
+ print: '印刷'
37
+ refresh: 'Refresh' # needed?
38
+ remove: '削除'
39
+ remove_file: 'ファイルを削除または置換'
40
+ replace_with_new: '新しいもので置換'
41
+ revisions_for_model: 'Revisions for %{model}' # neede?
42
+ reset: 'リセット'
43
+ saving: '保存中…'
44
+ search: '検索'
45
+ search_terms: '検索単語'
46
+ _select_: '- 選択してください -'
47
+ show: '表示'
48
+ show_model: '%{model}を表示'
49
+ _to_ : ' to ' # needed?
50
+ update: '更新'
51
+ update_model: '%{model}を更新'
52
+ updated_model: '%{model}を更新しました'
53
+ '=': '='
54
+ '>=': '>='
55
+ '<=': '<='
56
+ '>': '>'
57
+ '<': '<'
58
+ '!=': '!='
59
+ between: 'Between' # needed?
60
+
61
+ # error_messages
62
+ cant_destroy_record: "%{record}を削除で来ません"
63
+ internal_error: 'リクエストが失敗しました(コード500: 内部エラー)'
64
+ version_inconsistency: 'バージョンが一致しません - あなたが編集している間にこのレコードが変更されました。'
@@ -0,0 +1,62 @@
1
+ ru:
2
+ active_scaffold:
3
+ add: 'Добавить запись'
4
+ add_existing: 'Добавить существующую запись'
5
+ add_existing_model: 'Добавить существующую запись %{model}'
6
+ are_you_sure_to_delete: 'Вы уверены?'
7
+ cancel: 'Отмена'
8
+ click_to_edit: 'Нажмите для редактирования'
9
+ close: 'Закрыть'
10
+ create: 'Создать запись'
11
+ create_model: 'Создать запись %{model}'
12
+ create_another: 'Создать другую запись'
13
+ created_model: 'Создана запись %{model}'
14
+ create_new: 'Создать новую запись'
15
+ customize: 'Настроить'
16
+ delete: 'Удалить'
17
+ deleted_model: 'Удалена запись %{model}'
18
+ delimiter: 'Разделитель'
19
+ download: 'Загрузить'
20
+ edit: 'Изменить'
21
+ export: 'Экспорт'
22
+ nested_for_model: '%{parent_model} / %{nested_model}'
23
+ nested_of_model: '%{nested_model} of %{parent_model}'
24
+ filtered: '(Найденное)'
25
+ found: 'Найдено'
26
+ hide: 'Скрыть'
27
+ live_search: 'Поиск'
28
+ loading: 'Загрузка...'
29
+ next: 'Следующее'
30
+ no_entries: 'Нет записей'
31
+ omit_header: 'Omit Header'
32
+ options: 'Настройки'
33
+ pdf: 'PDF'
34
+ previous: 'Предыдущее'
35
+ print: 'Распечатать'
36
+ refresh: 'Обновить'
37
+ remove: 'Удалить'
38
+ remove_file: 'Удалить или заменить файл'
39
+ replace_with_new: 'Заменить новым'
40
+ revisions_for_model: 'Редакции %{model}'
41
+ reset: 'Сбросить'
42
+ saving: 'Сохранение...'
43
+ search: 'Поиск'
44
+ search_terms: 'Ключевые слова'
45
+ _select_: '- выбрать -'
46
+ show: 'Показать'
47
+ show_model: 'Показать запись %{model}'
48
+ _to_ : ' to '
49
+ update: 'Обновить запись'
50
+ update_model: 'Обновить запись %{model}'
51
+ updated_model: 'Обновлена запись %{model}'
52
+ '=': '='
53
+ '>=': '>='
54
+ '<=': '<='
55
+ '>': '>'
56
+ '<': '<'
57
+ '!=': '!='
58
+ between: 'Между'
59
+
60
+ # error_messages
61
+ internal_error: 'Внутренняя ошибка сервера.'
62
+ version_inconsistency: 'Эта запись была обновлена с того момента, как вы начали ее редактировать.'
@@ -0,0 +1,38 @@
1
+ module ActiveScaffold
2
+ module MarkedModel
3
+ # This is a module aimed at making the make session_stored marked_records available to ActiveRecord models
4
+
5
+ def self.included(base)
6
+ base.extend ClassMethods
7
+ base.scope :marked, lambda {{:conditions => {:id => base.marked_records.to_a}}}
8
+ end
9
+
10
+ def marked
11
+ marked_records.include?(self.id)
12
+ end
13
+
14
+ def marked=(value)
15
+ value = [true, 'true', 1, '1', 'T', 't'].include?(value.class == String ? value.downcase : value)
16
+ if value == true
17
+ marked_records << self.id if !marked
18
+ else
19
+ marked_records.delete(self.id)
20
+ end
21
+ end
22
+
23
+ module ClassMethods
24
+ # The proc to call that retrieves the marked_records from the ApplicationController.
25
+ attr_accessor :marked_records_proc
26
+
27
+ # Class-level access to the marked_records
28
+ def marked_records
29
+ (marked_records_proc.call || Set.new) if marked_records_proc
30
+ end
31
+ end
32
+
33
+ # Instance-level access to the marked_records
34
+ def marked_records
35
+ self.class.marked_records
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,54 @@
1
+ # Matt Mower <matt@cominded.com>
2
+ #
3
+ # A base class for creating DHTML confirmation types.
4
+ #
5
+ # The real work is done by the onclick_function and onclick_handler methods. In
6
+ # general it should only be required to override the default onclick_handler
7
+ # method and provide the specific Javascript required to invoke the DHTML confirm
8
+ # dialog of your choice.
9
+ #
10
+ # It is up to this dialog, if the user confirms the intended action, to invoke
11
+ # the function window.gFireModalLink() to trigger the intended action of the link.
12
+ # For example, using the Modalbox library, you would use something like:
13
+ #
14
+ # Modalbox.hide( {
15
+ # afterHide: function() {
16
+ # window.gFireModalLink();
17
+ # } } );
18
+ #
19
+ # By default the only action recognized is :value which is used to add a
20
+ # dhtml_confirm attribute to the link <a> tag. This value is detected by the
21
+ # ActiveScaffold link and triggers the DHTML confirmation logic.
22
+ #
23
+ class DHTMLConfirm
24
+ attr_accessor :value, :message, :options
25
+
26
+ def initialize( options = {} )
27
+ @options = options
28
+ @value = @options.delete(:value) { |key| "yes" }
29
+ @message = @options.delete(:message) { |key| "Are you sure?" }
30
+ end
31
+
32
+ def onclick_function( controller, link_id )
33
+ script = <<-END
34
+ window.gFireModalLink = function() {
35
+ var link = $('#{link_id}').action_link;
36
+ link.open_action.call( link );
37
+ };
38
+ #{ensure_termination(onclick_handler(controller,link_id))}
39
+ return false;
40
+ END
41
+ # script = "window.gModalLink = $('#{link_id}').action_link;#{onclick_handler(controller,link_id)}return false;"
42
+ end
43
+
44
+ def onclick_handler( controller, link_id )
45
+ ""
46
+ end
47
+
48
+ protected
49
+ def ensure_termination( expression )
50
+ expression =~ /;$/ ? expression : "#{expression};"
51
+ end
52
+
53
+ end
54
+
@@ -0,0 +1,20 @@
1
+ # wrap the action rendering for ActiveScaffold controllers
2
+ module ActionController #:nodoc:
3
+ class Base
4
+ def render_with_active_scaffold(*args, &block)
5
+ if self.class.uses_active_scaffold? and params[:adapter] and @rendering_adapter.nil?
6
+ @rendering_adapter = true # recursion control
7
+ # if we need an adapter, then we render the actual stuff to a string and insert it into the adapter template
8
+ render :partial => params[:adapter][1..-1],
9
+ :locals => {:payload => render_to_string(args.first.merge(:layout => false), &block)},
10
+ :use_full_path => true, :layout => false
11
+ @rendering_adapter = nil # recursion control
12
+ else
13
+ render_without_active_scaffold(*args, &block)
14
+ end
15
+ end
16
+ alias_method_chain :render, :active_scaffold
17
+
18
+ # Rails 2.x implementation is post-initialization on :active_scaffold method
19
+ end
20
+ end
@@ -0,0 +1,113 @@
1
+ module ActionView
2
+ class LookupContext
3
+ module ViewPaths
4
+ def find_all_templates(name, prefix = nil, partial = false)
5
+ templates = []
6
+ @view_paths.each do |resolver|
7
+ template = resolver.find_all(*args_for_lookup(name, prefix, partial)).first
8
+ templates << template unless template.nil?
9
+ end
10
+ templates
11
+ end
12
+ end
13
+ end
14
+ end
15
+
16
+ # wrap the action rendering for ActiveScaffold views
17
+ module ActionView::Rendering #:nodoc:
18
+ # Adds two rendering options.
19
+ #
20
+ # ==render :super
21
+ #
22
+ # This syntax skips all template overrides and goes directly to the provided ActiveScaffold templates.
23
+ # Useful if you want to wrap an existing template. Just call super!
24
+ #
25
+ # ==render :active_scaffold => #{controller.to_s}, options = {}+
26
+ #
27
+ # Lets you embed an ActiveScaffold by referencing the controller where it's configured.
28
+ #
29
+ # You may specify options[:constraints] for the embedded scaffold. These constraints have three effects:
30
+ # * the scaffold's only displays records matching the constraint
31
+ # * all new records created will be assigned the constrained values
32
+ # * constrained columns will be hidden (they're pretty boring at this point)
33
+ #
34
+ # You may also specify options[:conditions] for the embedded scaffold. These only do 1/3 of what
35
+ # constraints do (they only limit search results). Any format accepted by ActiveRecord::Base.find is valid.
36
+ #
37
+ # Defining options[:label] lets you completely customize the list title for the embedded scaffold.
38
+ #
39
+ def render_with_active_scaffold(*args, &block)
40
+ if args.first == :super
41
+ options = args[1] || {}
42
+ options[:locals] ||= {}
43
+ options[:locals].reverse_merge!(@last_view[:locals] || {})
44
+ if @last_view[:templates].nil?
45
+ @last_view[:templates] = lookup_context.find_all_templates(@last_view[:view], controller_path, !@last_view[:is_template])
46
+ @last_view[:templates].shift
47
+ end
48
+ options[:template] = @last_view[:templates].shift
49
+ render_without_active_scaffold options
50
+ elsif args.first.is_a?(Hash) and args.first[:active_scaffold]
51
+ require 'digest/md5'
52
+ options = args.first
53
+
54
+ remote_controller = options[:active_scaffold]
55
+ constraints = options[:constraints]
56
+ conditions = options[:conditions]
57
+ eid = Digest::MD5.hexdigest(params[:controller] + remote_controller.to_s + constraints.to_s + conditions.to_s)
58
+ session["as:#{eid}"] = {:constraints => constraints, :conditions => conditions, :list => {:label => args.first[:label]}}
59
+ options[:params] ||= {}
60
+ options[:params].merge! :eid => eid, :embedded => true
61
+
62
+ id = "as_#{eid}-content"
63
+ url_options = {:controller => remote_controller.to_s, :action => 'index'}.merge(options[:params])
64
+
65
+ if respond_to? :render_component
66
+ render_component url_options
67
+ else
68
+ content_tag(:div, {:id => id}) do
69
+ url = url_for(url_options)
70
+ link_to(remote_controller.to_s, url, {:remote => true, :id => id}) <<
71
+ if ActiveScaffold.js_framework == :prototype
72
+ javascript_tag("new Ajax.Updater('#{id}', '#{url}', {method: 'get', evalScripts: true});")
73
+ elsif ActiveScaffold.js_framework == :jquery
74
+ javascript_tag("$('##{id}').load('#{url}');")
75
+ end
76
+ end
77
+ end
78
+
79
+ else
80
+ options = args.first
81
+ if options.is_a?(Hash)
82
+ @last_view = {:view => options[:partial], :is_template => false} if options[:partial]
83
+ @last_view = {:view => options[:template], :is_template => !!options[:template]} if @last_view.nil? && options[:template]
84
+ @last_view[:locals] = options[:locals] if !@last_view.nil? && options[:locals]
85
+ end
86
+ render_without_active_scaffold(*args, &block)
87
+ end
88
+ end
89
+ alias_method_chain :render, :active_scaffold
90
+
91
+
92
+ def partial_pieces(partial_path)
93
+ if partial_path.include?('/')
94
+ return File.dirname(partial_path), File.basename(partial_path)
95
+ else
96
+ return controller.class.controller_path, partial_path
97
+ end
98
+ end
99
+
100
+ # This is the template finder logic, keep it updated with however we find stuff in rails
101
+ # currently this very similar to the logic in ActionBase::Base.render for options file
102
+ # TODO: Work with rails core team to find a better way to check for this.
103
+ def template_exists?(template_name, lookup_overrides = false)
104
+ begin
105
+ method = 'find_template'
106
+ method << '_without_active_scaffold' unless lookup_overrides
107
+ self.view_paths.send(method, template_name, @template_format)
108
+ return true
109
+ rescue ActionView::MissingTemplate => e
110
+ return false
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,7 @@
1
+ module ActionView
2
+ class ActiveScaffoldResolver < FileSystemResolver
3
+ def build_path(name, prefix, partial, details)
4
+ super(name, '', partial, details)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ # Bugfix: Team.offset(1).limit(1) throws an error
2
+ ActiveRecord::Base.instance_eval do
3
+ def offset(*args, &block)
4
+ scoped.__send__(:offset, *args, &block)
5
+ rescue NoMethodError
6
+ if scoped.nil?
7
+ 'depends on :allow_nil'
8
+ else
9
+ raise
10
+ end
11
+ end
12
+ end