six-updater-web 0.10.8 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (742) hide show
  1. data/Rakefile +8 -6
  2. data/bin/six-updater-web +1 -1
  3. data/lib/README +243 -0
  4. data/lib/Rakefile +10 -0
  5. data/lib/app/controllers/actions_controller.rb +23 -0
  6. data/lib/app/controllers/application_controller.rb +20 -0
  7. data/lib/app/controllers/appsettings_controller.rb +40 -0
  8. data/lib/app/controllers/logs_controller.rb +5 -0
  9. data/lib/app/controllers/logsessions_controller.rb +5 -0
  10. data/lib/app/controllers/logviews_controller.rb +52 -0
  11. data/lib/app/controllers/main_controller.rb +432 -0
  12. data/lib/app/controllers/mods_controller.rb +48 -0
  13. data/lib/app/controllers/queryservers_controller.rb +42 -0
  14. data/lib/app/controllers/repositories_controller.rb +16 -0
  15. data/lib/app/controllers/servers_controller.rb +34 -0
  16. data/lib/app/controllers/sixconfigs_controller.rb +33 -0
  17. data/lib/app/controllers/system_settings_controller.rb +5 -0
  18. data/lib/app/helpers/actions_helper.rb +2 -0
  19. data/lib/app/helpers/application_helper.rb +13 -0
  20. data/lib/app/helpers/appsettings_helper.rb +17 -0
  21. data/lib/app/helpers/logs_helper.rb +2 -0
  22. data/lib/app/helpers/logsessions_helper.rb +2 -0
  23. data/lib/app/helpers/logviews_helper.rb +5 -0
  24. data/lib/app/helpers/main_helper.rb +2 -0
  25. data/lib/app/helpers/mods_helper.rb +5 -0
  26. data/lib/app/helpers/queryservers_helper.rb +8 -0
  27. data/lib/app/helpers/repositories_helper.rb +2 -0
  28. data/lib/app/helpers/servers_helper.rb +13 -0
  29. data/lib/app/helpers/sixconfigs_helper.rb +5 -0
  30. data/lib/app/helpers/system_settings_helper.rb +2 -0
  31. data/lib/app/models/action.rb +5 -0
  32. data/lib/app/models/appsetting.rb +18 -0
  33. data/lib/app/models/log.rb +3 -0
  34. data/lib/app/models/log_observer.rb +23 -0
  35. data/lib/app/models/logsession.rb +3 -0
  36. data/lib/app/models/mod.rb +96 -0
  37. data/lib/app/models/queryserver.rb +167 -0
  38. data/lib/app/models/repository.rb +11 -0
  39. data/lib/app/models/server.rb +25 -0
  40. data/lib/app/models/sixconfig.rb +185 -0
  41. data/lib/app/models/system_setting.rb +77 -0
  42. data/lib/app/views/Repositories/imp.erb +1 -0
  43. data/lib/app/views/appsettings/manage.erb +4 -0
  44. data/lib/app/views/layouts/application.haml +48 -0
  45. data/lib/app/views/layouts/empty.haml +2 -0
  46. data/lib/app/views/logviews/_logs.erb +1 -0
  47. data/lib/app/views/logviews/upd.rjs +1 -0
  48. data/lib/app/views/main/_check.haml +18 -0
  49. data/lib/app/views/main/execute.haml +24 -0
  50. data/lib/app/views/main/fetch.haml +2 -0
  51. data/lib/app/views/main/index.haml +100 -0
  52. data/lib/app/views/main/logoutput.erb +6 -0
  53. data/lib/app/views/main/modlogs.erb +5 -0
  54. data/lib/app/views/main/reset.erb +40 -0
  55. data/lib/app/views/main/reset_act.haml +1 -0
  56. data/lib/app/views/mods/imp.haml +1 -0
  57. data/lib/app/views/servers/imp.erb +1 -0
  58. data/lib/config/GeoIP.dat +0 -0
  59. data/lib/config/boot.rb +110 -0
  60. data/lib/config/database.yml +34 -0
  61. data/lib/config/database.yml.sample +34 -0
  62. data/lib/config/environment.rb +59 -0
  63. data/lib/config/environments/development.rb +17 -0
  64. data/lib/config/environments/production.rb +28 -0
  65. data/lib/config/environments/test.rb +28 -0
  66. data/lib/config/gslist.cfg +3229 -0
  67. data/lib/config/initializers/backtrace_silencers.rb +7 -0
  68. data/lib/config/initializers/inflections.rb +10 -0
  69. data/lib/config/initializers/mime_types.rb +5 -0
  70. data/lib/config/initializers/new_rails_defaults.rb +19 -0
  71. data/lib/config/initializers/session_store.rb +15 -0
  72. data/lib/config/locales/en.yml +5 -0
  73. data/lib/config/routes.rb +43 -0
  74. data/lib/config/six-updater-web.rb +221 -0
  75. data/lib/db/migrate/20090826185820_create_repositories.rb +18 -0
  76. data/lib/db/migrate/20090826185836_create_mods.rb +23 -0
  77. data/lib/db/migrate/20090826185847_create_servers.rb +22 -0
  78. data/lib/db/migrate/20090826185930_create_appsettings.rb +21 -0
  79. data/lib/db/migrate/20090826190008_create_sixconfigs.rb +16 -0
  80. data/lib/db/migrate/20090829165545_create_actions.rb +18 -0
  81. data/lib/db/migrate/20090829165546_add_logpath_to_appsetting.rb +9 -0
  82. data/lib/db/migrate/20090829165547_change_columns_appsettings.rb +10 -0
  83. data/lib/db/migrate/20090916174120_create_logs.rb +14 -0
  84. data/lib/db/migrate/20090916174333_create_logsessions.rb +13 -0
  85. data/lib/db/migrate/20090921092253_create_sessions.rb +16 -0
  86. data/lib/db/migrate/20090921165547_change_columns.rb +46 -0
  87. data/lib/db/migrate/20090928163554_create_system_settings.rb +14 -0
  88. data/lib/db/migrate/20090928163555_change_columns_mods.rb +11 -0
  89. data/lib/db/migrate/20090928163556_change2_columns_mods.rb +11 -0
  90. data/lib/db/migrate/20090928163558_change_columns_repositories.rb +11 -0
  91. data/lib/db/migrate/20090928163559_change_columns_system_settings.rb +9 -0
  92. data/lib/db/migrate/20090928163560_change2_columns_system_settings.rb +9 -0
  93. data/lib/db/migrate/20090928163561_change2_columns.rb +46 -0
  94. data/lib/db/migrate/20090928163562_change3_columns_system_settings.rb +17 -0
  95. data/lib/db/migrate/20090928163563_change2_columns_appsettings.rb +9 -0
  96. data/lib/db/migrate/20100327164004_create_queryservers.rb +18 -0
  97. data/lib/db/migrate/20100404150547_add_fields_to_queryservers.rb +35 -0
  98. data/lib/db/migrate/20100404152436_create_mods_queryservers.rb +11 -0
  99. data/lib/db/migrate/20100405142958_add_saved_password_to_queryservers.rb +9 -0
  100. data/lib/db/migrate/20100405142959_change_mods_queryservers_id.rb +9 -0
  101. data/lib/db/migrate/20100405142960_add_gamespied_at_to_system_settings.rb +9 -0
  102. data/lib/db/migrate/20100409114653_add_priority_and_path_to_mods.rb +11 -0
  103. data/lib/db/schema.rb +289 -0
  104. data/lib/doc/README_FOR_APP +2 -0
  105. data/lib/init.rb +74 -0
  106. data/lib/lib/tasks/fixtures.rake +33 -0
  107. data/lib/lib/tasks/sync.rake +51 -0
  108. data/lib/log/production.log +1 -0
  109. data/lib/public/404.html +30 -0
  110. data/lib/public/422.html +30 -0
  111. data/lib/public/500.html +30 -0
  112. data/lib/public/blank.html +33 -0
  113. data/lib/public/favicon.ico +0 -0
  114. data/lib/public/goldberg/images/action.png +0 -0
  115. data/lib/public/goldberg/images/add.png +0 -0
  116. data/lib/public/goldberg/images/blockquote-bg.gif +0 -0
  117. data/lib/public/goldberg/images/body-bg.jpg +0 -0
  118. data/lib/public/goldberg/images/centerColumn-bg.jpg +0 -0
  119. data/lib/public/goldberg/images/daddy_leftarrow.gif +0 -0
  120. data/lib/public/goldberg/images/delete.png +0 -0
  121. data/lib/public/goldberg/images/down.png +0 -0
  122. data/lib/public/goldberg/images/h2-bg.gif +0 -0
  123. data/lib/public/goldberg/images/h3-bg.gif +0 -0
  124. data/lib/public/goldberg/images/header-bg.jpg +0 -0
  125. data/lib/public/goldberg/images/hr-bg.jpg +0 -0
  126. data/lib/public/goldberg/images/logo.jpg +0 -0
  127. data/lib/public/goldberg/images/page.png +0 -0
  128. data/lib/public/goldberg/images/permission.png +0 -0
  129. data/lib/public/goldberg/images/role.png +0 -0
  130. data/lib/public/goldberg/images/up.png +0 -0
  131. data/lib/public/goldberg/javascripts/suckerfish.js +12 -0
  132. data/lib/public/goldberg/stylesheets/goldberg.css +142 -0
  133. data/lib/public/goldberg/stylesheets/layout.css +433 -0
  134. data/lib/public/goldberg/stylesheets/suckerfish.css +124 -0
  135. data/lib/public/images/active_scaffold/DO_NOT_EDIT +2 -0
  136. data/lib/public/images/active_scaffold/default/add.gif +0 -0
  137. data/lib/public/images/active_scaffold/default/arrow_down.gif +0 -0
  138. data/lib/public/images/active_scaffold/default/arrow_refresh.png +0 -0
  139. data/lib/public/images/active_scaffold/default/arrow_up.gif +0 -0
  140. data/lib/public/images/active_scaffold/default/close.gif +0 -0
  141. data/lib/public/images/active_scaffold/default/cross.png +0 -0
  142. data/lib/public/images/active_scaffold/default/customize_tool.png +0 -0
  143. data/lib/public/images/active_scaffold/default/export_tool.png +0 -0
  144. data/lib/public/images/active_scaffold/default/indicator-small.gif +0 -0
  145. data/lib/public/images/active_scaffold/default/indicator.gif +0 -0
  146. data/lib/public/images/active_scaffold/default/magnifier.png +0 -0
  147. data/lib/public/images/active_scaffold/default/printer_tool.png +0 -0
  148. data/lib/public/images/rails.png +0 -0
  149. data/lib/public/images/record_select/cross.gif +0 -0
  150. data/lib/public/images/record_select/next.gif +0 -0
  151. data/lib/public/images/record_select/previous.gif +0 -0
  152. data/lib/public/images/top.png +0 -0
  153. data/lib/public/javascripts/active_scaffold/DO_NOT_EDIT +2 -0
  154. data/lib/public/javascripts/active_scaffold/default/active_scaffold.js +517 -0
  155. data/lib/public/javascripts/active_scaffold/default/advanced_search.js +54 -0
  156. data/lib/public/javascripts/active_scaffold/default/dhtml_history.js +867 -0
  157. data/lib/public/javascripts/active_scaffold/default/form_enhancements.js +117 -0
  158. data/lib/public/javascripts/active_scaffold/default/number_formats.js +167 -0
  159. data/lib/public/javascripts/active_scaffold/default/rico_corner.js +370 -0
  160. data/lib/public/javascripts/application.js +2 -0
  161. data/lib/public/javascripts/controls.js +963 -0
  162. data/lib/public/javascripts/dragdrop.js +973 -0
  163. data/lib/public/javascripts/effects.js +1128 -0
  164. data/lib/public/javascripts/prototype.js +4320 -0
  165. data/lib/public/javascripts/record_select/record_select.js +352 -0
  166. data/lib/public/robots.txt +5 -0
  167. data/lib/public/stylesheets/active_scaffold/DO_NOT_EDIT +2 -0
  168. data/lib/public/stylesheets/active_scaffold/default/advanced_search.css +11 -0
  169. data/lib/public/stylesheets/active_scaffold/default/stylesheet-ie.css +50 -0
  170. data/lib/public/stylesheets/active_scaffold/default/stylesheet.css +1059 -0
  171. data/lib/public/stylesheets/active_scaffold/default/tools-left-handed-stylesheet-ie.css +11 -0
  172. data/lib/public/stylesheets/active_scaffold/default/tools-left-handed-stylesheet.css +68 -0
  173. data/lib/public/stylesheets/record_select/record_select.css +129 -0
  174. data/lib/script/about +4 -0
  175. data/lib/script/console +3 -0
  176. data/lib/script/dbconsole +3 -0
  177. data/lib/script/destroy +3 -0
  178. data/lib/script/generate +3 -0
  179. data/lib/script/performance/benchmarker +3 -0
  180. data/lib/script/performance/profiler +3 -0
  181. data/lib/script/plugin +3 -0
  182. data/lib/script/runner +3 -0
  183. data/lib/script/server +3 -0
  184. data/lib/test/functional/actions_controller_test.rb +8 -0
  185. data/lib/test/functional/configs_controller_test.rb +8 -0
  186. data/lib/test/functional/logs_controller_test.rb +8 -0
  187. data/lib/test/functional/logsessions_controller_test.rb +8 -0
  188. data/lib/test/functional/logviews_controller_test.rb +8 -0
  189. data/lib/test/functional/main_controller_test.rb +8 -0
  190. data/lib/test/functional/mods_controller_test.rb +8 -0
  191. data/lib/test/functional/queryservers_controller_test.rb +8 -0
  192. data/lib/test/functional/repositories_controller_test.rb +8 -0
  193. data/lib/test/functional/servers_controller_test.rb +8 -0
  194. data/lib/test/functional/settings_controller_test.rb +8 -0
  195. data/lib/test/functional/system_settings_controller_test.rb +8 -0
  196. data/lib/test/performance/browsing_test.rb +9 -0
  197. data/lib/test/test_helper.rb +38 -0
  198. data/lib/test/unit/action_test.rb +8 -0
  199. data/lib/test/unit/config_test.rb +8 -0
  200. data/lib/test/unit/helpers/actions_helper_test.rb +4 -0
  201. data/lib/test/unit/helpers/configs_helper_test.rb +4 -0
  202. data/lib/test/unit/helpers/logs_helper_test.rb +4 -0
  203. data/lib/test/unit/helpers/logsessions_helper_test.rb +4 -0
  204. data/lib/test/unit/helpers/logviews_helper_test.rb +4 -0
  205. data/lib/test/unit/helpers/main_helper_test.rb +4 -0
  206. data/lib/test/unit/helpers/mods_helper_test.rb +4 -0
  207. data/lib/test/unit/helpers/queryservers_helper_test.rb +4 -0
  208. data/lib/test/unit/helpers/repositories_helper_test.rb +4 -0
  209. data/lib/test/unit/helpers/servers_helper_test.rb +4 -0
  210. data/lib/test/unit/helpers/settings_helper_test.rb +4 -0
  211. data/lib/test/unit/helpers/system_settings_helper_test.rb +4 -0
  212. data/lib/test/unit/log_test.rb +8 -0
  213. data/lib/test/unit/logsession_test.rb +8 -0
  214. data/lib/test/unit/mod_test.rb +8 -0
  215. data/lib/test/unit/queryserver_test.rb +8 -0
  216. data/lib/test/unit/repository_test.rb +8 -0
  217. data/lib/test/unit/server_test.rb +8 -0
  218. data/lib/test/unit/setting_test.rb +8 -0
  219. data/lib/test/unit/system_setting_test.rb +8 -0
  220. data/lib/vendor/plugins/active_scaffold/CHANGELOG +152 -0
  221. data/lib/vendor/plugins/active_scaffold/MIT-LICENSE +20 -0
  222. data/lib/vendor/plugins/active_scaffold/README +128 -0
  223. data/lib/vendor/plugins/active_scaffold/Rakefile +24 -0
  224. data/lib/vendor/plugins/active_scaffold/environment.rb +20 -0
  225. data/lib/vendor/plugins/active_scaffold/frontends/default/images/add.gif +0 -0
  226. data/lib/vendor/plugins/active_scaffold/frontends/default/images/arrow_down.gif +0 -0
  227. data/lib/vendor/plugins/active_scaffold/frontends/default/images/arrow_refresh.png +0 -0
  228. data/lib/vendor/plugins/active_scaffold/frontends/default/images/arrow_up.gif +0 -0
  229. data/lib/vendor/plugins/active_scaffold/frontends/default/images/close.gif +0 -0
  230. data/lib/vendor/plugins/active_scaffold/frontends/default/images/cross.png +0 -0
  231. data/lib/vendor/plugins/active_scaffold/frontends/default/images/customize_tool.png +0 -0
  232. data/lib/vendor/plugins/active_scaffold/frontends/default/images/export_tool.png +0 -0
  233. data/lib/vendor/plugins/active_scaffold/frontends/default/images/indicator-small.gif +0 -0
  234. data/lib/vendor/plugins/active_scaffold/frontends/default/images/indicator.gif +0 -0
  235. data/lib/vendor/plugins/active_scaffold/frontends/default/images/magnifier.png +0 -0
  236. data/lib/vendor/plugins/active_scaffold/frontends/default/images/printer_tool.png +0 -0
  237. data/lib/vendor/plugins/active_scaffold/frontends/default/javascripts/active_scaffold.js +517 -0
  238. data/lib/vendor/plugins/active_scaffold/frontends/default/javascripts/dhtml_history.js +867 -0
  239. data/lib/vendor/plugins/active_scaffold/frontends/default/javascripts/form_enhancements.js +117 -0
  240. data/lib/vendor/plugins/active_scaffold/frontends/default/javascripts/number_formats.js +167 -0
  241. data/lib/vendor/plugins/active_scaffold/frontends/default/javascripts/rico_corner.js +370 -0
  242. data/lib/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet-ie.css +50 -0
  243. data/lib/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet.css +1059 -0
  244. data/lib/vendor/plugins/active_scaffold/frontends/default/stylesheets/tools-left-handed-stylesheet-ie.css +11 -0
  245. data/lib/vendor/plugins/active_scaffold/frontends/default/stylesheets/tools-left-handed-stylesheet.css +68 -0
  246. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_add_existing_form.html.erb +36 -0
  247. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_create_form.html.erb +57 -0
  248. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_create_form_on_list.html.erb +45 -0
  249. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_create_form_submit.html.erb +2 -0
  250. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_export_csv.html.erb +20 -0
  251. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_field_search.html.erb +58 -0
  252. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form.html.erb +23 -0
  253. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form_association.html.erb +12 -0
  254. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form_association_footer.html.erb +43 -0
  255. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html.erb +24 -0
  256. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form_hidden_attribute.html.erb +1 -0
  257. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_form_messages.html.erb +5 -0
  258. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform.html.erb +19 -0
  259. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_header.html.erb +10 -0
  260. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_record.html.erb +29 -0
  261. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list.html.erb +43 -0
  262. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb +29 -0
  263. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_calculations.html.erb +43 -0
  264. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_column_headings.html.erb +64 -0
  265. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_header.html.erb +29 -0
  266. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_inline_adapter.html.erb +11 -0
  267. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_pagination_links.html.erb +30 -0
  268. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_record.html.erb +32 -0
  269. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_record_actions.html.erb +5 -0
  270. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_list_record_columns.html.erb +20 -0
  271. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_live_search.html.erb +23 -0
  272. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_messages.html.erb +10 -0
  273. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_nested.html.erb +45 -0
  274. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_print_list.html.erb +22 -0
  275. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_revision.html.erb +11 -0
  276. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_revision_columns.html.erb +62 -0
  277. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_search.html.erb +21 -0
  278. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_show.html.erb +8 -0
  279. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_show_columns.html.erb +19 -0
  280. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_show_customize.html.erb +27 -0
  281. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_show_export_tool.html.erb +17 -0
  282. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_update_actions.html.erb +9 -0
  283. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_update_form.html.erb +61 -0
  284. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_update_form_submit.html.erb +2 -0
  285. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform.html.erb +12 -0
  286. data/lib/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform_record.html.erb +31 -0
  287. data/lib/vendor/plugins/active_scaffold/frontends/default/views/add_existing.js.rjs +16 -0
  288. data/lib/vendor/plugins/active_scaffold/frontends/default/views/add_existing_form.html.erb +5 -0
  289. data/lib/vendor/plugins/active_scaffold/frontends/default/views/copy.rjs +4 -0
  290. data/lib/vendor/plugins/active_scaffold/frontends/default/views/create.html.erb +5 -0
  291. data/lib/vendor/plugins/active_scaffold/frontends/default/views/delete.html.erb +13 -0
  292. data/lib/vendor/plugins/active_scaffold/frontends/default/views/destroy.js.rjs +10 -0
  293. data/lib/vendor/plugins/active_scaffold/frontends/default/views/edit_associated.js.rjs +14 -0
  294. data/lib/vendor/plugins/active_scaffold/frontends/default/views/field_search.html.erb +5 -0
  295. data/lib/vendor/plugins/active_scaffold/frontends/default/views/form_messages.js.rjs +1 -0
  296. data/lib/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_save.js.rjs +10 -0
  297. data/lib/vendor/plugins/active_scaffold/frontends/default/views/latest.rjs +2 -0
  298. data/lib/vendor/plugins/active_scaffold/frontends/default/views/list.html.erb +48 -0
  299. data/lib/vendor/plugins/active_scaffold/frontends/default/views/on_create.js.rjs +25 -0
  300. data/lib/vendor/plugins/active_scaffold/frontends/default/views/on_update.js.rjs +11 -0
  301. data/lib/vendor/plugins/active_scaffold/frontends/default/views/print_list.prawn +26 -0
  302. data/lib/vendor/plugins/active_scaffold/frontends/default/views/refresh_list.js.rjs +6 -0
  303. data/lib/vendor/plugins/active_scaffold/frontends/default/views/refresh_record.js.rjs +2 -0
  304. data/lib/vendor/plugins/active_scaffold/frontends/default/views/render_field.js.rjs +9 -0
  305. data/lib/vendor/plugins/active_scaffold/frontends/default/views/revision.html.erb +5 -0
  306. data/lib/vendor/plugins/active_scaffold/frontends/default/views/search.html.erb +5 -0
  307. data/lib/vendor/plugins/active_scaffold/frontends/default/views/show.html.erb +5 -0
  308. data/lib/vendor/plugins/active_scaffold/frontends/default/views/show_customize.html.erb +5 -0
  309. data/lib/vendor/plugins/active_scaffold/frontends/default/views/show_export_tool.html.erb +5 -0
  310. data/lib/vendor/plugins/active_scaffold/frontends/default/views/update.html.erb +8 -0
  311. data/lib/vendor/plugins/active_scaffold/frontends/default/views/update_column.js.rjs +12 -0
  312. data/lib/vendor/plugins/active_scaffold/init.rb +18 -0
  313. data/lib/vendor/plugins/active_scaffold/install.rb +39 -0
  314. data/lib/vendor/plugins/active_scaffold/install_assets.rb +36 -0
  315. data/lib/vendor/plugins/active_scaffold/lib/active_record_permissions.rb +136 -0
  316. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold.rb +215 -0
  317. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb +142 -0
  318. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb +160 -0
  319. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/customize.rb +59 -0
  320. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/delete.rb +72 -0
  321. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb +49 -0
  322. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/field_search.rb +82 -0
  323. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb +119 -0
  324. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/live_search.rb +59 -0
  325. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/nested.rb +219 -0
  326. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/print_base.rb +23 -0
  327. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/print_list.rb +44 -0
  328. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/refresh.rb +31 -0
  329. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/revision.rb +51 -0
  330. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/search.rb +50 -0
  331. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/show.rb +54 -0
  332. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/subform.rb +17 -0
  333. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/actions/update.rb +128 -0
  334. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb +196 -0
  335. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/base.rb +45 -0
  336. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/core.rb +263 -0
  337. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/create.rb +43 -0
  338. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/customize.rb +34 -0
  339. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/delete.rb +25 -0
  340. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/export_tool.rb +52 -0
  341. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/field_search.rb +53 -0
  342. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/form.rb +49 -0
  343. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/list.rb +142 -0
  344. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/live_search.rb +52 -0
  345. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/nested.rb +34 -0
  346. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/print_base.rb +40 -0
  347. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/print_list.rb +52 -0
  348. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/refresh.rb +22 -0
  349. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/revision.rb +39 -0
  350. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/search.rb +52 -0
  351. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/show.rb +36 -0
  352. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/subform.rb +40 -0
  353. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/config/update.rb +32 -0
  354. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/configurable.rb +29 -0
  355. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/constraints.rb +181 -0
  356. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_columns.rb +97 -0
  357. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_link.rb +140 -0
  358. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_links.rb +47 -0
  359. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/actions.rb +45 -0
  360. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb +343 -0
  361. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb +75 -0
  362. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/error_message.rb +24 -0
  363. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/set.rb +62 -0
  364. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/sorting.rb +159 -0
  365. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/finder.rb +331 -0
  366. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/active_scaffold_generator.rb +348 -0
  367. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/controller_methods.rb +36 -0
  368. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/controller_scaffolding.rhtml +10 -0
  369. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/fixtures.yml +5 -0
  370. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/form.rhtml +3 -0
  371. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/form_scaffolding.rhtml +1 -0
  372. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/functional_test.rb +45 -0
  373. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/helper.rb +2 -0
  374. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/model.rb +3 -0
  375. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/model_scaffolding.rhtml +90 -0
  376. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/show.rhtml +8 -0
  377. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/show_scaffolding.rhtml +1 -0
  378. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/generators/active_scaffold/templates/unit_test.rb +5 -0
  379. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/association_helpers.rb +40 -0
  380. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/controller_helpers.rb +41 -0
  381. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/country_helpers.rb +365 -0
  382. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/form_column_helpers.rb +484 -0
  383. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/id_helpers.rb +152 -0
  384. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/list_column_helpers.rb +397 -0
  385. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/number_helpers.rb +143 -0
  386. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/pagination_helpers.rb +39 -0
  387. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/search_column_helpers.rb +279 -0
  388. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/show_column_helpers.rb +46 -0
  389. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb +227 -0
  390. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/locale/en-countries.yml +247 -0
  391. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/locale/en.rb +68 -0
  392. data/lib/vendor/plugins/active_scaffold/lib/active_scaffold/search.rb +21 -0
  393. data/lib/vendor/plugins/active_scaffold/lib/bridges/bridge.rb +52 -0
  394. data/lib/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/bridge.rb +11 -0
  395. data/lib/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/lib/as_cds_bridge.rb +135 -0
  396. data/lib/vendor/plugins/active_scaffold/lib/bridges/checkbox.rb +21 -0
  397. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/bridge.rb +12 -0
  398. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/as_file_column_bridge.rb +75 -0
  399. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/file_column_helpers.rb +51 -0
  400. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/form_ui.rb +33 -0
  401. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/list_ui.rb +42 -0
  402. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/test/functional/file_column_keep_test.rb +43 -0
  403. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/test/mock_model.rb +9 -0
  404. data/lib/vendor/plugins/active_scaffold/lib/bridges/file_column/test/test_helper.rb +15 -0
  405. data/lib/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/bridge.rb +5 -0
  406. data/lib/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/lib/tiny_mce_bridge.rb +45 -0
  407. data/lib/vendor/plugins/active_scaffold/lib/dhtml_confirm.rb +54 -0
  408. data/lib/vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb +20 -0
  409. data/lib/vendor/plugins/active_scaffold/lib/extensions/action_view_rendering.rb +88 -0
  410. data/lib/vendor/plugins/active_scaffold/lib/extensions/array.rb +7 -0
  411. data/lib/vendor/plugins/active_scaffold/lib/extensions/component_response_with_namespacing.rb +17 -0
  412. data/lib/vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb +33 -0
  413. data/lib/vendor/plugins/active_scaffold/lib/extensions/java_script_macros_helper.rb +152 -0
  414. data/lib/vendor/plugins/active_scaffold/lib/extensions/localize.rb +11 -0
  415. data/lib/vendor/plugins/active_scaffold/lib/extensions/name_option_for_datetime.rb +12 -0
  416. data/lib/vendor/plugins/active_scaffold/lib/extensions/nil_id_in_url_params.rb +7 -0
  417. data/lib/vendor/plugins/active_scaffold/lib/extensions/resources.rb +27 -0
  418. data/lib/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb +56 -0
  419. data/lib/vendor/plugins/active_scaffold/lib/extensions/schema_definitions.rb +15 -0
  420. data/lib/vendor/plugins/active_scaffold/lib/extensions/to_label.rb +8 -0
  421. data/lib/vendor/plugins/active_scaffold/lib/extensions/unsaved_associated.rb +61 -0
  422. data/lib/vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb +20 -0
  423. data/lib/vendor/plugins/active_scaffold/lib/extensions/usa_state.rb +46 -0
  424. data/lib/vendor/plugins/active_scaffold/lib/paginator.rb +136 -0
  425. data/lib/vendor/plugins/active_scaffold/lib/responds_to_parent.rb +68 -0
  426. data/lib/vendor/plugins/active_scaffold/public/blank.html +33 -0
  427. data/lib/vendor/plugins/active_scaffold/test/bridges/bridge_test.rb +47 -0
  428. data/lib/vendor/plugins/active_scaffold/test/config/create_test.rb +55 -0
  429. data/lib/vendor/plugins/active_scaffold/test/config/list_test.rb +74 -0
  430. data/lib/vendor/plugins/active_scaffold/test/config/update_test.rb +17 -0
  431. data/lib/vendor/plugins/active_scaffold/test/const_mocker.rb +36 -0
  432. data/lib/vendor/plugins/active_scaffold/test/data_structures/action_columns_test.rb +119 -0
  433. data/lib/vendor/plugins/active_scaffold/test/data_structures/action_link_test.rb +78 -0
  434. data/lib/vendor/plugins/active_scaffold/test/data_structures/action_links_test.rb +78 -0
  435. data/lib/vendor/plugins/active_scaffold/test/data_structures/actions_test.rb +25 -0
  436. data/lib/vendor/plugins/active_scaffold/test/data_structures/association_column_test.rb +41 -0
  437. data/lib/vendor/plugins/active_scaffold/test/data_structures/column_test.rb +161 -0
  438. data/lib/vendor/plugins/active_scaffold/test/data_structures/columns_test.rb +69 -0
  439. data/lib/vendor/plugins/active_scaffold/test/data_structures/error_message_test.rb +28 -0
  440. data/lib/vendor/plugins/active_scaffold/test/data_structures/set_test.rb +86 -0
  441. data/lib/vendor/plugins/active_scaffold/test/data_structures/sorting_test.rb +96 -0
  442. data/lib/vendor/plugins/active_scaffold/test/data_structures/standard_column_test.rb +34 -0
  443. data/lib/vendor/plugins/active_scaffold/test/data_structures/virtual_column_test.rb +34 -0
  444. data/lib/vendor/plugins/active_scaffold/test/extensions/active_record_test.rb +45 -0
  445. data/lib/vendor/plugins/active_scaffold/test/extensions/array.rb +12 -0
  446. data/lib/vendor/plugins/active_scaffold/test/misc/active_record_permissions.rb +154 -0
  447. data/lib/vendor/plugins/active_scaffold/test/misc/configurable_test.rb +96 -0
  448. data/lib/vendor/plugins/active_scaffold/test/misc/constraints_test.rb +175 -0
  449. data/lib/vendor/plugins/active_scaffold/test/misc/finder_test.rb +70 -0
  450. data/lib/vendor/plugins/active_scaffold/test/misc/lang_test.rb +12 -0
  451. data/lib/vendor/plugins/active_scaffold/test/model_stub.rb +39 -0
  452. data/lib/vendor/plugins/active_scaffold/test/render_component/abstract_unit.rb +8 -0
  453. data/lib/vendor/plugins/active_scaffold/test/render_component/components_test.rb +140 -0
  454. data/lib/vendor/plugins/active_scaffold/test/run_all.rb +8 -0
  455. data/lib/vendor/plugins/active_scaffold/test/test_helper.rb +13 -0
  456. data/lib/vendor/plugins/active_scaffold/things.todo +55 -0
  457. data/lib/vendor/plugins/active_scaffold/uninstall.rb +13 -0
  458. data/lib/vendor/plugins/activescaffold_advanced_search/README +1 -0
  459. data/lib/vendor/plugins/activescaffold_advanced_search/README.markdown +39 -0
  460. data/lib/vendor/plugins/activescaffold_advanced_search/app/views/active_scaffold_overrides/_advanced_search.rhtml +41 -0
  461. data/lib/vendor/plugins/activescaffold_advanced_search/frontends/default/javascripts/advanced_search.js +54 -0
  462. data/lib/vendor/plugins/activescaffold_advanced_search/frontends/default/stylesheets/advanced_search.css +11 -0
  463. data/lib/vendor/plugins/activescaffold_advanced_search/init.rb +22 -0
  464. data/lib/vendor/plugins/activescaffold_advanced_search/install.rb +50 -0
  465. data/lib/vendor/plugins/activescaffold_advanced_search/lib/actions/advanced_search.rb +62 -0
  466. data/lib/vendor/plugins/activescaffold_advanced_search/lib/advanced_finder.rb +101 -0
  467. data/lib/vendor/plugins/activescaffold_advanced_search/lib/config/advanced_search.rb +48 -0
  468. data/lib/vendor/plugins/activescaffold_advanced_search/lib/config/core.rb +23 -0
  469. data/lib/vendor/plugins/activescaffold_advanced_search/lib/helpers/advanced_search_helpers.rb +19 -0
  470. data/lib/vendor/plugins/activescaffold_advanced_search/lib/helpers/view_helpers.rb +20 -0
  471. data/lib/vendor/plugins/activescaffold_advanced_search/uninstall.rb.rb +2 -0
  472. data/lib/vendor/plugins/goldberg/README.rdoc +36 -0
  473. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/auth_controller.rb +97 -0
  474. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/content_pages_controller.rb +197 -0
  475. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/controller_actions_controller.rb +130 -0
  476. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/menu_items_controller.rb +184 -0
  477. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/permissions_controller.rb +60 -0
  478. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/roles_controller.rb +85 -0
  479. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/roles_permissions_controller.rb +65 -0
  480. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/site_controllers_controller.rb +157 -0
  481. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/system_settings_controller.rb +75 -0
  482. data/lib/vendor/plugins/goldberg/app/controllers/goldberg/users_controller.rb +293 -0
  483. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/auth_helper.rb +4 -0
  484. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/content_pages_helper.rb +23 -0
  485. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/controller_actions_helper.rb +5 -0
  486. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/menu_items_helper.rb +4 -0
  487. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/permissions_helper.rb +4 -0
  488. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/roles_helper.rb +4 -0
  489. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/roles_permissions_helper.rb +4 -0
  490. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/site_controllers_helper.rb +4 -0
  491. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/system_settings_helper.rb +4 -0
  492. data/lib/vendor/plugins/goldberg/app/helpers/goldberg/users_helper.rb +4 -0
  493. data/lib/vendor/plugins/goldberg/app/models/goldberg/content_page.rb +134 -0
  494. data/lib/vendor/plugins/goldberg/app/models/goldberg/controller_action.rb +86 -0
  495. data/lib/vendor/plugins/goldberg/app/models/goldberg/credentials.rb +128 -0
  496. data/lib/vendor/plugins/goldberg/app/models/goldberg/menu.rb +198 -0
  497. data/lib/vendor/plugins/goldberg/app/models/goldberg/menu_item.rb +127 -0
  498. data/lib/vendor/plugins/goldberg/app/models/goldberg/permission.rb +37 -0
  499. data/lib/vendor/plugins/goldberg/app/models/goldberg/role.rb +68 -0
  500. data/lib/vendor/plugins/goldberg/app/models/goldberg/roles_permission.rb +18 -0
  501. data/lib/vendor/plugins/goldberg/app/models/goldberg/site_controller.rb +60 -0
  502. data/lib/vendor/plugins/goldberg/app/models/goldberg/system_settings.rb +112 -0
  503. data/lib/vendor/plugins/goldberg/app/models/goldberg/user.rb +69 -0
  504. data/lib/vendor/plugins/goldberg/app/models/goldberg/user_mailer.rb +43 -0
  505. data/lib/vendor/plugins/goldberg/app/views/goldberg/auth/_login.rhtml +15 -0
  506. data/lib/vendor/plugins/goldberg/app/views/goldberg/auth/login.rhtml +22 -0
  507. data/lib/vendor/plugins/goldberg/app/views/goldberg/auth/logout.rhtml +2 -0
  508. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/_fck_create_folder.rxml +6 -0
  509. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/_fck_files.rxml +19 -0
  510. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/_form.rhtml +32 -0
  511. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/edit.rhtml +10 -0
  512. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/fck_speller_pages.rhtml +58 -0
  513. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/list.rhtml +22 -0
  514. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/new.rhtml +8 -0
  515. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/show.rhtml +57 -0
  516. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/view.rhtml +1 -0
  517. data/lib/vendor/plugins/goldberg/app/views/goldberg/content_pages/view_default.rhtml +1 -0
  518. data/lib/vendor/plugins/goldberg/app/views/goldberg/controller_actions/_form.rhtml +53 -0
  519. data/lib/vendor/plugins/goldberg/app/views/goldberg/controller_actions/edit.rhtml +9 -0
  520. data/lib/vendor/plugins/goldberg/app/views/goldberg/controller_actions/list.rhtml +27 -0
  521. data/lib/vendor/plugins/goldberg/app/views/goldberg/controller_actions/new.rhtml +10 -0
  522. data/lib/vendor/plugins/goldberg/app/views/goldberg/controller_actions/show.rhtml +13 -0
  523. data/lib/vendor/plugins/goldberg/app/views/goldberg/layouts/_tabpanel_js.rhtml +52 -0
  524. data/lib/vendor/plugins/goldberg/app/views/goldberg/layouts/_tabpanel_list.rhtml +7 -0
  525. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_breadcrumbs.rhtml +5 -0
  526. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_form.rhtml +42 -0
  527. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_item_list.rhtml +52 -0
  528. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_item_parent_list.rhtml +15 -0
  529. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_menubar.rhtml +21 -0
  530. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/_suckerfish.rhtml +14 -0
  531. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/edit.rhtml +10 -0
  532. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/list-original.rhtml +27 -0
  533. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/list.rhtml +16 -0
  534. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/new.rhtml +9 -0
  535. data/lib/vendor/plugins/goldberg/app/views/goldberg/menu_items/show.rhtml +8 -0
  536. data/lib/vendor/plugins/goldberg/app/views/goldberg/permissions/_form.rhtml +7 -0
  537. data/lib/vendor/plugins/goldberg/app/views/goldberg/permissions/edit.rhtml +9 -0
  538. data/lib/vendor/plugins/goldberg/app/views/goldberg/permissions/list.rhtml +14 -0
  539. data/lib/vendor/plugins/goldberg/app/views/goldberg/permissions/new.rhtml +8 -0
  540. data/lib/vendor/plugins/goldberg/app/views/goldberg/permissions/show.rhtml +38 -0
  541. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles/_form.rhtml +18 -0
  542. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles/edit.rhtml +9 -0
  543. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles/list.rhtml +21 -0
  544. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles/new.rhtml +8 -0
  545. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles/show.rhtml +79 -0
  546. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/_form.rhtml +13 -0
  547. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/edit.rhtml +9 -0
  548. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/list.rhtml +24 -0
  549. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/new.rhtml +8 -0
  550. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/new_permission_for_role.rhtml +8 -0
  551. data/lib/vendor/plugins/goldberg/app/views/goldberg/roles_permissions/show.rhtml +8 -0
  552. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/_form.rhtml +15 -0
  553. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/_list.rhtml +26 -0
  554. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/edit.rhtml +9 -0
  555. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/list.rhtml +107 -0
  556. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/new.rhtml +8 -0
  557. data/lib/vendor/plugins/goldberg/app/views/goldberg/site_controllers/show.rhtml +38 -0
  558. data/lib/vendor/plugins/goldberg/app/views/goldberg/system_settings/_form.rhtml +71 -0
  559. data/lib/vendor/plugins/goldberg/app/views/goldberg/system_settings/edit.rhtml +9 -0
  560. data/lib/vendor/plugins/goldberg/app/views/goldberg/system_settings/list.rhtml +27 -0
  561. data/lib/vendor/plugins/goldberg/app/views/goldberg/system_settings/new.rhtml +8 -0
  562. data/lib/vendor/plugins/goldberg/app/views/goldberg/system_settings/show.rhtml +189 -0
  563. data/lib/vendor/plugins/goldberg/app/views/goldberg/user_mailer/confirmation_request.rhtml +19 -0
  564. data/lib/vendor/plugins/goldberg/app/views/goldberg/user_mailer/reset_password.rhtml +17 -0
  565. data/lib/vendor/plugins/goldberg/app/views/goldberg/user_mailer/reset_password_request.rhtml +23 -0
  566. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/_form.rhtml +53 -0
  567. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/confirm_registration.rhtml +26 -0
  568. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/confirm_registration_submit.rhtml +4 -0
  569. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/create.rhtml +19 -0
  570. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/edit.rhtml +11 -0
  571. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/forgot_password.rhtml +27 -0
  572. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/forgot_password_submit.rhtml +4 -0
  573. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/list.rhtml +18 -0
  574. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/new.rhtml +19 -0
  575. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/reset_password.rhtml +11 -0
  576. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/reset_password_submit.rhtml +3 -0
  577. data/lib/vendor/plugins/goldberg/app/views/goldberg/users/show.rhtml +33 -0
  578. data/lib/vendor/plugins/goldberg/db/ContentPage.yml +466 -0
  579. data/lib/vendor/plugins/goldberg/db/ControllerAction.yml +162 -0
  580. data/lib/vendor/plugins/goldberg/db/MenuItem.yml +109 -0
  581. data/lib/vendor/plugins/goldberg/db/Permission.yml +21 -0
  582. data/lib/vendor/plugins/goldberg/db/Role.yml +493 -0
  583. data/lib/vendor/plugins/goldberg/db/RolesPermission.yml +26 -0
  584. data/lib/vendor/plugins/goldberg/db/SiteController.yml +61 -0
  585. data/lib/vendor/plugins/goldberg/db/SystemSettings.yml +21 -0
  586. data/lib/vendor/plugins/goldberg/db/User.yml +15 -0
  587. data/lib/vendor/plugins/goldberg/db/migrate/001_initial_setup.rb +128 -0
  588. data/lib/vendor/plugins/goldberg/db/migrate/002_menu_rest_items_users_cached_content_pages.rb +26 -0
  589. data/lib/vendor/plugins/goldberg/db/migrate/003_self_registration.rb +54 -0
  590. data/lib/vendor/plugins/goldberg/db/migrate/004_column_fixes.rb +119 -0
  591. data/lib/vendor/plugins/goldberg/goldberg.txt +1 -0
  592. data/lib/vendor/plugins/goldberg/init.rb +15 -0
  593. data/lib/vendor/plugins/goldberg/lib/goldberg.rb +37 -0
  594. data/lib/vendor/plugins/goldberg/lib/goldberg/controller.rb +10 -0
  595. data/lib/vendor/plugins/goldberg/lib/goldberg/filters.rb +197 -0
  596. data/lib/vendor/plugins/goldberg/lib/goldberg/helper.rb +66 -0
  597. data/lib/vendor/plugins/goldberg/lib/goldberg/migration.rb +113 -0
  598. data/lib/vendor/plugins/goldberg/lib/goldberg/migrator.rb +133 -0
  599. data/lib/vendor/plugins/goldberg/lib/goldberg/model.rb +127 -0
  600. data/lib/vendor/plugins/goldberg/lib/goldberg/routes.rb +49 -0
  601. data/lib/vendor/plugins/goldberg/lib/goldberg/test_helper.rb +82 -0
  602. data/lib/vendor/plugins/goldberg/tasks/goldberg_tasks.rake +81 -0
  603. data/lib/vendor/plugins/goldberg/test/functional/content_pages_controller_test.rb +31 -0
  604. data/lib/vendor/plugins/goldberg/test/integration/security_test.rb +95 -0
  605. data/lib/vendor/plugins/goldberg/test/test_helper.rb +40 -0
  606. data/lib/vendor/plugins/goldberg/test/unit/content_page_test.rb +87 -0
  607. data/lib/vendor/plugins/goldberg/test/unit/controller_action_test.rb +85 -0
  608. data/lib/vendor/plugins/goldberg/test/unit/menu_item_test.rb +46 -0
  609. data/lib/vendor/plugins/goldberg/test/unit/permission_test.rb +35 -0
  610. data/lib/vendor/plugins/goldberg/test/unit/site_controller_test.rb +53 -0
  611. data/lib/vendor/plugins/goldberg/test/unit/system_settings_test.rb +71 -0
  612. data/lib/vendor/plugins/goldberg/test/unit/user_test.rb +104 -0
  613. data/lib/vendor/plugins/goldberg/themes/common/public/images/action.png +0 -0
  614. data/lib/vendor/plugins/goldberg/themes/common/public/images/add.png +0 -0
  615. data/lib/vendor/plugins/goldberg/themes/common/public/images/delete.png +0 -0
  616. data/lib/vendor/plugins/goldberg/themes/common/public/images/down.png +0 -0
  617. data/lib/vendor/plugins/goldberg/themes/common/public/images/page.png +0 -0
  618. data/lib/vendor/plugins/goldberg/themes/common/public/images/permission.png +0 -0
  619. data/lib/vendor/plugins/goldberg/themes/common/public/images/role.png +0 -0
  620. data/lib/vendor/plugins/goldberg/themes/common/public/images/up.png +0 -0
  621. data/lib/vendor/plugins/goldberg/themes/common/public/javascripts/suckerfish.js +12 -0
  622. data/lib/vendor/plugins/goldberg/themes/common/public/stylesheets/goldberg.css +142 -0
  623. data/lib/vendor/plugins/goldberg/themes/common/public/stylesheets/suckerfish.css +124 -0
  624. data/lib/vendor/plugins/goldberg/themes/ewnf/app/views/layouts/application.html.erb +74 -0
  625. data/lib/vendor/plugins/goldberg/themes/ewnf/public/images/bg.gif +0 -0
  626. data/lib/vendor/plugins/goldberg/themes/ewnf/public/images/daddy_rightarrow.gif +0 -0
  627. data/lib/vendor/plugins/goldberg/themes/ewnf/public/images/sample.jpg +0 -0
  628. data/lib/vendor/plugins/goldberg/themes/ewnf/public/images/title_img.jpg +0 -0
  629. data/lib/vendor/plugins/goldberg/themes/ewnf/public/stylesheets/layout.css +223 -0
  630. data/lib/vendor/plugins/goldberg/themes/goldberg/app/views/layouts/application.html.erb +80 -0
  631. data/lib/vendor/plugins/goldberg/themes/goldberg/public/images/bodybg.jpg +0 -0
  632. data/lib/vendor/plugins/goldberg/themes/goldberg/public/images/footerbg.jpg +0 -0
  633. data/lib/vendor/plugins/goldberg/themes/goldberg/public/images/logo_right.jpg +0 -0
  634. data/lib/vendor/plugins/goldberg/themes/goldberg/public/images/menuhover.jpg +0 -0
  635. data/lib/vendor/plugins/goldberg/themes/goldberg/public/stylesheets/layout.css +321 -0
  636. data/lib/vendor/plugins/goldberg/themes/snooker/app/views/layouts/application.html.erb +74 -0
  637. data/lib/vendor/plugins/goldberg/themes/snooker/public/images/column_200.png +0 -0
  638. data/lib/vendor/plugins/goldberg/themes/snooker/public/images/daddy_rightarrow.gif +0 -0
  639. data/lib/vendor/plugins/goldberg/themes/snooker/public/images/footer_bg.png +0 -0
  640. data/lib/vendor/plugins/goldberg/themes/snooker/public/images/logo.jpg +0 -0
  641. data/lib/vendor/plugins/goldberg/themes/snooker/public/stylesheets/layout.css +183 -0
  642. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/app/views/layouts/application.html.erb +71 -0
  643. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/blockquote-bg.gif +0 -0
  644. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/body-bg.jpg +0 -0
  645. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/centerColumn-bg.jpg +0 -0
  646. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/daddy_leftarrow.gif +0 -0
  647. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/h2-bg.gif +0 -0
  648. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/h3-bg.gif +0 -0
  649. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/header-bg.jpg +0 -0
  650. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/hr-bg.jpg +0 -0
  651. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/images/logo.jpg +0 -0
  652. data/lib/vendor/plugins/goldberg/themes/spoiled_brat/public/stylesheets/layout.css +379 -0
  653. data/lib/vendor/plugins/in_place_editing/README +14 -0
  654. data/lib/vendor/plugins/in_place_editing/Rakefile +22 -0
  655. data/lib/vendor/plugins/in_place_editing/init.rb +2 -0
  656. data/lib/vendor/plugins/in_place_editing/lib/in_place_editing.rb +29 -0
  657. data/lib/vendor/plugins/in_place_editing/lib/in_place_macros_helper.rb +81 -0
  658. data/lib/vendor/plugins/in_place_editing/test/in_place_editing_test.rb +89 -0
  659. data/lib/vendor/plugins/in_place_editing/test/test_helper.rb +8 -0
  660. data/lib/vendor/plugins/recordselect/CHANGELOG +25 -0
  661. data/lib/vendor/plugins/recordselect/MIT-LICENSE +20 -0
  662. data/lib/vendor/plugins/recordselect/README +11 -0
  663. data/lib/vendor/plugins/recordselect/Rakefile +23 -0
  664. data/lib/vendor/plugins/recordselect/app/helpers/record_select_helper.rb +187 -0
  665. data/lib/vendor/plugins/recordselect/app/views/record_select/_browse.html.erb +8 -0
  666. data/lib/vendor/plugins/recordselect/app/views/record_select/_list.html.erb +31 -0
  667. data/lib/vendor/plugins/recordselect/app/views/record_select/_search.html.erb +14 -0
  668. data/lib/vendor/plugins/recordselect/app/views/record_select/browse.js.rjs +4 -0
  669. data/lib/vendor/plugins/recordselect/assets/images/cross.gif +0 -0
  670. data/lib/vendor/plugins/recordselect/assets/images/next.gif +0 -0
  671. data/lib/vendor/plugins/recordselect/assets/images/previous.gif +0 -0
  672. data/lib/vendor/plugins/recordselect/assets/javascripts/record_select.js +352 -0
  673. data/lib/vendor/plugins/recordselect/assets/stylesheets/record_select.css +129 -0
  674. data/lib/vendor/plugins/recordselect/init.rb +16 -0
  675. data/lib/vendor/plugins/recordselect/install.rb +1 -0
  676. data/lib/vendor/plugins/recordselect/lib/extensions/active_record.rb +9 -0
  677. data/lib/vendor/plugins/recordselect/lib/localization.rb +8 -0
  678. data/lib/vendor/plugins/recordselect/lib/record_select.rb +36 -0
  679. data/lib/vendor/plugins/recordselect/lib/record_select/actions.rb +67 -0
  680. data/lib/vendor/plugins/recordselect/lib/record_select/conditions.rb +86 -0
  681. data/lib/vendor/plugins/recordselect/lib/record_select/config.rb +91 -0
  682. data/lib/vendor/plugins/recordselect/lib/record_select/form_builder.rb +25 -0
  683. data/lib/vendor/plugins/recordselect/test/recordselect_test.rb +8 -0
  684. data/lib/vendor/plugins/recordselect/uninstall.rb +4 -0
  685. data/lib/vendor/plugins/render_component/README +37 -0
  686. data/lib/vendor/plugins/render_component/Rakefile +22 -0
  687. data/lib/vendor/plugins/render_component/init.rb +2 -0
  688. data/lib/vendor/plugins/render_component/lib/components.rb +142 -0
  689. data/lib/vendor/plugins/render_component/test/abstract_unit.rb +8 -0
  690. data/lib/vendor/plugins/render_component/test/components_test.rb +140 -0
  691. data/lib/vendor/plugins/six-app_manager/Rakefile +26 -0
  692. data/lib/vendor/plugins/six-app_manager/environment.rb +30 -0
  693. data/lib/vendor/plugins/six-app_manager/init.rb +18 -0
  694. data/lib/vendor/plugins/six-app_manager/lib/six/appmanager.rb +247 -0
  695. data/lib/vendor/plugins/six-db_manager/Rakefile +26 -0
  696. data/lib/vendor/plugins/six-db_manager/db/actions.yml +1 -0
  697. data/lib/vendor/plugins/six-db_manager/db/actions_sixconfigs.yml +1 -0
  698. data/lib/vendor/plugins/six-db_manager/db/appsettings.yml +1 -0
  699. data/lib/vendor/plugins/six-db_manager/db/appsettings_sixconfigs.yml +1 -0
  700. data/lib/vendor/plugins/six-db_manager/db/goldberg_content_pages.yml +360 -0
  701. data/lib/vendor/plugins/six-db_manager/db/goldberg_controller_actions.yml +211 -0
  702. data/lib/vendor/plugins/six-db_manager/db/goldberg_menu_items.yml +169 -0
  703. data/lib/vendor/plugins/six-db_manager/db/goldberg_permissions.yml +16 -0
  704. data/lib/vendor/plugins/six-db_manager/db/goldberg_roles.yml +683 -0
  705. data/lib/vendor/plugins/six-db_manager/db/goldberg_roles_permissions.yml +21 -0
  706. data/lib/vendor/plugins/six-db_manager/db/goldberg_site_controllers.yml +106 -0
  707. data/lib/vendor/plugins/six-db_manager/db/goldberg_system_settings.yml +20 -0
  708. data/lib/vendor/plugins/six-db_manager/db/goldberg_users.yml +27 -0
  709. data/lib/vendor/plugins/six-db_manager/db/mods.yml +1 -0
  710. data/lib/vendor/plugins/six-db_manager/db/mods_servers.yml +2 -0
  711. data/lib/vendor/plugins/six-db_manager/db/mods_sixconfigs.yml +1 -0
  712. data/lib/vendor/plugins/six-db_manager/db/queryservers.yml +1 -0
  713. data/lib/vendor/plugins/six-db_manager/db/repositories.yml +1 -0
  714. data/lib/vendor/plugins/six-db_manager/db/servers.yml +2 -0
  715. data/lib/vendor/plugins/six-db_manager/db/servers_sixconfigs.yml +2 -0
  716. data/lib/vendor/plugins/six-db_manager/db/sixconfigs.yml +1 -0
  717. data/lib/vendor/plugins/six-db_manager/db/system_settings.yml +1 -0
  718. data/lib/vendor/plugins/six-db_manager/environment.rb +24 -0
  719. data/lib/vendor/plugins/six-db_manager/init.rb +18 -0
  720. data/lib/vendor/plugins/six-db_manager/lib/six/dbmanager.rb +204 -0
  721. data/lib/vendor/plugins/six-guid/Rakefile +26 -0
  722. data/lib/vendor/plugins/six-guid/environment.rb +24 -0
  723. data/lib/vendor/plugins/six-guid/init.rb +18 -0
  724. data/lib/vendor/plugins/six-guid/lib/six/guid.rb +32 -0
  725. data/lib/vendor/plugins/six-import/Rakefile +26 -0
  726. data/lib/vendor/plugins/six-import/environment.rb +24 -0
  727. data/lib/vendor/plugins/six-import/init.rb +18 -0
  728. data/lib/vendor/plugins/six-import/lib/six/import.rb +133 -0
  729. data/lib/vendor/plugins/six-network/Rakefile +26 -0
  730. data/lib/vendor/plugins/six-network/environment.rb +2 -0
  731. data/lib/vendor/plugins/six-network/init.rb +18 -0
  732. data/lib/vendor/plugins/six-network/lib/six/network.rb +72 -0
  733. data/lib/vendor/plugins/six-query/Rakefile +26 -0
  734. data/lib/vendor/plugins/six-query/app/controllers/sixsense/auth_controller.rb +165 -0
  735. data/lib/vendor/plugins/six-query/environment.rb +33 -0
  736. data/lib/vendor/plugins/six-query/init.rb +18 -0
  737. data/lib/vendor/plugins/six-query/lib/six/query.rb +4 -0
  738. data/lib/vendor/plugins/six-query/lib/six/query/base.rb +37 -0
  739. data/lib/vendor/plugins/six-query/lib/six/query/gamespy.rb +107 -0
  740. data/lib/vendor/plugins/six-query/lib/six/query/gamespy_master.rb +61 -0
  741. metadata +743 -7
  742. data/lib/six/updater-web-app.rb +0 -80722
@@ -0,0 +1,140 @@
1
+ module ActiveScaffold::DataStructures
2
+ class ActionLink
3
+ # provides a quick way to set any property of the object from a hash
4
+ def initialize(action, options = {})
5
+ # set defaults
6
+ self.action = action.to_s
7
+ self.label = action
8
+ self.confirm = false
9
+ self.type = :table
10
+ self.inline = true
11
+ self.method = :get
12
+ self.crud_type = :destroy if [:destroy].include?(action.to_sym)
13
+ self.crud_type = :create if [:create, :new].include?(action.to_sym)
14
+ self.crud_type = :update if [:edit, :update].include?(action.to_sym)
15
+ self.crud_type ||= :read
16
+ self.html_options = {}
17
+
18
+ # apply quick properties
19
+ options.each_pair do |k, v|
20
+ setter = "#{k}="
21
+ self.send(setter, v) if self.respond_to? setter
22
+ end
23
+ end
24
+
25
+ # the action-path for this link. what page to request? this is required!
26
+ attr_accessor :action
27
+
28
+ # the controller for this action link. if nil, the current controller should be assumed.
29
+ attr_accessor :controller
30
+
31
+ # a hash of request parameters
32
+ attr_accessor :parameters
33
+
34
+ # the RESTful method
35
+ attr_accessor :method
36
+
37
+ # what string to use to represent this action
38
+ attr_writer :label
39
+ def label
40
+ @label.is_a?(Symbol) ? as_(@label) : @label
41
+ end
42
+
43
+ # if the action requires confirmation
44
+ attr_writer :confirm
45
+ def confirm
46
+ @confirm.is_a?(String) ? as_(@confirm) : @confirm
47
+ end
48
+ def confirm?
49
+ @confirm ? true : false
50
+ end
51
+
52
+ # if the action uses a DHTML based (i.e. 2-phase) confirmation
53
+ attr_writer :dhtml_confirm
54
+ def dhtml_confirm
55
+ @dhtml_confirm
56
+ end
57
+ def dhtml_confirm?
58
+ @dhtml_confirm
59
+ end
60
+
61
+ # what method to call on the controller to see if this action_link should be visible
62
+ # note that this is only the UI part of the security. to prevent URL hax0rz, you also need security on requests (e.g. don't execute update method unless authorized).
63
+ attr_writer :security_method
64
+ def security_method
65
+ @security_method || "#{self.label.underscore.downcase.gsub(/ /, '_')}_authorized?"
66
+ end
67
+
68
+ def security_method_set?
69
+ !!@security_method
70
+ end
71
+
72
+ # the crud type of the (eventual?) action. different than :method, because this crud action may not be imminent.
73
+ # this is used to determine record-level authorization (e.g. record.authorized_for?(:action => link.crud_type).
74
+ # options are :create, :read, :update, and :destroy
75
+ attr_accessor :crud_type
76
+
77
+ # an "inline" link is inserted into the existing page
78
+ # exclusive with popup? and page?
79
+ def inline=(val)
80
+ @inline = (val == true)
81
+ self.popup = self.page = false if @inline
82
+ end
83
+ def inline?; @inline end
84
+
85
+ # a "popup" link displays in a separate (browser?) window. this will eventually take arguments.
86
+ # exclusive with inline? and page?
87
+ def popup=(val)
88
+ @popup = (val == true)
89
+ if @popup
90
+ self.inline = self.page = false
91
+
92
+ # the :method parameter doesn't mix with the :popup parameter
93
+ # when/if we start using DHTML popups, we can bring :method back
94
+ self.method = nil
95
+ end
96
+ end
97
+ def popup?; @popup end
98
+
99
+ # a "page" link displays by reloading the current page
100
+ # exclusive with inline? and popup?
101
+ def page=(val)
102
+ @page = (val == true)
103
+ if @page
104
+ self.inline = self.popup = false
105
+
106
+ # when :method is defined, ActionView adds an onclick to use a form ...
107
+ # so it's best to just empty out :method whenever possible.
108
+ # we only ever need to know @method = :get for things that default to POST.
109
+ # the only things that default to POST are forms and ajax calls.
110
+ # when @page = true, we don't use ajax.
111
+ self.method = nil if method == :get
112
+ end
113
+ end
114
+ def page?; @page end
115
+
116
+ # where the result of this action should insert in the display.
117
+ # for :type => :table, supported values are:
118
+ # :top
119
+ # :bottom
120
+ # :replace (for updating the entire table)
121
+ # false (no attempt at positioning)
122
+ # for :type => :record, supported values are:
123
+ # :before
124
+ # :replace
125
+ # :after
126
+ # false (no attempt at positioning)
127
+ attr_writer :position
128
+ def position
129
+ return @position unless @position.nil? or @position == true
130
+ return :replace if self.type == :record
131
+ return :top if self.type == :table
132
+ raise "what should the default position be for #{self.type}?"
133
+ end
134
+
135
+ # what type of link this is. currently supported values are :table and :record.
136
+ attr_accessor :type
137
+ # html options for the link
138
+ attr_accessor :html_options
139
+ end
140
+ end
@@ -0,0 +1,47 @@
1
+ module ActiveScaffold::DataStructures
2
+ class ActionLinks
3
+ include Enumerable
4
+
5
+ def initialize
6
+ @set = []
7
+ end
8
+
9
+ # adds an ActionLink, creating one from the arguments if need be
10
+ def add(action, options = {})
11
+ link = action.is_a?(ActiveScaffold::DataStructures::ActionLink) ? action : ActiveScaffold::DataStructures::ActionLink.new(action, options)
12
+ # NOTE: this duplicate check should be done by defining the comparison operator for an Action data structure
13
+ @set << link unless @set.any? {|a| a.action == link.action and a.controller == link.controller and a.parameters == link.parameters}
14
+ end
15
+ alias_method :<<, :add
16
+
17
+ # finds an ActionLink by matching the action
18
+ def [](val)
19
+ @set.find {|item| item.action == val.to_s}
20
+ end
21
+
22
+ def delete(val)
23
+ @set.delete_if{|item| item.action == val.to_s}
24
+ end
25
+
26
+ # iterates over the links, possibly by type
27
+ def each(type = nil)
28
+ type = type.to_sym if type
29
+ @set.each {|item|
30
+ next if type and item.type != type
31
+ yield item
32
+ }
33
+ end
34
+
35
+ def empty?
36
+ @set.size == 0
37
+ end
38
+
39
+ protected
40
+
41
+ # called during clone or dup. makes the clone/dup deeper.
42
+ def initialize_copy(from)
43
+ @set = []
44
+ from.instance_variable_get('@set').each { |link| @set << link.clone }
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,45 @@
1
+ class ActiveScaffold::DataStructures::Actions
2
+ include Enumerable
3
+
4
+ def initialize(*args)
5
+ @set = []
6
+ self.add *args
7
+ end
8
+
9
+ def exclude(*args)
10
+ args.collect! { |a| a.to_sym } # symbolize the args
11
+ @set.reject! { |m| args.include? m } # reject all actions specified
12
+ end
13
+
14
+ def add(*args)
15
+ args.each { |arg| @set << arg.to_sym unless @set.include? arg.to_sym }
16
+ end
17
+ alias_method :<<, :add
18
+
19
+ def each
20
+ @set.each {|item| yield item}
21
+ end
22
+
23
+ def include?(val)
24
+ super val.to_sym
25
+ end
26
+
27
+ # swaps one element in the list with the other.
28
+ # accepts arguments in any order. it just figures out which one is in the list and which one is not.
29
+ def swap(one, two)
30
+ if include? one
31
+ exclude one
32
+ add two
33
+ else
34
+ exclude two
35
+ add one
36
+ end
37
+ end
38
+
39
+ protected
40
+
41
+ # called during clone or dup. makes the clone/dup deeper.
42
+ def initialize_copy(from)
43
+ @set = from.instance_variable_get('@set').clone
44
+ end
45
+ end
@@ -0,0 +1,343 @@
1
+ module ActiveScaffold::DataStructures
2
+ class Column
3
+ include ActiveScaffold::Configurable
4
+
5
+ attr_reader :active_record_class
6
+
7
+ # this is the name of the getter on the ActiveRecord model. it is the only absolutely required attribute ... all others will be inferred from this name.
8
+ attr_accessor :name
9
+
10
+ # Whether to enable inplace editing for this column. Currently works for text columns, in the List.
11
+ attr_reader :inplace_edit
12
+ def inplace_edit=(value)
13
+ self.clear_link if value
14
+ @inplace_edit = value
15
+ end
16
+
17
+ # Whether this column set is collapsed by default in contexts where collapsing is supported
18
+ attr_accessor :collapsed
19
+
20
+ # AST allow_add_existing
21
+ # Whether to enable add_existing for this column
22
+ attr_accessor :allow_add_existing
23
+ @allow_add_existing = true
24
+
25
+ # Any extra parameters this particular column uses. This is for create/update purposes.
26
+ def params
27
+ # lazy initialize
28
+ @params ||= Set.new
29
+ end
30
+
31
+ # the display-name of the column. this will be used, for instance, as the column title in the table and as the field name in the form.
32
+ # if left alone it will utilize human_attribute_name which includes localization for :scope => [:activerecord, :attributes]
33
+ attr_writer :label
34
+ # AST - still figuring out just exactly how to do this
35
+ def label(options = {:count => 1})
36
+ # as_(@label, options)# || active_record_class.human_attribute_name(name.to_s)
37
+ as_(@label) || active_record_class.human_attribute_name(name.to_s)
38
+ end
39
+
40
+ # a textual description of the column and its contents. this will be displayed with any associated form input widget, so you may want to consider adding a content example.
41
+ attr_writer :description
42
+ def description
43
+ if @description
44
+ @description
45
+ else
46
+ I18n.t name, :scope => [:activerecord, :description, active_record_class.to_s.underscore.to_sym], :default => ''
47
+ end
48
+ end
49
+
50
+ # this will be /joined/ to the :name for the td's class attribute. useful if you want to style columns on different ActiveScaffolds the same way, but the columns have different names.
51
+ attr_accessor :css_class
52
+
53
+ # whether the field is required or not. used on the form for visually indicating the fact to the user.
54
+ # TODO: move into predicate
55
+ attr_writer :required
56
+ def required?
57
+ @required
58
+ end
59
+
60
+ # sorting on a column can be configured four ways:
61
+ # sort = true default, uses intelligent sorting sql default
62
+ # sort = false sometimes sorting doesn't make sense
63
+ # sort = {:sql => ""} define your own sql for sorting. this should be result in a sortable value in SQL. ActiveScaffold will handle the ascending/descending.
64
+ # sort = {:method => ""} define ruby-side code for sorting. this is SLOW with large recordsets!
65
+ def sort=(value)
66
+ if value.is_a? Hash
67
+ value.assert_valid_keys(:sql, :method)
68
+ @sort = value
69
+ else
70
+ @sort = value ? true : false # force true or false
71
+ end
72
+ end
73
+
74
+ def sort
75
+ self.initialize_sort if @sort === true
76
+ @sort
77
+ end
78
+
79
+ def sortable?
80
+ sort != false && !sort.nil?
81
+ end
82
+
83
+ # a configuration helper for the self.sort property. simply provides a method syntax instead of setter syntax.
84
+ def sort_by(options)
85
+ self.sort = options
86
+ end
87
+
88
+ # supported options:
89
+ # * for association columns
90
+ # * :select - displays a simple <select> or a collection of checkboxes to (dis)associate records
91
+ attr_writer :form_ui
92
+ def form_ui
93
+ @form_ui
94
+ end
95
+
96
+ attr_writer :list_ui
97
+ def list_ui
98
+ @list_ui || @form_ui
99
+ end
100
+
101
+ attr_writer :search_ui
102
+ def search_ui
103
+ @search_ui || @form_ui
104
+ end
105
+
106
+ # DEPRECATED
107
+ alias :ui_type :form_ui
108
+ def ui_type=(val)
109
+ ::ActiveSupport::Deprecation.warn("config.columns[:#{name}].ui_type will disappear in version 2.0. Please use config.columns[:#{name}].form_ui instead.", caller)
110
+ self.form_ui = val
111
+ end
112
+
113
+ # a place to store dev's column specific options
114
+ attr_accessor :options
115
+ def options
116
+ @options ||= {}
117
+ end
118
+
119
+ # associate an action_link with this column
120
+ attr_reader :link
121
+
122
+ # set an action_link to nested list or inline form in this column
123
+ def autolink?
124
+ @autolink and self.association.reverse
125
+ end
126
+
127
+ # this should not only delete any existing link but also prevent column links from being automatically added by later routines
128
+ def clear_link
129
+ @link = nil
130
+ @autolink = false
131
+ end
132
+
133
+ def set_link(action, options = {})
134
+ if action.is_a? ActiveScaffold::DataStructures::ActionLink
135
+ @link = action
136
+ else
137
+ options[:label] ||= self.label
138
+ options[:position] ||= :after unless options.has_key?(:position)
139
+ options[:type] ||= :record
140
+ @link = ActiveScaffold::DataStructures::ActionLink.new(action, options)
141
+ end
142
+ end
143
+
144
+ # define a calculation for the column. anything that ActiveRecord::Calculations::ClassMethods#calculate accepts will do.
145
+ attr_accessor :calculate
146
+
147
+ # get whether to run a calculation on this column
148
+ def calculation?
149
+ !(@calculate == false or @calculate.nil?)
150
+ end
151
+
152
+ # a collection of associations to pre-load when finding the records on a page
153
+ attr_reader :includes
154
+ def includes=(value)
155
+ @includes = value.is_a?(Array) ? value : [value] # automatically convert to an array
156
+ end
157
+
158
+ # a collection of columns to load when eager loading is disabled, if it's nil all columns will be loaded
159
+ attr_accessor :select_columns
160
+
161
+ # describes how to search on a column
162
+ # search = true default, uses intelligent search sql
163
+ # search = "CONCAT(a, b)" define your own sql for searching. this should be the "left-side" of a WHERE condition. the operator and value will be supplied by ActiveScaffold.
164
+ attr_writer :search_sql
165
+ def search_sql
166
+ self.initialize_search_sql if @search_sql === true
167
+ @search_sql
168
+ end
169
+ def searchable?
170
+ search_sql != false && search_sql != nil
171
+ end
172
+
173
+ # to modify the default order of columns
174
+ attr_accessor :weight
175
+
176
+ # to set how many associated records a column with plural association must show in list
177
+ cattr_accessor :associated_limit
178
+ @@associated_limit = 3
179
+ attr_accessor :associated_limit
180
+
181
+ # whether the number of associated records must be shown or not
182
+ cattr_accessor :associated_number
183
+ @@associated_number = true
184
+ attr_writer :associated_number
185
+ def associated_number?
186
+ @associated_number
187
+ end
188
+
189
+ # whether a blank row must be shown in the subform
190
+ cattr_accessor :show_blank_record
191
+ @@show_blank_record = true
192
+ attr_writer :show_blank_record
193
+ def show_blank_record?(associated)
194
+ if @show_blank_record
195
+ return false if self.through_association?
196
+ return false unless self.association.klass.authorized_for?(:action => :create)
197
+ self.plural_association? or (self.singular_association? and associated.empty?)
198
+ end
199
+ end
200
+
201
+ # methods for automatic links in singular association columns
202
+ cattr_accessor :actions_for_association_links
203
+ # AST - I like to default to :show only
204
+ @@actions_for_association_links = [:show]
205
+ attr_accessor :actions_for_association_links
206
+
207
+ # ----------------------------------------------------------------- #
208
+ # the below functionality is intended for internal consumption only #
209
+ # ----------------------------------------------------------------- #
210
+
211
+ # the ConnectionAdapter::*Column object from the ActiveRecord class
212
+ attr_reader :column
213
+
214
+ # the association from the ActiveRecord class
215
+ attr_reader :association
216
+ def singular_association?
217
+ self.association and [:has_one, :belongs_to].include? self.association.macro
218
+ end
219
+ def plural_association?
220
+ self.association and [:has_many, :has_and_belongs_to_many].include? self.association.macro
221
+ end
222
+ def through_association?
223
+ self.association and self.association.options[:through]
224
+ end
225
+ def polymorphic_association?
226
+ self.association and self.association.options.has_key? :polymorphic and self.association.options[:polymorphic]
227
+ end
228
+
229
+ # an interpreted property. the column is virtual if it isn't from the active record model or any associated models
230
+ def virtual?
231
+ column.nil? && association.nil?
232
+ end
233
+
234
+ # this is so that array.delete and array.include?, etc., will work by column name
235
+ def ==(other) #:nodoc:
236
+ # another column
237
+ if other.respond_to? :name and other.class == self.class
238
+ self.name == other.name.to_sym
239
+ # a string or symbol
240
+ elsif other.respond_to? :to_sym
241
+ self.name == other.to_sym rescue false # catch "interning empty string"
242
+ # unknown
243
+ else
244
+ self.eql? other
245
+ end
246
+ end
247
+
248
+ # instantiation is handled internally through the DataStructures::Columns object
249
+ def initialize(name, active_record_class) #:nodoc:
250
+ self.name = name.to_sym
251
+ @column = active_record_class.columns_hash[self.name.to_s]
252
+ @association = active_record_class.reflect_on_association(self.name)
253
+ @autolink = !@association.nil?
254
+ @active_record_class = active_record_class
255
+ @table = active_record_class.table_name
256
+ @weight = 0
257
+ @associated_limit = self.class.associated_limit
258
+ @associated_number = self.class.associated_number
259
+ @show_blank_record = self.class.show_blank_record
260
+ @actions_for_association_links = self.class.actions_for_association_links.clone if @association
261
+ # AST - this means I have to set my search_ui value for every field that uses record_select
262
+ # @search_ui = :select if @association and not polymorphic_association?
263
+ @options = {:format => :i18n_number} if @column.try(:number?)
264
+
265
+ # default all the configurable variables
266
+ self.css_class = ''
267
+ if active_record_class.respond_to? :reflect_on_validations_for
268
+ column_names = [name]
269
+ column_names << @association.primary_key_name if @association
270
+ self.required = column_names.any? do |column_name|
271
+ active_record_class.reflect_on_validations_for(column_name.to_sym).any? do |val|
272
+ val.macro == :validates_presence_of or (val.macro == :validates_inclusion_of and not val.options[:allow_nil] and not val.options[:allow_blank])
273
+ end
274
+ end
275
+ else
276
+ self.required = false
277
+ end
278
+ self.sort = true
279
+ self.search_sql = true
280
+
281
+ # AST Begin
282
+ if defined?(SemanticAttributes::Attribute)
283
+ #TODO 2009-05-08 (EJM) Level=0 - This isn't picking up the condition require with_options block
284
+ self.required = !active_record_class.semantic_attributes[self.name].predicates.find {|p| p.allow_empty? == false }.nil?
285
+ active_record_class.semantic_attributes[self.name].predicates.find do |p|
286
+ sem_type = p.class.to_s.split('::')[1].underscore.to_sym
287
+ next if [:required, :association].include?(sem_type)
288
+ @form_ui = sem_type
289
+ end
290
+ end
291
+ # AST End
292
+ self.includes = (association and not polymorphic_association?) ? [association.name] : []
293
+ end
294
+
295
+ # just the field (not table.field)
296
+ def field_name
297
+ return nil if virtual?
298
+ column ? @active_record_class.connection.quote_column_name(column.name) : association.primary_key_name
299
+ end
300
+
301
+ def <=>(other_column)
302
+ order_weight = self.weight <=> other_column.weight
303
+ order_weight != 0 ? order_weight : self.name.to_s <=> other_column.name.to_s
304
+ end
305
+
306
+ protected
307
+
308
+ def initialize_sort
309
+ if self.virtual?
310
+ # we don't automatically enable method sorting for virtual columns because it's slow, and we expect fewer complaints this way.
311
+ self.sort = false
312
+ else
313
+ if self.singular_association?
314
+ self.sort = {:method => "#{self.name}.to_s"}
315
+ elsif self.plural_association?
316
+ self.sort = {:method => "#{self.name}.join(',')"}
317
+ else
318
+ self.sort = {:sql => self.field}
319
+ end
320
+ end
321
+ end
322
+
323
+ def initialize_search_sql
324
+ self.search_sql = unless self.virtual?
325
+ if association.nil?
326
+ self.field.to_s
327
+ elsif !self.polymorphic_association?
328
+ [association.klass.table_name, association.klass.primary_key].collect! do |str|
329
+ association.klass.connection.quote_column_name str
330
+ end.join('.')
331
+ end
332
+ end
333
+ end
334
+
335
+ # the table name from the ActiveRecord class
336
+ attr_reader :table
337
+
338
+ # the table.field name for this column, if applicable
339
+ def field
340
+ @field ||= [@active_record_class.connection.quote_column_name(@table), field_name].join('.')
341
+ end
342
+ end
343
+ end