brisk-bills 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. data/CHANGELOG +8 -0
  2. data/COPYING +674 -0
  3. data/COPYING.LESSER +165 -0
  4. data/INSTALL +5 -0
  5. data/README +22 -0
  6. data/Rakefile +11 -0
  7. data/TODO.txt +112 -0
  8. data/app/controllers/admin/activities_controller.rb +151 -0
  9. data/app/controllers/admin/activities_controller/adjustment.rb +16 -0
  10. data/app/controllers/admin/activities_controller/labor.rb +119 -0
  11. data/app/controllers/admin/activities_controller/labor/slimtimer.rb +28 -0
  12. data/app/controllers/admin/activities_controller/material.rb +20 -0
  13. data/app/controllers/admin/activities_controller/proposal.rb +15 -0
  14. data/app/controllers/admin/activities_with_prices_controller.rb +68 -0
  15. data/app/controllers/admin/adjustments_controller.rb +22 -0
  16. data/app/controllers/admin/client_accounting_controller.rb +49 -0
  17. data/app/controllers/admin/client_financial_transactions_controller.rb +24 -0
  18. data/app/controllers/admin/client_representatives_controller.rb +31 -0
  19. data/app/controllers/admin/clients_controller.rb +31 -0
  20. data/app/controllers/admin/employee_client_labor_rate_controller.rb +30 -0
  21. data/app/controllers/admin/employees_controller.rb +32 -0
  22. data/app/controllers/admin/employees_controller/slimtimer.rb +29 -0
  23. data/app/controllers/admin/invoices_controller.rb +165 -0
  24. data/app/controllers/admin/labors_controller.rb +103 -0
  25. data/app/controllers/admin/labors_controller/slimtimer.rb +31 -0
  26. data/app/controllers/admin/materials_controller.rb +24 -0
  27. data/app/controllers/admin/payments_controller.rb +75 -0
  28. data/app/controllers/admin/proposals_controller.rb +22 -0
  29. data/app/controllers/admin/settings_controller.rb +23 -0
  30. data/app/controllers/application_controller.rb +22 -0
  31. data/app/controllers/authentication_controller.rb +131 -0
  32. data/app/helpers/activity_type_model_helper.rb +194 -0
  33. data/app/helpers/admin/activities_helper.rb +110 -0
  34. data/app/helpers/admin/activities_helper/labor_helper.rb +28 -0
  35. data/app/helpers/admin/activities_helper/proposal_helper.rb +11 -0
  36. data/app/helpers/admin/activities_helper/slimtimer_helper.rb +13 -0
  37. data/app/helpers/admin/activities_with_prices_helper.rb +17 -0
  38. data/app/helpers/admin/activity_tax_controller_helper.rb +48 -0
  39. data/app/helpers/admin/activity_tax_field_helper.rb +33 -0
  40. data/app/helpers/admin/activity_type_controller_helper.rb +83 -0
  41. data/app/helpers/admin/activity_type_field_helper.rb +45 -0
  42. data/app/helpers/admin/adjustments_helper.rb +5 -0
  43. data/app/helpers/admin/client_accounting_helper.rb +13 -0
  44. data/app/helpers/admin/client_financial_transactions_helper.rb +9 -0
  45. data/app/helpers/admin/client_representatives_helper.rb +26 -0
  46. data/app/helpers/admin/clients_helper.rb +6 -0
  47. data/app/helpers/admin/employee_client_labor_rate_helper.rb +77 -0
  48. data/app/helpers/admin/employees_helper.rb +9 -0
  49. data/app/helpers/admin/employees_helper/slimtimer_helper.rb +2 -0
  50. data/app/helpers/admin/has_credential_column_helper.rb +60 -0
  51. data/app/helpers/admin/invoices_helper.rb +59 -0
  52. data/app/helpers/admin/is_active_column_helper.rb +46 -0
  53. data/app/helpers/admin/labors_helper.rb +20 -0
  54. data/app/helpers/admin/labors_helper/slimtimer_helper.rb +13 -0
  55. data/app/helpers/admin/materials_helper.rb +5 -0
  56. data/app/helpers/admin/payments_helper.rb +41 -0
  57. data/app/helpers/admin/proposals_helper.rb +3 -0
  58. data/app/helpers/admin/settings_helper.rb +8 -0
  59. data/app/helpers/admin_layout_helper.rb +91 -0
  60. data/app/helpers/application_helper.rb +27 -0
  61. data/app/helpers/authentication_helper.rb +61 -0
  62. data/app/helpers/extensible_object_helper.rb +28 -0
  63. data/app/helpers/has_credential_model_helper.rb +39 -0
  64. data/app/helpers/invoice_pdf_helper.rb +71 -0
  65. data/app/helpers/is_active_model_helper.rb +40 -0
  66. data/app/helpers/money_model_helper.rb +21 -0
  67. data/app/model_views/client_accounting.rb +5 -0
  68. data/app/model_views/client_financial_transaction.rb +15 -0
  69. data/app/model_views/invoices_with_total.rb +36 -0
  70. data/app/models/activity.rb +104 -0
  71. data/app/models/activity/adjustment.rb +34 -0
  72. data/app/models/activity/labor.rb +91 -0
  73. data/app/models/activity/labor/slimtimer.rb +28 -0
  74. data/app/models/activity/material.rb +16 -0
  75. data/app/models/activity/proposal.rb +17 -0
  76. data/app/models/activity_type.rb +2 -0
  77. data/app/models/client.rb +93 -0
  78. data/app/models/client_eventlog.rb +5 -0
  79. data/app/models/client_representative.rb +22 -0
  80. data/app/models/credential.rb +195 -0
  81. data/app/models/employee.rb +49 -0
  82. data/app/models/employee/labor.rb +13 -0
  83. data/app/models/employee/slimtimer.rb +43 -0
  84. data/app/models/employee_client_labor_rate.rb +20 -0
  85. data/app/models/invoice.rb +280 -0
  86. data/app/models/invoice_payment.rb +8 -0
  87. data/app/models/notifier.rb +85 -0
  88. data/app/models/payment.rb +108 -0
  89. data/app/models/payment_method.rb +7 -0
  90. data/app/models/setting.rb +39 -0
  91. data/app/models/slimtimer_task.rb +6 -0
  92. data/app/models/slimtimer_time_entry.rb +69 -0
  93. data/app/views/admin/activities/_adjustment_column.rhtml +23 -0
  94. data/app/views/admin/activities/_form.rhtml +20 -0
  95. data/app/views/admin/activities/_form_attribute.rhtml +12 -0
  96. data/app/views/admin/activities/_labor_column.rhtml +17 -0
  97. data/app/views/admin/activities/_material_column.rhtml +10 -0
  98. data/app/views/admin/activities/_proposal_column.rhtml +11 -0
  99. data/app/views/admin/activities_with_prices/move_to_invoice.rhtml +44 -0
  100. data/app/views/admin/activities_with_prices/move_to_invoice.rjs +9 -0
  101. data/app/views/admin/invoices/download.rpdf +224 -0
  102. data/app/views/authentication/email.rjs +9 -0
  103. data/app/views/authentication/login.rhtml +75 -0
  104. data/app/views/authentication/login.rjs +14 -0
  105. data/app/views/authentication/reset_password_via_token.rhtml +16 -0
  106. data/app/views/authentication/reset_password_via_token.rjs +6 -0
  107. data/app/views/authentication/sign_in_error.rjs +2 -0
  108. data/app/views/layouts/_navigation_tree.rhtml +15 -0
  109. data/app/views/layouts/admin.rhtml +26 -0
  110. data/app/views/layouts/public.rhtml +18 -0
  111. data/app/views/notifier/_email_footer.html.rhtml +12 -0
  112. data/app/views/notifier/_email_footer.plain.rhtml +3 -0
  113. data/app/views/notifier/_email_header.html.rhtml +53 -0
  114. data/app/views/notifier/invoice_available.html.rhtml +5 -0
  115. data/app/views/notifier/invoice_available.plain.rhtml +4 -0
  116. data/app/views/notifier/reset_password_requested.html.rhtml +15 -0
  117. data/app/views/notifier/reset_password_requested.plain.rhtml +9 -0
  118. data/bin/brisk-bills +51 -0
  119. data/config/boot.rb +164 -0
  120. data/config/environment.rb +39 -0
  121. data/config/environments/development.rb +17 -0
  122. data/config/environments/production.rb +18 -0
  123. data/config/environments/test.rb +19 -0
  124. data/config/locale/en.rb +26 -0
  125. data/config/routes.rb +20 -0
  126. data/config/secrets.yml +2 -0
  127. data/db/migrate/001_create_employees.rb +14 -0
  128. data/db/migrate/002_create_employee_slimtimers.rb +14 -0
  129. data/db/migrate/003_create_slimtimer_tasks.rb +21 -0
  130. data/db/migrate/004_create_slimtimer_time_entries.rb +25 -0
  131. data/db/migrate/005_create_clients.rb +12 -0
  132. data/db/migrate/006_create_client_representatives.rb +16 -0
  133. data/db/migrate/007_create_client_eventlogs.rb +13 -0
  134. data/db/migrate/008_create_activities.rb +17 -0
  135. data/db/migrate/009_create_activity_labors.rb +16 -0
  136. data/db/migrate/010_create_employee_client_labor_rates.rb +19 -0
  137. data/db/migrate/011_create_activity_adjustments.rb +16 -0
  138. data/db/migrate/012_create_activity_materials.rb +16 -0
  139. data/db/migrate/013_create_activity_proposals.rb +18 -0
  140. data/db/migrate/014_create_invoices.rb +16 -0
  141. data/db/migrate/015_create_payments.rb +18 -0
  142. data/db/migrate/016_create_payment_methods.rb +18 -0
  143. data/db/migrate/017_create_invoice_payments.rb +14 -0
  144. data/db/migrate/018_create_activity_types.rb +37 -0
  145. data/db/migrate/019_create_settings.rb +45 -0
  146. data/db/migrate/020_is_active_employees_clients.rb +11 -0
  147. data/db/migrate/021_create_views_and_indexes.rb +78 -0
  148. data/db/migrate/022_create_client_financial_transactions.rb +32 -0
  149. data/db/migrate/023_create_credentials_migrate_representatives.rb +133 -0
  150. data/db/migrate/024_updates_for_sales_tax.rb +91 -0
  151. data/db/migrate/025_alter_credentials_for_reset.rb +11 -0
  152. data/db/migrate/026_create_st_settings.rb +17 -0
  153. data/db/migrate/027_create_sessions.rb +16 -0
  154. data/db/migrate/028_money_to_cents.rb +136 -0
  155. data/db/schema.rb +301 -0
  156. data/lib/brisk-bills.rb +17 -0
  157. data/lib/brisk-bills/initializer.rb +100 -0
  158. data/lib/dti-navigation-menu/lib/dti-navigation-menu.rb +27 -0
  159. data/lib/generators/generator_base_extension.rb +16 -0
  160. data/lib/generators/instance/instance_generator.rb +117 -0
  161. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  162. data/lib/generators/instance/templates/instance_boot.rb +166 -0
  163. data/lib/generators/instance/templates/instance_environment.rb +65 -0
  164. data/lib/generators/instance/templates/instance_generate +18 -0
  165. data/lib/generators/instance/templates/instance_rakefile +3 -0
  166. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  167. data/lib/tasks/create_last_months_invoices.rake +37 -0
  168. data/lib/tasks/credential_tasks.rake +47 -0
  169. data/lib/tasks/first_time_setup.rake +96 -0
  170. data/lib/tasks/instance.rake +27 -0
  171. data/lib/tasks/invoice_as_csv.rake +32 -0
  172. data/lib/tasks/package.rake +120 -0
  173. data/lib/tasks/slimtimer_import.rake +198 -0
  174. data/lib/utilities.rb +18 -0
  175. data/log/.keep +0 -0
  176. data/public/.htaccess +40 -0
  177. data/public/404.html +30 -0
  178. data/public/500.html +30 -0
  179. data/public/blank.html +33 -0
  180. data/public/blank_iframe.html +2 -0
  181. data/public/dispatch.cgi +10 -0
  182. data/public/dispatch.fcgi +24 -0
  183. data/public/dispatch.rb +10 -0
  184. data/public/favicon.ico +0 -0
  185. data/public/images/active_scaffold/DO_NOT_EDIT +2 -0
  186. data/public/images/active_scaffold/default/add.gif +0 -0
  187. data/public/images/active_scaffold/default/arrow_down.gif +0 -0
  188. data/public/images/active_scaffold/default/arrow_up.gif +0 -0
  189. data/public/images/active_scaffold/default/close.gif +0 -0
  190. data/public/images/active_scaffold/default/cross.png +0 -0
  191. data/public/images/active_scaffold/default/indicator-small.gif +0 -0
  192. data/public/images/active_scaffold/default/indicator.gif +0 -0
  193. data/public/images/active_scaffold/default/magnifier.png +0 -0
  194. data/public/images/background.gif +0 -0
  195. data/public/images/brisk-bills-logo.gif +0 -0
  196. data/public/images/calendar_date_select/calendar.gif +0 -0
  197. data/public/images/dti-logo.gif +0 -0
  198. data/public/images/dti-logo.jpg +0 -0
  199. data/public/images/favicon.ico +0 -0
  200. data/public/images/invoice-background.jpg +0 -0
  201. data/public/images/login-form-spinner.gif +0 -0
  202. data/public/images/nav-arrow.gif +0 -0
  203. data/public/images/notice-error.gif +0 -0
  204. data/public/images/notice-info.gif +0 -0
  205. data/public/images/rails.png +0 -0
  206. data/public/javascripts/active_scaffold/DO_NOT_EDIT +2 -0
  207. data/public/javascripts/active_scaffold/default/active_scaffold.js +430 -0
  208. data/public/javascripts/active_scaffold/default/dhtml_history.js +867 -0
  209. data/public/javascripts/active_scaffold/default/form_enhancements.js +114 -0
  210. data/public/javascripts/active_scaffold/default/rico_corner.js +370 -0
  211. data/public/javascripts/application.js +2 -0
  212. data/public/javascripts/briskbills-quick-helpers.js +9 -0
  213. data/public/javascripts/builder.js +136 -0
  214. data/public/javascripts/controls.js +963 -0
  215. data/public/javascripts/dragdrop.js +973 -0
  216. data/public/javascripts/effects.js +1128 -0
  217. data/public/javascripts/modalbox.js +573 -0
  218. data/public/javascripts/prototype.js +4320 -0
  219. data/public/javascripts/scriptaculous.js +58 -0
  220. data/public/javascripts/shadedborder.js +249 -0
  221. data/public/javascripts/slider.js +275 -0
  222. data/public/javascripts/sound.js +55 -0
  223. data/public/javascripts/unittest.js +568 -0
  224. data/public/robots.txt +1 -0
  225. data/public/stylesheets/active_scaffold/DO_NOT_EDIT +2 -0
  226. data/public/stylesheets/active_scaffold/default/stylesheet-ie.css +35 -0
  227. data/public/stylesheets/active_scaffold/default/stylesheet.css +809 -0
  228. data/public/stylesheets/admin/global.css +152 -0
  229. data/public/stylesheets/admin/pages.css +137 -0
  230. data/public/stylesheets/admin/screen.css +3 -0
  231. data/public/stylesheets/admin/structure.css +88 -0
  232. data/public/stylesheets/modalbox.css +95 -0
  233. data/public/stylesheets/public/global.css +36 -0
  234. data/public/stylesheets/public/pages.css +105 -0
  235. data/public/stylesheets/public/screen.css +3 -0
  236. data/public/stylesheets/public/structure.css +0 -0
  237. data/public/stylesheets/spinner.gif +0 -0
  238. data/script/about +3 -0
  239. data/script/breakpointer +3 -0
  240. data/script/console +3 -0
  241. data/script/dbconsole +3 -0
  242. data/script/destroy +3 -0
  243. data/script/generate +3 -0
  244. data/script/performance/benchmarker +3 -0
  245. data/script/performance/profiler +3 -0
  246. data/script/performance/request +3 -0
  247. data/script/plugin +3 -0
  248. data/script/process/inspector +3 -0
  249. data/script/process/reaper +3 -0
  250. data/script/process/spawner +3 -0
  251. data/script/runner +3 -0
  252. data/script/server +3 -0
  253. data/test/fixtures/activities.yml +28 -0
  254. data/test/fixtures/activity_adjustments.yml +7 -0
  255. data/test/fixtures/activity_labors.yml +25 -0
  256. data/test/fixtures/activity_materials.yml +7 -0
  257. data/test/fixtures/activity_proposals.yml +7 -0
  258. data/test/fixtures/activity_types.yml +23 -0
  259. data/test/fixtures/client_eventlogs.yml +5 -0
  260. data/test/fixtures/client_financial_transactions.yml +7 -0
  261. data/test/fixtures/client_representatives.yml +56 -0
  262. data/test/fixtures/clients.yml +172 -0
  263. data/test/fixtures/credentials.yml +34 -0
  264. data/test/fixtures/employee_client_labor_rates.yml +365 -0
  265. data/test/fixtures/employee_slimtimers.yml +19 -0
  266. data/test/fixtures/employees.yml +22 -0
  267. data/test/fixtures/invoice_payments.yml +7 -0
  268. data/test/fixtures/invoices.yml +7 -0
  269. data/test/fixtures/payment_methods.yml +7 -0
  270. data/test/fixtures/payments.yml +7 -0
  271. data/test/fixtures/settings.yml +7 -0
  272. data/test/fixtures/slimtimer_tasks.yml +5 -0
  273. data/test/fixtures/slimtimer_time_entries.yml +5 -0
  274. data/test/functional/admin/activities_controller_test.rb +8 -0
  275. data/test/functional/admin/adjustments_controller_test.rb +8 -0
  276. data/test/functional/admin/client_accounting_controller_test.rb +8 -0
  277. data/test/functional/admin/client_financial_transactions_controller_test.rb +8 -0
  278. data/test/functional/admin/client_representatives_controller_test.rb +8 -0
  279. data/test/functional/admin/clients_controller_test.rb +8 -0
  280. data/test/functional/admin/employee_client_labor_rate_controller_test.rb +8 -0
  281. data/test/functional/admin/employees/slimtimer_controller_test.rb +8 -0
  282. data/test/functional/admin/employees_controller_test.rb +8 -0
  283. data/test/functional/admin/invoices_controller_test.rb +8 -0
  284. data/test/functional/admin/labors_controller_test.rb +8 -0
  285. data/test/functional/admin/materials_controller_test.rb +8 -0
  286. data/test/functional/admin/payments_controller_test.rb +8 -0
  287. data/test/functional/admin/proposals_controller_test.rb +8 -0
  288. data/test/functional/admin/settings_controller_test.rb +8 -0
  289. data/test/functional/authentication_controller_test.rb +8 -0
  290. data/test/test_helper.rb +30 -0
  291. data/test/test_unit_factory_helper.rb +154 -0
  292. data/test/unit/activity/adjustment_test.rb +8 -0
  293. data/test/unit/activity/labor_test.rb +279 -0
  294. data/test/unit/activity/material_test.rb +8 -0
  295. data/test/unit/activity/proposal_test.rb +8 -0
  296. data/test/unit/activity_test.rb +83 -0
  297. data/test/unit/activity_type_test.rb +8 -0
  298. data/test/unit/client_eventlog_test.rb +10 -0
  299. data/test/unit/client_financial_transaction_test.rb +8 -0
  300. data/test/unit/client_representative_test.rb +10 -0
  301. data/test/unit/client_test.rb +24 -0
  302. data/test/unit/credential_test.rb +217 -0
  303. data/test/unit/employee/slimtimer_test.rb +10 -0
  304. data/test/unit/employee_client_labor_rate_test.rb +8 -0
  305. data/test/unit/employee_test.rb +25 -0
  306. data/test/unit/invoice_payment_test.rb +8 -0
  307. data/test/unit/invoice_test.rb +459 -0
  308. data/test/unit/notifier_test.rb +9 -0
  309. data/test/unit/payment_method_test.rb +8 -0
  310. data/test/unit/payment_test.rb +155 -0
  311. data/test/unit/setting_test.rb +8 -0
  312. data/test/unit/slimtimer_task_test.rb +10 -0
  313. data/test/unit/slimtimer_time_entry_test.rb +132 -0
  314. data/vendor/plugins/InlineAttachment-0.3.0-modified/README +79 -0
  315. data/vendor/plugins/InlineAttachment-0.3.0-modified/init.rb +2 -0
  316. data/vendor/plugins/InlineAttachment-0.3.0-modified/lib/inline_attachment.rb +136 -0
  317. data/vendor/plugins/InlineAttachment-0.3.0-modified/lib/tmail_content_id.rb +40 -0
  318. data/vendor/plugins/active_scaffold/CHANGELOG +152 -0
  319. data/vendor/plugins/active_scaffold/MIT-LICENSE +20 -0
  320. data/vendor/plugins/active_scaffold/README +28 -0
  321. data/vendor/plugins/active_scaffold/Rakefile +24 -0
  322. data/vendor/plugins/active_scaffold/environment.rb +17 -0
  323. data/vendor/plugins/active_scaffold/frontends/default/images/add.gif +0 -0
  324. data/vendor/plugins/active_scaffold/frontends/default/images/arrow_down.gif +0 -0
  325. data/vendor/plugins/active_scaffold/frontends/default/images/arrow_up.gif +0 -0
  326. data/vendor/plugins/active_scaffold/frontends/default/images/close.gif +0 -0
  327. data/vendor/plugins/active_scaffold/frontends/default/images/cross.png +0 -0
  328. data/vendor/plugins/active_scaffold/frontends/default/images/indicator-small.gif +0 -0
  329. data/vendor/plugins/active_scaffold/frontends/default/images/indicator.gif +0 -0
  330. data/vendor/plugins/active_scaffold/frontends/default/images/magnifier.png +0 -0
  331. data/vendor/plugins/active_scaffold/frontends/default/javascripts/active_scaffold.js +430 -0
  332. data/vendor/plugins/active_scaffold/frontends/default/javascripts/dhtml_history.js +867 -0
  333. data/vendor/plugins/active_scaffold/frontends/default/javascripts/form_enhancements.js +114 -0
  334. data/vendor/plugins/active_scaffold/frontends/default/javascripts/rico_corner.js +370 -0
  335. data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet-ie.css +35 -0
  336. data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet.css +809 -0
  337. data/vendor/plugins/active_scaffold/frontends/default/views/_add_existing_form.html.erb +40 -0
  338. data/vendor/plugins/active_scaffold/frontends/default/views/_create_form.html.erb +49 -0
  339. data/vendor/plugins/active_scaffold/frontends/default/views/_create_form_on_list.html.erb +38 -0
  340. data/vendor/plugins/active_scaffold/frontends/default/views/_field_search.html.erb +45 -0
  341. data/vendor/plugins/active_scaffold/frontends/default/views/_form.html.erb +18 -0
  342. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association.html.erb +20 -0
  343. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association_footer.html.erb +42 -0
  344. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association_header.html.erb +10 -0
  345. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association_record.html.erb +27 -0
  346. data/vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html.erb +12 -0
  347. data/vendor/plugins/active_scaffold/frontends/default/views/_form_hidden_attribute.html.erb +1 -0
  348. data/vendor/plugins/active_scaffold/frontends/default/views/_form_messages.html.erb +5 -0
  349. data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform.html.erb +21 -0
  350. data/vendor/plugins/active_scaffold/frontends/default/views/_list.html.erb +37 -0
  351. data/vendor/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb +13 -0
  352. data/vendor/plugins/active_scaffold/frontends/default/views/_list_calculations.html.erb +22 -0
  353. data/vendor/plugins/active_scaffold/frontends/default/views/_list_column_headings.html.erb +32 -0
  354. data/vendor/plugins/active_scaffold/frontends/default/views/_list_header.html.erb +14 -0
  355. data/vendor/plugins/active_scaffold/frontends/default/views/_list_inline_adapter.html.erb +9 -0
  356. data/vendor/plugins/active_scaffold/frontends/default/views/_list_pagination_links.html.erb +30 -0
  357. data/vendor/plugins/active_scaffold/frontends/default/views/_list_record.html.erb +35 -0
  358. data/vendor/plugins/active_scaffold/frontends/default/views/_live_search.html.erb +25 -0
  359. data/vendor/plugins/active_scaffold/frontends/default/views/_messages.html.erb +10 -0
  360. data/vendor/plugins/active_scaffold/frontends/default/views/_nested.html.erb +44 -0
  361. data/vendor/plugins/active_scaffold/frontends/default/views/_search.html.erb +21 -0
  362. data/vendor/plugins/active_scaffold/frontends/default/views/_show.html.erb +8 -0
  363. data/vendor/plugins/active_scaffold/frontends/default/views/_show_columns.html.erb +11 -0
  364. data/vendor/plugins/active_scaffold/frontends/default/views/_update_actions.html.erb +9 -0
  365. data/vendor/plugins/active_scaffold/frontends/default/views/_update_form.html.erb +53 -0
  366. data/vendor/plugins/active_scaffold/frontends/default/views/add_existing.js.rjs +16 -0
  367. data/vendor/plugins/active_scaffold/frontends/default/views/add_existing_form.html.erb +5 -0
  368. data/vendor/plugins/active_scaffold/frontends/default/views/create.html.erb +5 -0
  369. data/vendor/plugins/active_scaffold/frontends/default/views/delete.html.erb +13 -0
  370. data/vendor/plugins/active_scaffold/frontends/default/views/destroy.js.rjs +10 -0
  371. data/vendor/plugins/active_scaffold/frontends/default/views/edit_associated.js.rjs +15 -0
  372. data/vendor/plugins/active_scaffold/frontends/default/views/field_search.html.erb +5 -0
  373. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages.js.rjs +1 -0
  374. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_create.js.rjs +2 -0
  375. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_update.js.rjs +2 -0
  376. data/vendor/plugins/active_scaffold/frontends/default/views/list.html.erb +44 -0
  377. data/vendor/plugins/active_scaffold/frontends/default/views/on_create.js.rjs +25 -0
  378. data/vendor/plugins/active_scaffold/frontends/default/views/on_update.js.rjs +11 -0
  379. data/vendor/plugins/active_scaffold/frontends/default/views/search.html.erb +5 -0
  380. data/vendor/plugins/active_scaffold/frontends/default/views/show.html.erb +5 -0
  381. data/vendor/plugins/active_scaffold/frontends/default/views/update.html.erb +8 -0
  382. data/vendor/plugins/active_scaffold/frontends/default/views/update_column.js.rjs +12 -0
  383. data/vendor/plugins/active_scaffold/init.rb +18 -0
  384. data/vendor/plugins/active_scaffold/install.rb +40 -0
  385. data/vendor/plugins/active_scaffold/install_assets.rb +36 -0
  386. data/vendor/plugins/active_scaffold/lib/active_record_permissions.rb +123 -0
  387. data/vendor/plugins/active_scaffold/lib/active_scaffold.rb +144 -0
  388. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb +102 -0
  389. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb +120 -0
  390. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/delete.rb +46 -0
  391. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/field_search.rb +46 -0
  392. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb +77 -0
  393. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/live_search.rb +46 -0
  394. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/nested.rb +215 -0
  395. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/search.rb +40 -0
  396. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/show.rb +34 -0
  397. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/subform.rb +17 -0
  398. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/update.rb +114 -0
  399. data/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb +185 -0
  400. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/base.rb +37 -0
  401. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/core.rb +189 -0
  402. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/create.rb +43 -0
  403. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/delete.rb +25 -0
  404. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/field_search.rb +53 -0
  405. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/form.rb +49 -0
  406. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/list.rb +134 -0
  407. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/live_search.rb +52 -0
  408. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/nested.rb +31 -0
  409. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/search.rb +52 -0
  410. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/show.rb +39 -0
  411. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/subform.rb +33 -0
  412. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/update.rb +32 -0
  413. data/vendor/plugins/active_scaffold/lib/active_scaffold/configurable.rb +29 -0
  414. data/vendor/plugins/active_scaffold/lib/active_scaffold/constraints.rb +178 -0
  415. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_columns.rb +97 -0
  416. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_link.rb +136 -0
  417. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_links.rb +47 -0
  418. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/actions.rb +45 -0
  419. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb +297 -0
  420. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb +75 -0
  421. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/error_message.rb +24 -0
  422. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/set.rb +62 -0
  423. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/sorting.rb +89 -0
  424. data/vendor/plugins/active_scaffold/lib/active_scaffold/finder.rb +234 -0
  425. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/association_helpers.rb +40 -0
  426. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/controller_helpers.rb +25 -0
  427. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/country_helpers.rb +348 -0
  428. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/form_column_helpers.rb +267 -0
  429. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/id_helpers.rb +125 -0
  430. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/list_column_helpers.rb +178 -0
  431. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/pagination_helpers.rb +37 -0
  432. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/search_column_helpers.rb +172 -0
  433. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/show_column_helpers.rb +46 -0
  434. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb +196 -0
  435. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/en.rb +66 -0
  436. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/es.yml +64 -0
  437. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/hu.yml +62 -0
  438. data/vendor/plugins/active_scaffold/lib/bridges/bridge.rb +52 -0
  439. data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/bridge.rb +11 -0
  440. data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/lib/as_cds_bridge.rb +53 -0
  441. data/vendor/plugins/active_scaffold/lib/bridges/file_column/bridge.rb +12 -0
  442. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/as_file_column_bridge.rb +49 -0
  443. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/file_column_helpers.rb +51 -0
  444. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/form_ui.rb +32 -0
  445. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/list_ui.rb +26 -0
  446. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/functional/file_column_keep_test.rb +43 -0
  447. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/mock_model.rb +9 -0
  448. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/test_helper.rb +15 -0
  449. data/vendor/plugins/active_scaffold/lib/dhtml_confirm.rb +54 -0
  450. data/vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb +20 -0
  451. data/vendor/plugins/active_scaffold/lib/extensions/action_view_rendering.rb +87 -0
  452. data/vendor/plugins/active_scaffold/lib/extensions/array.rb +7 -0
  453. data/vendor/plugins/active_scaffold/lib/extensions/component_response_with_namespacing.rb +17 -0
  454. data/vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb +33 -0
  455. data/vendor/plugins/active_scaffold/lib/extensions/localize.rb +10 -0
  456. data/vendor/plugins/active_scaffold/lib/extensions/name_option_for_datetime.rb +12 -0
  457. data/vendor/plugins/active_scaffold/lib/extensions/nil_id_in_url_params.rb +7 -0
  458. data/vendor/plugins/active_scaffold/lib/extensions/resources.rb +26 -0
  459. data/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb +56 -0
  460. data/vendor/plugins/active_scaffold/lib/extensions/to_label.rb +8 -0
  461. data/vendor/plugins/active_scaffold/lib/extensions/unsaved_associated.rb +61 -0
  462. data/vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb +20 -0
  463. data/vendor/plugins/active_scaffold/lib/extensions/usa_state.rb +46 -0
  464. data/vendor/plugins/active_scaffold/lib/paginator.rb +136 -0
  465. data/vendor/plugins/active_scaffold/lib/responds_to_parent.rb +68 -0
  466. data/vendor/plugins/active_scaffold/public/blank.html +33 -0
  467. data/vendor/plugins/active_scaffold/test/bridges/bridge_test.rb +47 -0
  468. data/vendor/plugins/active_scaffold/test/config/create_test.rb +55 -0
  469. data/vendor/plugins/active_scaffold/test/config/list_test.rb +74 -0
  470. data/vendor/plugins/active_scaffold/test/config/update_test.rb +17 -0
  471. data/vendor/plugins/active_scaffold/test/const_mocker.rb +36 -0
  472. data/vendor/plugins/active_scaffold/test/data_structures/action_columns_test.rb +119 -0
  473. data/vendor/plugins/active_scaffold/test/data_structures/action_link_test.rb +78 -0
  474. data/vendor/plugins/active_scaffold/test/data_structures/action_links_test.rb +78 -0
  475. data/vendor/plugins/active_scaffold/test/data_structures/actions_test.rb +25 -0
  476. data/vendor/plugins/active_scaffold/test/data_structures/association_column_test.rb +41 -0
  477. data/vendor/plugins/active_scaffold/test/data_structures/column_test.rb +161 -0
  478. data/vendor/plugins/active_scaffold/test/data_structures/columns_test.rb +69 -0
  479. data/vendor/plugins/active_scaffold/test/data_structures/error_message_test.rb +28 -0
  480. data/vendor/plugins/active_scaffold/test/data_structures/set_test.rb +86 -0
  481. data/vendor/plugins/active_scaffold/test/data_structures/sorting_test.rb +96 -0
  482. data/vendor/plugins/active_scaffold/test/data_structures/standard_column_test.rb +34 -0
  483. data/vendor/plugins/active_scaffold/test/data_structures/virtual_column_test.rb +34 -0
  484. data/vendor/plugins/active_scaffold/test/extensions/active_record_test.rb +45 -0
  485. data/vendor/plugins/active_scaffold/test/extensions/array.rb +12 -0
  486. data/vendor/plugins/active_scaffold/test/misc/active_record_permissions.rb +154 -0
  487. data/vendor/plugins/active_scaffold/test/misc/configurable_test.rb +96 -0
  488. data/vendor/plugins/active_scaffold/test/misc/constraints_test.rb +175 -0
  489. data/vendor/plugins/active_scaffold/test/misc/finder_test.rb +70 -0
  490. data/vendor/plugins/active_scaffold/test/misc/lang_test.rb +12 -0
  491. data/vendor/plugins/active_scaffold/test/model_stub.rb +39 -0
  492. data/vendor/plugins/active_scaffold/test/run_all.rb +8 -0
  493. data/vendor/plugins/active_scaffold/test/test_helper.rb +13 -0
  494. data/vendor/plugins/active_scaffold/uninstall.rb +12 -0
  495. data/vendor/plugins/active_scaffold_as_gem/init.rb +21 -0
  496. data/vendor/plugins/active_scaffold_form_observation/init.rb +4 -0
  497. data/vendor/plugins/active_scaffold_form_observation/lib/active_scaffold_form_observation.rb +99 -0
  498. data/vendor/plugins/active_scaffold_full_refresh/init.rb +7 -0
  499. data/vendor/plugins/active_scaffold_full_refresh/lib/active_scaffold_full_refresh.rb +46 -0
  500. data/vendor/plugins/active_scaffold_move_column_under/init.rb +17 -0
  501. data/vendor/plugins/acts_as_money/README +24 -0
  502. data/vendor/plugins/acts_as_money/Rakefile +22 -0
  503. data/vendor/plugins/acts_as_money/init.rb +3 -0
  504. data/vendor/plugins/acts_as_money/install.rb +1 -0
  505. data/vendor/plugins/acts_as_money/lib/acts_as_money.rb +27 -0
  506. data/vendor/plugins/acts_as_money/tasks/money_tasks.rake +4 -0
  507. data/vendor/plugins/acts_as_money/test/money_test.rb +8 -0
  508. data/vendor/plugins/association_hacks/init.rb +1 -0
  509. data/vendor/plugins/association_hacks/lib/association_hacks.rb +27 -0
  510. data/vendor/plugins/railspdf/CHANGELOG +5 -0
  511. data/vendor/plugins/railspdf/README +88 -0
  512. data/vendor/plugins/railspdf/Rakefile +22 -0
  513. data/vendor/plugins/railspdf/TODO +1 -0
  514. data/vendor/plugins/railspdf/init.rb +3 -0
  515. data/vendor/plugins/railspdf/lib/railspdf.rb +65 -0
  516. data/vendor/plugins/railspdf/test/railspdf_test.rb +14 -0
  517. data/vendor/plugins/railspdf/test/test_helper.rb +9 -0
  518. data/vendor/plugins/render_component/README +37 -0
  519. data/vendor/plugins/render_component/Rakefile +22 -0
  520. data/vendor/plugins/render_component/init.rb +2 -0
  521. data/vendor/plugins/render_component/lib/components.rb +142 -0
  522. data/vendor/plugins/render_component/test/abstract_unit.rb +8 -0
  523. data/vendor/plugins/render_component/test/components_test.rb +140 -0
  524. metadata +657 -0
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class SomeController < ActionController::Base; end
4
+ module SomeHelper; end
5
+
6
+ class AnotherController < ActionController::Base; end
7
+
8
+ class RailsPDF::PDFRenderTest < Test::Unit::TestCase
9
+
10
+ def test_should_not_barf_on_missing_helper
11
+ view = stub(:controller => AnotherController.new)
12
+ RailsPDF::PDFRender.new(view)
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'action_controller'
3
+ require 'test/unit'
4
+
5
+ module ApplicationHelper; end
6
+
7
+ $LOAD_PATH << File.dirname(__FILE__) + '/../lib'
8
+ require 'railspdf'
9
+ require 'mocha'
@@ -0,0 +1,37 @@
1
+ Components allow you to call other actions for their rendered response while executing another action. You can either delegate
2
+ the entire response rendering or you can mix a partial response in with your other content.
3
+
4
+ class WeblogController < ActionController::Base
5
+ # Performs a method and then lets hello_world output its render
6
+ def delegate_action
7
+ do_other_stuff_before_hello_world
8
+ render_component :controller => "greeter", :action => "hello_world", :params => { :person => "david" }
9
+ end
10
+ end
11
+
12
+ class GreeterController < ActionController::Base
13
+ def hello_world
14
+ render :text => "#{params[:person]} says, Hello World!"
15
+ end
16
+ end
17
+
18
+ The same can be done in a view to do a partial rendering:
19
+
20
+ Let's see a greeting:
21
+ <%= render_component :controller => "greeter", :action => "hello_world" %>
22
+
23
+ It is also possible to specify the controller as a class constant, bypassing the inflector
24
+ code to compute the controller class at runtime:
25
+
26
+ <%= render_component :controller => GreeterController, :action => "hello_world" %>
27
+
28
+ == When to use components
29
+
30
+ Components should be used with care. They're significantly slower than simply splitting reusable parts into partials and
31
+ conceptually more complicated. Don't use components as a way of separating concerns inside a single application. Instead,
32
+ reserve components to those rare cases where you truly have reusable view and controller elements that can be employed
33
+ across many applications at once.
34
+
35
+ So to repeat: Components are a special-purpose approach that can often be replaced with better use of partials and filters.
36
+
37
+ Copyright (c) 2007 David Heinemeier Hansson, released under the MIT license
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the components plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
14
+
15
+ desc 'Generate documentation for the components plugin.'
16
+ Rake::RDocTask.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_dir = 'rdoc'
18
+ rdoc.title = 'Components'
19
+ rdoc.options << '--line-numbers' << '--inline-source'
20
+ rdoc.rdoc_files.include('README')
21
+ rdoc.rdoc_files.include('lib/**/*.rb')
22
+ end
@@ -0,0 +1,2 @@
1
+ require 'components'
2
+ ActionController::Base.send :include, Components
@@ -0,0 +1,142 @@
1
+ module Components
2
+ def self.included(base) #:nodoc:
3
+ base.class_eval do
4
+ include InstanceMethods
5
+ extend ClassMethods
6
+ helper HelperMethods
7
+
8
+ # If this controller was instantiated to process a component request,
9
+ # +parent_controller+ points to the instantiator of this controller.
10
+ attr_accessor :parent_controller
11
+
12
+ alias_method_chain :process_cleanup, :render_component
13
+ alias_method_chain :session=, :render_component
14
+ alias_method_chain :flash, :render_component
15
+ alias_method_chain :assign_shortcuts, :render_component
16
+ alias_method_chain :send_response, :render_component
17
+
18
+ alias_method :component_request?, :parent_controller
19
+ end
20
+ end
21
+
22
+ module ClassMethods
23
+ # Track parent controller to identify component requests
24
+ def process_with_components(request, response, parent_controller = nil) #:nodoc:
25
+ controller = new
26
+ controller.parent_controller = parent_controller
27
+ controller.process(request, response)
28
+ end
29
+ end
30
+
31
+ module HelperMethods
32
+ def render_component(options)
33
+ @controller.__send__(:render_component_as_string, options)
34
+ end
35
+ end
36
+
37
+ module InstanceMethods
38
+ # Extracts the action_name from the request parameters and performs that action.
39
+ def process_with_components(request, response, method = :perform_action, *arguments) #:nodoc:
40
+ flash.discard if component_request?
41
+ process_without_components(request, response, method, *arguments)
42
+ end
43
+
44
+ def send_response_with_render_component
45
+ response.prepare! unless component_request?
46
+ response
47
+ end
48
+
49
+ protected
50
+ # Renders the component specified as the response for the current method
51
+ def render_component(options) #:doc:
52
+ component_logging(options) do
53
+ render_for_text(component_response(options, true).body, response.headers["Status"])
54
+ end
55
+ end
56
+
57
+ # Returns the component response as a string
58
+ def render_component_as_string(options) #:doc:
59
+ component_logging(options) do
60
+ response = component_response(options, false)
61
+
62
+ if redirected = response.redirected_to
63
+ render_component_as_string(redirected)
64
+ else
65
+ response.body
66
+ end
67
+ end
68
+ end
69
+
70
+ def flash_with_render_component(refresh = false) #:nodoc:
71
+ if !defined?(@_flash) || refresh
72
+ @_flash =
73
+ if defined?(@parent_controller)
74
+ @parent_controller.flash
75
+ else
76
+ flash_without_render_component
77
+ end
78
+ end
79
+ @_flash
80
+ end
81
+
82
+ private
83
+ def component_response(options, reuse_response)
84
+ klass = component_class(options)
85
+ request = request_for_component(klass.controller_path, options)
86
+ new_response = reuse_response ? response : response.dup
87
+
88
+ klass.process_with_components(request, new_response, self)
89
+ end
90
+
91
+ # determine the controller class for the component request
92
+ def component_class(options)
93
+ if controller = options[:controller]
94
+ controller.is_a?(Class) ? controller : "#{controller.camelize}Controller".constantize
95
+ else
96
+ self.class
97
+ end
98
+ end
99
+
100
+ # Create a new request object based on the current request.
101
+ # The new request inherits the session from the current request,
102
+ # bypassing any session options set for the component controller's class
103
+ def request_for_component(controller_path, options)
104
+ new_request = request.dup
105
+ new_request.session = request.session
106
+
107
+ new_request.instance_variable_set(
108
+ :@parameters,
109
+ (options[:params] || {}).with_indifferent_access.update(
110
+ "controller" => controller_path, "action" => options[:action], "id" => options[:id]
111
+ )
112
+ )
113
+
114
+ new_request
115
+ end
116
+
117
+ def component_logging(options)
118
+ if logger
119
+ logger.info "Start rendering component (#{options.inspect}): "
120
+ result = yield
121
+ logger.info "\n\nEnd of component rendering"
122
+ result
123
+ else
124
+ yield
125
+ end
126
+ end
127
+
128
+ def session_with_render_component=(options = {})
129
+ session_without_render_component=(options) unless component_request?
130
+ end
131
+
132
+ def process_cleanup_with_render_component
133
+ process_cleanup_without_render_component unless component_request?
134
+ end
135
+
136
+ def assign_shortcuts_with_render_component(request, response)
137
+ assign_shortcuts_without_render_component(request, response)
138
+ flash(:refresh)
139
+ flash.sweep if @_session && !component_request?
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'action_controller'
4
+ require 'action_controller/test_process'
5
+ ActionController::Routing::Routes.reload rescue nil
6
+
7
+ $: << File.dirname(__FILE__) + "/../lib"
8
+ require File.dirname(__FILE__) + "/../init"
@@ -0,0 +1,140 @@
1
+ require File.dirname(__FILE__) + '/abstract_unit'
2
+
3
+ class CallerController < ActionController::Base
4
+ def calling_from_controller
5
+ render_component(:controller => "callee", :action => "being_called")
6
+ end
7
+
8
+ def calling_from_controller_with_params
9
+ render_component(:controller => "callee", :action => "being_called", :params => { "name" => "David" })
10
+ end
11
+
12
+ def calling_from_controller_with_different_status_code
13
+ render_component(:controller => "callee", :action => "blowing_up")
14
+ end
15
+
16
+ def calling_from_template
17
+ render :inline => "Ring, ring: <%= render_component(:controller => 'callee', :action => 'being_called') %>"
18
+ end
19
+
20
+ def internal_caller
21
+ render :inline => "Are you there? <%= render_component(:action => 'internal_callee') %>"
22
+ end
23
+
24
+ def internal_callee
25
+ render :text => "Yes, ma'am"
26
+ end
27
+
28
+ def set_flash
29
+ render_component(:controller => "callee", :action => "set_flash")
30
+ end
31
+
32
+ def use_flash
33
+ render_component(:controller => "callee", :action => "use_flash")
34
+ end
35
+
36
+ def calling_redirected
37
+ render_component(:controller => "callee", :action => "redirected")
38
+ end
39
+
40
+ def calling_redirected_as_string
41
+ render :inline => "<%= render_component(:controller => 'callee', :action => 'redirected') %>"
42
+ end
43
+
44
+ def rescue_action(e) raise end
45
+ end
46
+
47
+ class CalleeController < ActionController::Base
48
+ def being_called
49
+ render :text => "#{params[:name] || "Lady"} of the House, speaking"
50
+ end
51
+
52
+ def blowing_up
53
+ render :text => "It's game over, man, just game over, man!", :status => 500
54
+ end
55
+
56
+ def set_flash
57
+ flash[:notice] = 'My stoney baby'
58
+ render :text => 'flash is set'
59
+ end
60
+
61
+ def use_flash
62
+ render :text => flash[:notice] || 'no flash'
63
+ end
64
+
65
+ def redirected
66
+ redirect_to :controller => "callee", :action => "being_called"
67
+ end
68
+
69
+ def rescue_action(e) raise end
70
+ end
71
+
72
+ class ComponentsTest < Test::Unit::TestCase
73
+ def setup
74
+ @controller = CallerController.new
75
+ @request = ActionController::TestRequest.new
76
+ @response = ActionController::TestResponse.new
77
+ end
78
+
79
+ def test_calling_from_controller
80
+ get :calling_from_controller
81
+ assert_equal "Lady of the House, speaking", @response.body
82
+ end
83
+
84
+ def test_calling_from_controller_with_params
85
+ get :calling_from_controller_with_params
86
+ assert_equal "David of the House, speaking", @response.body
87
+ end
88
+
89
+ def test_calling_from_controller_with_different_status_code
90
+ get :calling_from_controller_with_different_status_code
91
+ assert_equal 500, @response.response_code
92
+ end
93
+
94
+ def test_calling_from_template
95
+ get :calling_from_template
96
+ assert_equal "Ring, ring: Lady of the House, speaking", @response.body
97
+ end
98
+
99
+ def test_etag_is_set_for_parent_template_when_calling_from_template
100
+ get :calling_from_template
101
+ expected_etag = etag_for("Ring, ring: Lady of the House, speaking")
102
+ assert_equal expected_etag, @response.headers['ETag']
103
+ end
104
+
105
+ def test_internal_calling
106
+ get :internal_caller
107
+ assert_equal "Are you there? Yes, ma'am", @response.body
108
+ end
109
+
110
+ def test_flash
111
+ get :set_flash
112
+ assert_equal 'My stoney baby', flash[:notice]
113
+ get :use_flash
114
+ assert_equal 'My stoney baby', @response.body
115
+ get :use_flash
116
+ assert_equal 'no flash', @response.body
117
+ end
118
+
119
+ def test_component_redirect_redirects
120
+ get :calling_redirected
121
+
122
+ assert_redirected_to :controller=>"callee", :action => "being_called"
123
+ end
124
+
125
+ def test_component_multiple_redirect_redirects
126
+ test_component_redirect_redirects
127
+ test_internal_calling
128
+ end
129
+
130
+ def test_component_as_string_redirect_renders_redirected_action
131
+ get :calling_redirected_as_string
132
+
133
+ assert_equal "Lady of the House, speaking", @response.body
134
+ end
135
+
136
+ protected
137
+ def etag_for(text)
138
+ %("#{Digest::MD5.hexdigest(text)}")
139
+ end
140
+ end
metadata ADDED
@@ -0,0 +1,657 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brisk-bills
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0
5
+ platform: ruby
6
+ authors:
7
+ - Chris DeRose, DeRose Technologies, Inc.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-05-03 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.8.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: extensions
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.6.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: pdf-writer
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.1.8
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: slimtimer4r
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.2.4
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: money
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 2.2.0
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: mysql
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "2.7"
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: rails
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 2.3.2
84
+ version:
85
+ description: A full-featured, rails-based system for basic accounting, with a particular focus on invoicing and automatic bill generation.
86
+ email: cderose@derosetechnologies.com
87
+ executables:
88
+ - brisk-bills
89
+ extensions: []
90
+
91
+ extra_rdoc_files:
92
+ - README
93
+ - INSTALL
94
+ - CHANGELOG
95
+ - COPYING
96
+ - COPYING.LESSER
97
+ - bin/brisk-bills
98
+ files:
99
+ - app/controllers/admin/activities_controller/adjustment.rb
100
+ - app/controllers/admin/activities_controller/labor/slimtimer.rb
101
+ - app/controllers/admin/activities_controller/labor.rb
102
+ - app/controllers/admin/activities_controller/material.rb
103
+ - app/controllers/admin/activities_controller/proposal.rb
104
+ - app/controllers/admin/activities_controller.rb
105
+ - app/controllers/admin/activities_with_prices_controller.rb
106
+ - app/controllers/admin/adjustments_controller.rb
107
+ - app/controllers/admin/client_accounting_controller.rb
108
+ - app/controllers/admin/client_financial_transactions_controller.rb
109
+ - app/controllers/admin/client_representatives_controller.rb
110
+ - app/controllers/admin/clients_controller.rb
111
+ - app/controllers/admin/employee_client_labor_rate_controller.rb
112
+ - app/controllers/admin/employees_controller/slimtimer.rb
113
+ - app/controllers/admin/employees_controller.rb
114
+ - app/controllers/admin/invoices_controller.rb
115
+ - app/controllers/admin/labors_controller/slimtimer.rb
116
+ - app/controllers/admin/labors_controller.rb
117
+ - app/controllers/admin/materials_controller.rb
118
+ - app/controllers/admin/payments_controller.rb
119
+ - app/controllers/admin/proposals_controller.rb
120
+ - app/controllers/admin/settings_controller.rb
121
+ - app/controllers/application_controller.rb
122
+ - app/controllers/authentication_controller.rb
123
+ - app/helpers/activity_type_model_helper.rb
124
+ - app/helpers/admin/activities_helper/labor_helper.rb
125
+ - app/helpers/admin/activities_helper/proposal_helper.rb
126
+ - app/helpers/admin/activities_helper/slimtimer_helper.rb
127
+ - app/helpers/admin/activities_helper.rb
128
+ - app/helpers/admin/activities_with_prices_helper.rb
129
+ - app/helpers/admin/activity_tax_controller_helper.rb
130
+ - app/helpers/admin/activity_tax_field_helper.rb
131
+ - app/helpers/admin/activity_type_controller_helper.rb
132
+ - app/helpers/admin/activity_type_field_helper.rb
133
+ - app/helpers/admin/adjustments_helper.rb
134
+ - app/helpers/admin/client_accounting_helper.rb
135
+ - app/helpers/admin/client_financial_transactions_helper.rb
136
+ - app/helpers/admin/client_representatives_helper.rb
137
+ - app/helpers/admin/clients_helper.rb
138
+ - app/helpers/admin/employee_client_labor_rate_helper.rb
139
+ - app/helpers/admin/employees_helper/slimtimer_helper.rb
140
+ - app/helpers/admin/employees_helper.rb
141
+ - app/helpers/admin/has_credential_column_helper.rb
142
+ - app/helpers/admin/invoices_helper.rb
143
+ - app/helpers/admin/is_active_column_helper.rb
144
+ - app/helpers/admin/labors_helper/slimtimer_helper.rb
145
+ - app/helpers/admin/labors_helper.rb
146
+ - app/helpers/admin/materials_helper.rb
147
+ - app/helpers/admin/payments_helper.rb
148
+ - app/helpers/admin/proposals_helper.rb
149
+ - app/helpers/admin/settings_helper.rb
150
+ - app/helpers/admin_layout_helper.rb
151
+ - app/helpers/application_helper.rb
152
+ - app/helpers/authentication_helper.rb
153
+ - app/helpers/extensible_object_helper.rb
154
+ - app/helpers/has_credential_model_helper.rb
155
+ - app/helpers/invoice_pdf_helper.rb
156
+ - app/helpers/is_active_model_helper.rb
157
+ - app/helpers/money_model_helper.rb
158
+ - app/model_views/client_accounting.rb
159
+ - app/model_views/client_financial_transaction.rb
160
+ - app/model_views/invoices_with_total.rb
161
+ - app/models/activity/adjustment.rb
162
+ - app/models/activity/labor/slimtimer.rb
163
+ - app/models/activity/labor.rb
164
+ - app/models/activity/material.rb
165
+ - app/models/activity/proposal.rb
166
+ - app/models/activity.rb
167
+ - app/models/activity_type.rb
168
+ - app/models/client.rb
169
+ - app/models/client_eventlog.rb
170
+ - app/models/client_representative.rb
171
+ - app/models/credential.rb
172
+ - app/models/employee/labor.rb
173
+ - app/models/employee/slimtimer.rb
174
+ - app/models/employee.rb
175
+ - app/models/employee_client_labor_rate.rb
176
+ - app/models/invoice.rb
177
+ - app/models/invoice_payment.rb
178
+ - app/models/notifier.rb
179
+ - app/models/payment.rb
180
+ - app/models/payment_method.rb
181
+ - app/models/setting.rb
182
+ - app/models/slimtimer_task.rb
183
+ - app/models/slimtimer_time_entry.rb
184
+ - app/views/admin/activities/_adjustment_column.rhtml
185
+ - app/views/admin/activities/_form.rhtml
186
+ - app/views/admin/activities/_form_attribute.rhtml
187
+ - app/views/admin/activities/_labor_column.rhtml
188
+ - app/views/admin/activities/_material_column.rhtml
189
+ - app/views/admin/activities/_proposal_column.rhtml
190
+ - app/views/admin/activities_with_prices/move_to_invoice.rhtml
191
+ - app/views/admin/activities_with_prices/move_to_invoice.rjs
192
+ - app/views/admin/invoices/download.rpdf
193
+ - app/views/authentication/email.rjs
194
+ - app/views/authentication/login.rhtml
195
+ - app/views/authentication/login.rjs
196
+ - app/views/authentication/reset_password_via_token.rhtml
197
+ - app/views/authentication/reset_password_via_token.rjs
198
+ - app/views/authentication/sign_in_error.rjs
199
+ - app/views/layouts/_navigation_tree.rhtml
200
+ - app/views/layouts/admin.rhtml
201
+ - app/views/layouts/public.rhtml
202
+ - app/views/notifier/_email_footer.html.rhtml
203
+ - app/views/notifier/_email_footer.plain.rhtml
204
+ - app/views/notifier/_email_header.html.rhtml
205
+ - app/views/notifier/invoice_available.html.rhtml
206
+ - app/views/notifier/invoice_available.plain.rhtml
207
+ - app/views/notifier/reset_password_requested.html.rhtml
208
+ - app/views/notifier/reset_password_requested.plain.rhtml
209
+ - bin/brisk-bills
210
+ - CHANGELOG
211
+ - config/boot.rb
212
+ - config/environment.rb
213
+ - config/environments/development.rb
214
+ - config/environments/production.rb
215
+ - config/environments/test.rb
216
+ - config/locale/en.rb
217
+ - config/routes.rb
218
+ - config/secrets.yml
219
+ - COPYING
220
+ - COPYING.LESSER
221
+ - db/migrate/001_create_employees.rb
222
+ - db/migrate/002_create_employee_slimtimers.rb
223
+ - db/migrate/003_create_slimtimer_tasks.rb
224
+ - db/migrate/004_create_slimtimer_time_entries.rb
225
+ - db/migrate/005_create_clients.rb
226
+ - db/migrate/006_create_client_representatives.rb
227
+ - db/migrate/007_create_client_eventlogs.rb
228
+ - db/migrate/008_create_activities.rb
229
+ - db/migrate/009_create_activity_labors.rb
230
+ - db/migrate/010_create_employee_client_labor_rates.rb
231
+ - db/migrate/011_create_activity_adjustments.rb
232
+ - db/migrate/012_create_activity_materials.rb
233
+ - db/migrate/013_create_activity_proposals.rb
234
+ - db/migrate/014_create_invoices.rb
235
+ - db/migrate/015_create_payments.rb
236
+ - db/migrate/016_create_payment_methods.rb
237
+ - db/migrate/017_create_invoice_payments.rb
238
+ - db/migrate/018_create_activity_types.rb
239
+ - db/migrate/019_create_settings.rb
240
+ - db/migrate/020_is_active_employees_clients.rb
241
+ - db/migrate/021_create_views_and_indexes.rb
242
+ - db/migrate/022_create_client_financial_transactions.rb
243
+ - db/migrate/023_create_credentials_migrate_representatives.rb
244
+ - db/migrate/024_updates_for_sales_tax.rb
245
+ - db/migrate/025_alter_credentials_for_reset.rb
246
+ - db/migrate/026_create_st_settings.rb
247
+ - db/migrate/027_create_sessions.rb
248
+ - db/migrate/028_money_to_cents.rb
249
+ - db/schema.rb
250
+ - INSTALL
251
+ - lib/brisk-bills/initializer.rb
252
+ - lib/brisk-bills.rb
253
+ - lib/dti-navigation-menu/lib/dti-navigation-menu.rb
254
+ - lib/generators/generator_base_extension.rb
255
+ - lib/generators/instance/instance_generator.rb
256
+ - lib/generators/instance/templates/databases/mysql.yml
257
+ - lib/generators/instance/templates/instance_boot.rb
258
+ - lib/generators/instance/templates/instance_environment.rb
259
+ - lib/generators/instance/templates/instance_generate
260
+ - lib/generators/instance/templates/instance_rakefile
261
+ - lib/generators/instance/templates/instance_routes.rb
262
+ - lib/tasks/create_last_months_invoices.rake
263
+ - lib/tasks/credential_tasks.rake
264
+ - lib/tasks/first_time_setup.rake
265
+ - lib/tasks/instance.rake
266
+ - lib/tasks/invoice_as_csv.rake
267
+ - lib/tasks/package.rake
268
+ - lib/tasks/slimtimer_import.rake
269
+ - lib/utilities.rb
270
+ - public/404.html
271
+ - public/500.html
272
+ - public/blank.html
273
+ - public/blank_iframe.html
274
+ - public/dispatch.cgi
275
+ - public/dispatch.fcgi
276
+ - public/dispatch.rb
277
+ - public/favicon.ico
278
+ - public/images/active_scaffold/default/add.gif
279
+ - public/images/active_scaffold/default/arrow_down.gif
280
+ - public/images/active_scaffold/default/arrow_up.gif
281
+ - public/images/active_scaffold/default/close.gif
282
+ - public/images/active_scaffold/default/cross.png
283
+ - public/images/active_scaffold/default/indicator-small.gif
284
+ - public/images/active_scaffold/default/indicator.gif
285
+ - public/images/active_scaffold/default/magnifier.png
286
+ - public/images/active_scaffold/DO_NOT_EDIT
287
+ - public/images/background.gif
288
+ - public/images/brisk-bills-logo.gif
289
+ - public/images/calendar_date_select/calendar.gif
290
+ - public/images/dti-logo.gif
291
+ - public/images/dti-logo.jpg
292
+ - public/images/favicon.ico
293
+ - public/images/invoice-background.jpg
294
+ - public/images/login-form-spinner.gif
295
+ - public/images/nav-arrow.gif
296
+ - public/images/notice-error.gif
297
+ - public/images/notice-info.gif
298
+ - public/images/rails.png
299
+ - public/javascripts/active_scaffold/default/active_scaffold.js
300
+ - public/javascripts/active_scaffold/default/dhtml_history.js
301
+ - public/javascripts/active_scaffold/default/form_enhancements.js
302
+ - public/javascripts/active_scaffold/default/rico_corner.js
303
+ - public/javascripts/active_scaffold/DO_NOT_EDIT
304
+ - public/javascripts/application.js
305
+ - public/javascripts/briskbills-quick-helpers.js
306
+ - public/javascripts/builder.js
307
+ - public/javascripts/controls.js
308
+ - public/javascripts/dragdrop.js
309
+ - public/javascripts/effects.js
310
+ - public/javascripts/modalbox.js
311
+ - public/javascripts/prototype.js
312
+ - public/javascripts/scriptaculous.js
313
+ - public/javascripts/shadedborder.js
314
+ - public/javascripts/slider.js
315
+ - public/javascripts/sound.js
316
+ - public/javascripts/unittest.js
317
+ - public/robots.txt
318
+ - public/stylesheets/active_scaffold/default/stylesheet-ie.css
319
+ - public/stylesheets/active_scaffold/default/stylesheet.css
320
+ - public/stylesheets/active_scaffold/DO_NOT_EDIT
321
+ - public/stylesheets/admin/global.css
322
+ - public/stylesheets/admin/pages.css
323
+ - public/stylesheets/admin/screen.css
324
+ - public/stylesheets/admin/structure.css
325
+ - public/stylesheets/modalbox.css
326
+ - public/stylesheets/public/global.css
327
+ - public/stylesheets/public/pages.css
328
+ - public/stylesheets/public/screen.css
329
+ - public/stylesheets/public/structure.css
330
+ - public/stylesheets/spinner.gif
331
+ - Rakefile
332
+ - README
333
+ - script/about
334
+ - script/breakpointer
335
+ - script/console
336
+ - script/dbconsole
337
+ - script/destroy
338
+ - script/generate
339
+ - script/performance/benchmarker
340
+ - script/performance/profiler
341
+ - script/performance/request
342
+ - script/plugin
343
+ - script/process/inspector
344
+ - script/process/reaper
345
+ - script/process/spawner
346
+ - script/runner
347
+ - script/server
348
+ - test/fixtures/activities.yml
349
+ - test/fixtures/activity_adjustments.yml
350
+ - test/fixtures/activity_labors.yml
351
+ - test/fixtures/activity_materials.yml
352
+ - test/fixtures/activity_proposals.yml
353
+ - test/fixtures/activity_types.yml
354
+ - test/fixtures/client_eventlogs.yml
355
+ - test/fixtures/client_financial_transactions.yml
356
+ - test/fixtures/client_representatives.yml
357
+ - test/fixtures/clients.yml
358
+ - test/fixtures/credentials.yml
359
+ - test/fixtures/employee_client_labor_rates.yml
360
+ - test/fixtures/employee_slimtimers.yml
361
+ - test/fixtures/employees.yml
362
+ - test/fixtures/invoice_payments.yml
363
+ - test/fixtures/invoices.yml
364
+ - test/fixtures/payment_methods.yml
365
+ - test/fixtures/payments.yml
366
+ - test/fixtures/settings.yml
367
+ - test/fixtures/slimtimer_tasks.yml
368
+ - test/fixtures/slimtimer_time_entries.yml
369
+ - test/functional/admin/activities_controller_test.rb
370
+ - test/functional/admin/adjustments_controller_test.rb
371
+ - test/functional/admin/client_accounting_controller_test.rb
372
+ - test/functional/admin/client_financial_transactions_controller_test.rb
373
+ - test/functional/admin/client_representatives_controller_test.rb
374
+ - test/functional/admin/clients_controller_test.rb
375
+ - test/functional/admin/employee_client_labor_rate_controller_test.rb
376
+ - test/functional/admin/employees/slimtimer_controller_test.rb
377
+ - test/functional/admin/employees_controller_test.rb
378
+ - test/functional/admin/invoices_controller_test.rb
379
+ - test/functional/admin/labors_controller_test.rb
380
+ - test/functional/admin/materials_controller_test.rb
381
+ - test/functional/admin/payments_controller_test.rb
382
+ - test/functional/admin/proposals_controller_test.rb
383
+ - test/functional/admin/settings_controller_test.rb
384
+ - test/functional/authentication_controller_test.rb
385
+ - test/test_helper.rb
386
+ - test/test_unit_factory_helper.rb
387
+ - test/unit/activity/adjustment_test.rb
388
+ - test/unit/activity/labor_test.rb
389
+ - test/unit/activity/material_test.rb
390
+ - test/unit/activity/proposal_test.rb
391
+ - test/unit/activity_test.rb
392
+ - test/unit/activity_type_test.rb
393
+ - test/unit/client_eventlog_test.rb
394
+ - test/unit/client_financial_transaction_test.rb
395
+ - test/unit/client_representative_test.rb
396
+ - test/unit/client_test.rb
397
+ - test/unit/credential_test.rb
398
+ - test/unit/employee/slimtimer_test.rb
399
+ - test/unit/employee_client_labor_rate_test.rb
400
+ - test/unit/employee_test.rb
401
+ - test/unit/invoice_payment_test.rb
402
+ - test/unit/invoice_test.rb
403
+ - test/unit/notifier_test.rb
404
+ - test/unit/payment_method_test.rb
405
+ - test/unit/payment_test.rb
406
+ - test/unit/setting_test.rb
407
+ - test/unit/slimtimer_task_test.rb
408
+ - test/unit/slimtimer_time_entry_test.rb
409
+ - TODO.txt
410
+ - vendor/plugins/active_scaffold/CHANGELOG
411
+ - vendor/plugins/active_scaffold/environment.rb
412
+ - vendor/plugins/active_scaffold/frontends/default/images/add.gif
413
+ - vendor/plugins/active_scaffold/frontends/default/images/arrow_down.gif
414
+ - vendor/plugins/active_scaffold/frontends/default/images/arrow_up.gif
415
+ - vendor/plugins/active_scaffold/frontends/default/images/close.gif
416
+ - vendor/plugins/active_scaffold/frontends/default/images/cross.png
417
+ - vendor/plugins/active_scaffold/frontends/default/images/indicator-small.gif
418
+ - vendor/plugins/active_scaffold/frontends/default/images/indicator.gif
419
+ - vendor/plugins/active_scaffold/frontends/default/images/magnifier.png
420
+ - vendor/plugins/active_scaffold/frontends/default/javascripts/active_scaffold.js
421
+ - vendor/plugins/active_scaffold/frontends/default/javascripts/dhtml_history.js
422
+ - vendor/plugins/active_scaffold/frontends/default/javascripts/form_enhancements.js
423
+ - vendor/plugins/active_scaffold/frontends/default/javascripts/rico_corner.js
424
+ - vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet-ie.css
425
+ - vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet.css
426
+ - vendor/plugins/active_scaffold/frontends/default/views/_add_existing_form.html.erb
427
+ - vendor/plugins/active_scaffold/frontends/default/views/_create_form.html.erb
428
+ - vendor/plugins/active_scaffold/frontends/default/views/_create_form_on_list.html.erb
429
+ - vendor/plugins/active_scaffold/frontends/default/views/_field_search.html.erb
430
+ - vendor/plugins/active_scaffold/frontends/default/views/_form.html.erb
431
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_association.html.erb
432
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_association_footer.html.erb
433
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_association_header.html.erb
434
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_association_record.html.erb
435
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html.erb
436
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_hidden_attribute.html.erb
437
+ - vendor/plugins/active_scaffold/frontends/default/views/_form_messages.html.erb
438
+ - vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform.html.erb
439
+ - vendor/plugins/active_scaffold/frontends/default/views/_list.html.erb
440
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb
441
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_calculations.html.erb
442
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_column_headings.html.erb
443
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_header.html.erb
444
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_inline_adapter.html.erb
445
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_pagination_links.html.erb
446
+ - vendor/plugins/active_scaffold/frontends/default/views/_list_record.html.erb
447
+ - vendor/plugins/active_scaffold/frontends/default/views/_live_search.html.erb
448
+ - vendor/plugins/active_scaffold/frontends/default/views/_messages.html.erb
449
+ - vendor/plugins/active_scaffold/frontends/default/views/_nested.html.erb
450
+ - vendor/plugins/active_scaffold/frontends/default/views/_search.html.erb
451
+ - vendor/plugins/active_scaffold/frontends/default/views/_show.html.erb
452
+ - vendor/plugins/active_scaffold/frontends/default/views/_show_columns.html.erb
453
+ - vendor/plugins/active_scaffold/frontends/default/views/_update_actions.html.erb
454
+ - vendor/plugins/active_scaffold/frontends/default/views/_update_form.html.erb
455
+ - vendor/plugins/active_scaffold/frontends/default/views/add_existing.js.rjs
456
+ - vendor/plugins/active_scaffold/frontends/default/views/add_existing_form.html.erb
457
+ - vendor/plugins/active_scaffold/frontends/default/views/create.html.erb
458
+ - vendor/plugins/active_scaffold/frontends/default/views/delete.html.erb
459
+ - vendor/plugins/active_scaffold/frontends/default/views/destroy.js.rjs
460
+ - vendor/plugins/active_scaffold/frontends/default/views/edit_associated.js.rjs
461
+ - vendor/plugins/active_scaffold/frontends/default/views/field_search.html.erb
462
+ - vendor/plugins/active_scaffold/frontends/default/views/form_messages.js.rjs
463
+ - vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_create.js.rjs
464
+ - vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_update.js.rjs
465
+ - vendor/plugins/active_scaffold/frontends/default/views/list.html.erb
466
+ - vendor/plugins/active_scaffold/frontends/default/views/on_create.js.rjs
467
+ - vendor/plugins/active_scaffold/frontends/default/views/on_update.js.rjs
468
+ - vendor/plugins/active_scaffold/frontends/default/views/search.html.erb
469
+ - vendor/plugins/active_scaffold/frontends/default/views/show.html.erb
470
+ - vendor/plugins/active_scaffold/frontends/default/views/update.html.erb
471
+ - vendor/plugins/active_scaffold/frontends/default/views/update_column.js.rjs
472
+ - vendor/plugins/active_scaffold/init.rb
473
+ - vendor/plugins/active_scaffold/install.rb
474
+ - vendor/plugins/active_scaffold/install_assets.rb
475
+ - vendor/plugins/active_scaffold/lib/active_record_permissions.rb
476
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb
477
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb
478
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/delete.rb
479
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/field_search.rb
480
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb
481
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/live_search.rb
482
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/nested.rb
483
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/search.rb
484
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/show.rb
485
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/subform.rb
486
+ - vendor/plugins/active_scaffold/lib/active_scaffold/actions/update.rb
487
+ - vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb
488
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/base.rb
489
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/core.rb
490
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/create.rb
491
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/delete.rb
492
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/field_search.rb
493
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/form.rb
494
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/list.rb
495
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/live_search.rb
496
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/nested.rb
497
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/search.rb
498
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/show.rb
499
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/subform.rb
500
+ - vendor/plugins/active_scaffold/lib/active_scaffold/config/update.rb
501
+ - vendor/plugins/active_scaffold/lib/active_scaffold/configurable.rb
502
+ - vendor/plugins/active_scaffold/lib/active_scaffold/constraints.rb
503
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_columns.rb
504
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_link.rb
505
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_links.rb
506
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/actions.rb
507
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb
508
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb
509
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/error_message.rb
510
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/set.rb
511
+ - vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/sorting.rb
512
+ - vendor/plugins/active_scaffold/lib/active_scaffold/finder.rb
513
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/association_helpers.rb
514
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/controller_helpers.rb
515
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/country_helpers.rb
516
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/form_column_helpers.rb
517
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/id_helpers.rb
518
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/list_column_helpers.rb
519
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/pagination_helpers.rb
520
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/search_column_helpers.rb
521
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/show_column_helpers.rb
522
+ - vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb
523
+ - vendor/plugins/active_scaffold/lib/active_scaffold/locale/en.rb
524
+ - vendor/plugins/active_scaffold/lib/active_scaffold/locale/es.yml
525
+ - vendor/plugins/active_scaffold/lib/active_scaffold/locale/hu.yml
526
+ - vendor/plugins/active_scaffold/lib/active_scaffold.rb
527
+ - vendor/plugins/active_scaffold/lib/bridges/bridge.rb
528
+ - vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/bridge.rb
529
+ - vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/lib/as_cds_bridge.rb
530
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/bridge.rb
531
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/lib/as_file_column_bridge.rb
532
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/lib/file_column_helpers.rb
533
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/lib/form_ui.rb
534
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/lib/list_ui.rb
535
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/test/functional/file_column_keep_test.rb
536
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/test/mock_model.rb
537
+ - vendor/plugins/active_scaffold/lib/bridges/file_column/test/test_helper.rb
538
+ - vendor/plugins/active_scaffold/lib/dhtml_confirm.rb
539
+ - vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb
540
+ - vendor/plugins/active_scaffold/lib/extensions/action_view_rendering.rb
541
+ - vendor/plugins/active_scaffold/lib/extensions/array.rb
542
+ - vendor/plugins/active_scaffold/lib/extensions/component_response_with_namespacing.rb
543
+ - vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb
544
+ - vendor/plugins/active_scaffold/lib/extensions/localize.rb
545
+ - vendor/plugins/active_scaffold/lib/extensions/name_option_for_datetime.rb
546
+ - vendor/plugins/active_scaffold/lib/extensions/nil_id_in_url_params.rb
547
+ - vendor/plugins/active_scaffold/lib/extensions/resources.rb
548
+ - vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb
549
+ - vendor/plugins/active_scaffold/lib/extensions/to_label.rb
550
+ - vendor/plugins/active_scaffold/lib/extensions/unsaved_associated.rb
551
+ - vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb
552
+ - vendor/plugins/active_scaffold/lib/extensions/usa_state.rb
553
+ - vendor/plugins/active_scaffold/lib/paginator.rb
554
+ - vendor/plugins/active_scaffold/lib/responds_to_parent.rb
555
+ - vendor/plugins/active_scaffold/MIT-LICENSE
556
+ - vendor/plugins/active_scaffold/public/blank.html
557
+ - vendor/plugins/active_scaffold/Rakefile
558
+ - vendor/plugins/active_scaffold/README
559
+ - vendor/plugins/active_scaffold/test/bridges/bridge_test.rb
560
+ - vendor/plugins/active_scaffold/test/config/create_test.rb
561
+ - vendor/plugins/active_scaffold/test/config/list_test.rb
562
+ - vendor/plugins/active_scaffold/test/config/update_test.rb
563
+ - vendor/plugins/active_scaffold/test/const_mocker.rb
564
+ - vendor/plugins/active_scaffold/test/data_structures/action_columns_test.rb
565
+ - vendor/plugins/active_scaffold/test/data_structures/action_link_test.rb
566
+ - vendor/plugins/active_scaffold/test/data_structures/action_links_test.rb
567
+ - vendor/plugins/active_scaffold/test/data_structures/actions_test.rb
568
+ - vendor/plugins/active_scaffold/test/data_structures/association_column_test.rb
569
+ - vendor/plugins/active_scaffold/test/data_structures/column_test.rb
570
+ - vendor/plugins/active_scaffold/test/data_structures/columns_test.rb
571
+ - vendor/plugins/active_scaffold/test/data_structures/error_message_test.rb
572
+ - vendor/plugins/active_scaffold/test/data_structures/set_test.rb
573
+ - vendor/plugins/active_scaffold/test/data_structures/sorting_test.rb
574
+ - vendor/plugins/active_scaffold/test/data_structures/standard_column_test.rb
575
+ - vendor/plugins/active_scaffold/test/data_structures/virtual_column_test.rb
576
+ - vendor/plugins/active_scaffold/test/extensions/active_record_test.rb
577
+ - vendor/plugins/active_scaffold/test/extensions/array.rb
578
+ - vendor/plugins/active_scaffold/test/misc/active_record_permissions.rb
579
+ - vendor/plugins/active_scaffold/test/misc/configurable_test.rb
580
+ - vendor/plugins/active_scaffold/test/misc/constraints_test.rb
581
+ - vendor/plugins/active_scaffold/test/misc/finder_test.rb
582
+ - vendor/plugins/active_scaffold/test/misc/lang_test.rb
583
+ - vendor/plugins/active_scaffold/test/model_stub.rb
584
+ - vendor/plugins/active_scaffold/test/run_all.rb
585
+ - vendor/plugins/active_scaffold/test/test_helper.rb
586
+ - vendor/plugins/active_scaffold/uninstall.rb
587
+ - vendor/plugins/active_scaffold_as_gem/init.rb
588
+ - vendor/plugins/active_scaffold_form_observation/init.rb
589
+ - vendor/plugins/active_scaffold_form_observation/lib/active_scaffold_form_observation.rb
590
+ - vendor/plugins/active_scaffold_full_refresh/init.rb
591
+ - vendor/plugins/active_scaffold_full_refresh/lib/active_scaffold_full_refresh.rb
592
+ - vendor/plugins/active_scaffold_move_column_under/init.rb
593
+ - vendor/plugins/acts_as_money/init.rb
594
+ - vendor/plugins/acts_as_money/install.rb
595
+ - vendor/plugins/acts_as_money/lib/acts_as_money.rb
596
+ - vendor/plugins/acts_as_money/Rakefile
597
+ - vendor/plugins/acts_as_money/README
598
+ - vendor/plugins/acts_as_money/tasks/money_tasks.rake
599
+ - vendor/plugins/acts_as_money/test/money_test.rb
600
+ - vendor/plugins/association_hacks/init.rb
601
+ - vendor/plugins/association_hacks/lib/association_hacks.rb
602
+ - vendor/plugins/InlineAttachment-0.3.0-modified/init.rb
603
+ - vendor/plugins/InlineAttachment-0.3.0-modified/lib/inline_attachment.rb
604
+ - vendor/plugins/InlineAttachment-0.3.0-modified/lib/tmail_content_id.rb
605
+ - vendor/plugins/InlineAttachment-0.3.0-modified/README
606
+ - vendor/plugins/railspdf/CHANGELOG
607
+ - vendor/plugins/railspdf/init.rb
608
+ - vendor/plugins/railspdf/lib/railspdf.rb
609
+ - vendor/plugins/railspdf/Rakefile
610
+ - vendor/plugins/railspdf/README
611
+ - vendor/plugins/railspdf/test/railspdf_test.rb
612
+ - vendor/plugins/railspdf/test/test_helper.rb
613
+ - vendor/plugins/railspdf/TODO
614
+ - vendor/plugins/render_component/init.rb
615
+ - vendor/plugins/render_component/lib/components.rb
616
+ - vendor/plugins/render_component/Rakefile
617
+ - vendor/plugins/render_component/README
618
+ - vendor/plugins/render_component/test/abstract_unit.rb
619
+ - vendor/plugins/render_component/test/components_test.rb
620
+ - public/.htaccess
621
+ - log/.keep
622
+ has_rdoc: true
623
+ homepage: http://www.derosetechnologies.com/community/brisk-bills
624
+ licenses: []
625
+
626
+ post_install_message:
627
+ rdoc_options:
628
+ - --title
629
+ - BriskBills - Invoicing with some kick!
630
+ - --line-numbers
631
+ - --main
632
+ - README
633
+ - --exclude
634
+ - lib/generators
635
+ require_paths:
636
+ - lib
637
+ required_ruby_version: !ruby/object:Gem::Requirement
638
+ requirements:
639
+ - - ">="
640
+ - !ruby/object:Gem::Version
641
+ version: "0"
642
+ version:
643
+ required_rubygems_version: !ruby/object:Gem::Requirement
644
+ requirements:
645
+ - - ">="
646
+ - !ruby/object:Gem::Version
647
+ version: "0"
648
+ version:
649
+ requirements: []
650
+
651
+ rubyforge_project: brisk-bills
652
+ rubygems_version: 1.3.5
653
+ signing_key:
654
+ specification_version: 3
655
+ summary: A full-featured, rails-based system for basic accounting, with a particular focus on invoicing and automatic bill generation.
656
+ test_files: []
657
+