six-updater-web 0.10.8 → 0.11.1

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 (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