authorails 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. data/AUTHORAILS_README +20 -0
  2. data/CHANGELOG +1366 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README +182 -0
  5. data/Rakefile +334 -0
  6. data/bin/about +3 -0
  7. data/bin/authorails +19 -0
  8. data/bin/breakpointer +3 -0
  9. data/bin/console +3 -0
  10. data/bin/destroy +3 -0
  11. data/bin/generate +3 -0
  12. data/bin/performance/benchmarker +3 -0
  13. data/bin/performance/profiler +3 -0
  14. data/bin/plugin +3 -0
  15. data/bin/process/inspector +3 -0
  16. data/bin/process/reaper +3 -0
  17. data/bin/process/spawner +3 -0
  18. data/bin/runner +3 -0
  19. data/bin/server +3 -0
  20. data/builtin/rails_info/rails/info.rb +123 -0
  21. data/builtin/rails_info/rails/info_controller.rb +9 -0
  22. data/builtin/rails_info/rails/info_helper.rb +2 -0
  23. data/builtin/rails_info/rails_info_controller.rb +2 -0
  24. data/configs/apache.conf +40 -0
  25. data/configs/databases/frontbase.yml +28 -0
  26. data/configs/databases/mysql.yml +48 -0
  27. data/configs/databases/oracle.yml +39 -0
  28. data/configs/databases/postgresql.yml +44 -0
  29. data/configs/databases/sqlite2.yml +16 -0
  30. data/configs/databases/sqlite3.yml +19 -0
  31. data/configs/empty.log +0 -0
  32. data/configs/lighttpd.conf +54 -0
  33. data/configs/routes.rb +23 -0
  34. data/controllers/accounts_controller.rb +11 -0
  35. data/controllers/admin_controller.rb +76 -0
  36. data/controllers/begin_controller.rb +5 -0
  37. data/controllers/login_controller.rb +101 -0
  38. data/controllers/permission_controller.rb +91 -0
  39. data/controllers/roles_controller.rb +58 -0
  40. data/controllers/tables_controller.rb +714 -0
  41. data/dispatches/dispatch.fcgi +24 -0
  42. data/dispatches/dispatch.rb +10 -0
  43. data/dispatches/gateway.cgi +97 -0
  44. data/doc/README_FOR_APP +2 -0
  45. data/environments/boot.rb +45 -0
  46. data/environments/development.rb +21 -0
  47. data/environments/environment.rb +63 -0
  48. data/environments/production.rb +18 -0
  49. data/environments/test.rb +19 -0
  50. data/fresh_rakefile +10 -0
  51. data/helpers/application.rb +607 -0
  52. data/helpers/application_helper.rb +315 -0
  53. data/helpers/permission_helper.rb +27 -0
  54. data/helpers/test_helper.rb +28 -0
  55. data/html/404.html +30 -0
  56. data/html/500.html +30 -0
  57. data/html/favicon.ico +0 -0
  58. data/html/images/ArrowDn.png +0 -0
  59. data/html/images/ArrowUp.png +0 -0
  60. data/html/images/arrow.gif +0 -0
  61. data/html/images/authorails_logo.gif +0 -0
  62. data/html/images/delete.png +0 -0
  63. data/html/images/edit.png +0 -0
  64. data/html/images/minus.gif +0 -0
  65. data/html/images/plus.gif +0 -0
  66. data/html/images/rails.png +0 -0
  67. data/html/images/show.png +0 -0
  68. data/html/images/spinner.gif +0 -0
  69. data/html/index.html +273 -0
  70. data/html/javascripts/application.js +2 -0
  71. data/html/javascripts/controls.js +833 -0
  72. data/html/javascripts/dragdrop.js +942 -0
  73. data/html/javascripts/effects.js +1088 -0
  74. data/html/javascripts/live_validation.js +4 -0
  75. data/html/javascripts/prototype.js +2515 -0
  76. data/html/robots.txt +1 -0
  77. data/lib/authorails/version.rb +9 -0
  78. data/lib/binding_of_caller.rb +85 -0
  79. data/lib/breakpoint.rb +553 -0
  80. data/lib/breakpoint_client.rb +196 -0
  81. data/lib/code_statistics.rb +107 -0
  82. data/lib/commands.rb +17 -0
  83. data/lib/commands/about.rb +2 -0
  84. data/lib/commands/breakpointer.rb +1 -0
  85. data/lib/commands/console.rb +25 -0
  86. data/lib/commands/destroy.rb +6 -0
  87. data/lib/commands/generate.rb +6 -0
  88. data/lib/commands/ncgi/listener +86 -0
  89. data/lib/commands/ncgi/tracker +69 -0
  90. data/lib/commands/performance/benchmarker.rb +24 -0
  91. data/lib/commands/performance/profiler.rb +50 -0
  92. data/lib/commands/plugin.rb +918 -0
  93. data/lib/commands/process/inspector.rb +68 -0
  94. data/lib/commands/process/reaper.rb +149 -0
  95. data/lib/commands/process/spawner.rb +209 -0
  96. data/lib/commands/process/spinner.rb +57 -0
  97. data/lib/commands/runner.rb +48 -0
  98. data/lib/commands/server.rb +39 -0
  99. data/lib/commands/servers/base.rb +19 -0
  100. data/lib/commands/servers/lighttpd.rb +94 -0
  101. data/lib/commands/servers/mongrel.rb +65 -0
  102. data/lib/commands/servers/webrick.rb +59 -0
  103. data/lib/commands/update.rb +4 -0
  104. data/lib/console_app.rb +27 -0
  105. data/lib/console_sandbox.rb +6 -0
  106. data/lib/console_with_helpers.rb +23 -0
  107. data/lib/dispatcher.rb +173 -0
  108. data/lib/fcgi_handler.rb +225 -0
  109. data/lib/initializer.rb +702 -0
  110. data/lib/rails_generator.rb +43 -0
  111. data/lib/rails_generator/base.rb +261 -0
  112. data/lib/rails_generator/commands.rb +581 -0
  113. data/lib/rails_generator/generated_attribute.rb +42 -0
  114. data/lib/rails_generator/generators/applications/app/USAGE +16 -0
  115. data/lib/rails_generator/generators/applications/app/app_generator.rb +341 -0
  116. data/lib/rails_generator/generators/components/controller/USAGE +30 -0
  117. data/lib/rails_generator/generators/components/controller/controller_generator.rb +37 -0
  118. data/lib/rails_generator/generators/components/controller/templates/controller.rb +10 -0
  119. data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +18 -0
  120. data/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
  121. data/lib/rails_generator/generators/components/controller/templates/view.rhtml +2 -0
  122. data/lib/rails_generator/generators/components/integration_test/USAGE +14 -0
  123. data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +16 -0
  124. data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +10 -0
  125. data/lib/rails_generator/generators/components/mailer/USAGE +18 -0
  126. data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +34 -0
  127. data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +3 -0
  128. data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +13 -0
  129. data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +37 -0
  130. data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +3 -0
  131. data/lib/rails_generator/generators/components/migration/USAGE +14 -0
  132. data/lib/rails_generator/generators/components/migration/migration_generator.rb +7 -0
  133. data/lib/rails_generator/generators/components/migration/templates/migration.rb +7 -0
  134. data/lib/rails_generator/generators/components/model/USAGE +26 -0
  135. data/lib/rails_generator/generators/components/model/model_generator.rb +38 -0
  136. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +11 -0
  137. data/lib/rails_generator/generators/components/model/templates/migration.rb +13 -0
  138. data/lib/rails_generator/generators/components/model/templates/model.rb +2 -0
  139. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +10 -0
  140. data/lib/rails_generator/generators/components/observer/USAGE +15 -0
  141. data/lib/rails_generator/generators/components/observer/observer_generator.rb +16 -0
  142. data/lib/rails_generator/generators/components/observer/templates/observer.rb +2 -0
  143. data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +10 -0
  144. data/lib/rails_generator/generators/components/plugin/USAGE +35 -0
  145. data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +38 -0
  146. data/lib/rails_generator/generators/components/plugin/templates/README +4 -0
  147. data/lib/rails_generator/generators/components/plugin/templates/Rakefile +22 -0
  148. data/lib/rails_generator/generators/components/plugin/templates/USAGE +8 -0
  149. data/lib/rails_generator/generators/components/plugin/templates/generator.rb +8 -0
  150. data/lib/rails_generator/generators/components/plugin/templates/init.rb +1 -0
  151. data/lib/rails_generator/generators/components/plugin/templates/install.rb +1 -0
  152. data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +1 -0
  153. data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +4 -0
  154. data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +1 -0
  155. data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +8 -0
  156. data/lib/rails_generator/generators/components/resource/resource_generator.rb +76 -0
  157. data/lib/rails_generator/generators/components/resource/templates/USAGE +18 -0
  158. data/lib/rails_generator/generators/components/resource/templates/controller.rb +2 -0
  159. data/lib/rails_generator/generators/components/resource/templates/fixtures.yml +11 -0
  160. data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +20 -0
  161. data/lib/rails_generator/generators/components/resource/templates/helper.rb +2 -0
  162. data/lib/rails_generator/generators/components/resource/templates/migration.rb +13 -0
  163. data/lib/rails_generator/generators/components/resource/templates/model.rb +2 -0
  164. data/lib/rails_generator/generators/components/resource/templates/unit_test.rb +10 -0
  165. data/lib/rails_generator/generators/components/scaffold/USAGE +32 -0
  166. data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +208 -0
  167. data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +134 -0
  168. data/lib/rails_generator/generators/components/scaffold/templates/form.rhtml +3 -0
  169. data/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml +35 -0
  170. data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +102 -0
  171. data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
  172. data/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml +17 -0
  173. data/lib/rails_generator/generators/components/scaffold/templates/partial_list_elements.rhtml +127 -0
  174. data/lib/rails_generator/generators/components/scaffold/templates/style.css +74 -0
  175. data/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml +75 -0
  176. data/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml +30 -0
  177. data/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml +8 -0
  178. data/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml +37 -0
  179. data/lib/rails_generator/generators/components/scaffold_resource/USAGE +29 -0
  180. data/lib/rails_generator/generators/components/scaffold_resource/scaffold_resource_generator.rb +92 -0
  181. data/lib/rails_generator/generators/components/scaffold_resource/templates/controller.rb +79 -0
  182. data/lib/rails_generator/generators/components/scaffold_resource/templates/fixtures.yml +11 -0
  183. data/lib/rails_generator/generators/components/scaffold_resource/templates/functional_test.rb +57 -0
  184. data/lib/rails_generator/generators/components/scaffold_resource/templates/helper.rb +2 -0
  185. data/lib/rails_generator/generators/components/scaffold_resource/templates/layout.rhtml +17 -0
  186. data/lib/rails_generator/generators/components/scaffold_resource/templates/migration.rb +13 -0
  187. data/lib/rails_generator/generators/components/scaffold_resource/templates/model.rb +2 -0
  188. data/lib/rails_generator/generators/components/scaffold_resource/templates/style.css +74 -0
  189. data/lib/rails_generator/generators/components/scaffold_resource/templates/unit_test.rb +10 -0
  190. data/lib/rails_generator/generators/components/scaffold_resource/templates/view_edit.rhtml +19 -0
  191. data/lib/rails_generator/generators/components/scaffold_resource/templates/view_index.rhtml +24 -0
  192. data/lib/rails_generator/generators/components/scaffold_resource/templates/view_new.rhtml +18 -0
  193. data/lib/rails_generator/generators/components/scaffold_resource/templates/view_show.rhtml +10 -0
  194. data/lib/rails_generator/generators/components/session_migration/USAGE +15 -0
  195. data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +18 -0
  196. data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +16 -0
  197. data/lib/rails_generator/generators/components/web_service/USAGE +28 -0
  198. data/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +5 -0
  199. data/lib/rails_generator/generators/components/web_service/templates/controller.rb +8 -0
  200. data/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +19 -0
  201. data/lib/rails_generator/generators/components/web_service/web_service_generator.rb +29 -0
  202. data/lib/rails_generator/lookup.rb +209 -0
  203. data/lib/rails_generator/manifest.rb +53 -0
  204. data/lib/rails_generator/options.rb +143 -0
  205. data/lib/rails_generator/scripts.rb +83 -0
  206. data/lib/rails_generator/scripts/destroy.rb +7 -0
  207. data/lib/rails_generator/scripts/generate.rb +7 -0
  208. data/lib/rails_generator/scripts/update.rb +12 -0
  209. data/lib/rails_generator/simple_logger.rb +46 -0
  210. data/lib/rails_generator/spec.rb +44 -0
  211. data/lib/railties_path.rb +1 -0
  212. data/lib/ruby_version_check.rb +17 -0
  213. data/lib/rubyprof_ext.rb +35 -0
  214. data/lib/tasks/databases.rake +187 -0
  215. data/lib/tasks/documentation.rake +82 -0
  216. data/lib/tasks/framework.rake +112 -0
  217. data/lib/tasks/log.rake +9 -0
  218. data/lib/tasks/misc.rake +4 -0
  219. data/lib/tasks/pre_namespace_aliases.rake +53 -0
  220. data/lib/tasks/rails.rb +8 -0
  221. data/lib/tasks/statistics.rake +18 -0
  222. data/lib/tasks/testing.rake +120 -0
  223. data/lib/tasks/tmp.rake +37 -0
  224. data/lib/test_help.rb +19 -0
  225. data/lib/webrick_server.rb +166 -0
  226. data/libs/migration_helper.rb +11 -0
  227. data/migrations/001_create_logins.rb +22 -0
  228. data/migrations/002_create_admins.rb +16 -0
  229. data/migrations/003_create_roles.rb +13 -0
  230. data/migrations/004_create_tables.rb +11 -0
  231. data/migrations/005_create_attr_types.rb +13 -0
  232. data/migrations/006_create_table_fields.rb +22 -0
  233. data/migrations/007_create_tab_operations.rb +13 -0
  234. data/migrations/008_create_attr_operations.rb +13 -0
  235. data/migrations/009_create_tab_permissions.rb +21 -0
  236. data/migrations/010_create_attr_permissions.rb +21 -0
  237. data/migrations/011_create_relations.rb +23 -0
  238. data/migrations/012_create_scaffolds.rb +11 -0
  239. data/migrations/013_create_relation_permissions.rb +20 -0
  240. data/models/admin.rb +38 -0
  241. data/models/attr_operation.rb +3 -0
  242. data/models/attr_permission.rb +5 -0
  243. data/models/attr_type.rb +3 -0
  244. data/models/login.rb +51 -0
  245. data/models/relation.rb +5 -0
  246. data/models/relation_permission.rb +4 -0
  247. data/models/role.rb +13 -0
  248. data/models/scaffold.rb +2 -0
  249. data/models/tab_operation.rb +3 -0
  250. data/models/tab_permission.rb +5 -0
  251. data/models/table.rb +18 -0
  252. data/models/table_field.rb +6 -0
  253. data/plugins/redhillonrails_core/CHANGELOG +186 -0
  254. data/plugins/redhillonrails_core/MIT-LICENSE +20 -0
  255. data/plugins/redhillonrails_core/README +152 -0
  256. data/plugins/redhillonrails_core/init.rb +1 -0
  257. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/base.rb +54 -0
  258. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/abstract_adapter.rb +46 -0
  259. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/column.rb +21 -0
  260. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/foreign_key_definition.rb +26 -0
  261. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/index_definition.rb +11 -0
  262. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_adapter.rb +94 -0
  263. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_column.rb +8 -0
  264. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/postgresql_adapter.rb +131 -0
  265. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/schema_statements.rb +23 -0
  266. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/sqlite3_adapter.rb +9 -0
  267. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/table_definition.rb +27 -0
  268. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema.rb +25 -0
  269. data/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema_dumper.rb +58 -0
  270. data/plugins/redhillonrails_core/lib/redhillonrails_core.rb +19 -0
  271. data/plugins/redhillonrails_core/tasks/db/comments.rake +9 -0
  272. data/plugins/schema_validations/CHANGELOG +149 -0
  273. data/plugins/schema_validations/MIT-LICENSE +20 -0
  274. data/plugins/schema_validations/README +54 -0
  275. data/plugins/schema_validations/about.yml +5 -0
  276. data/plugins/schema_validations/init.rb +1 -0
  277. data/plugins/schema_validations/install.rb +1 -0
  278. data/plugins/schema_validations/lib/red_hill_consulting/schema_validations/active_record/base.rb +108 -0
  279. data/plugins/schema_validations/lib/schema_validations.rb +1 -0
  280. data/plugins/svn/README +69 -0
  281. data/plugins/svn/Rakefile +22 -0
  282. data/plugins/svn/assets/javascripts/live_validation.js +4 -0
  283. data/plugins/svn/assets/stylesheets/live_validation.css +28 -0
  284. data/plugins/svn/init.rb +2 -0
  285. data/plugins/svn/install.rb +1 -0
  286. data/plugins/svn/lib/form_helpers.rb +49 -0
  287. data/plugins/svn/lib/live_validations.rb +73 -0
  288. data/plugins/svn/tasks/live_validation_tasks.rake +17 -0
  289. data/plugins/svn/test/form_helpers_test.rb +214 -0
  290. data/plugins/svn/test/live_validations_test.rb +124 -0
  291. data/plugins/svn/test/resource.rb +17 -0
  292. data/plugins/svn/uninstall.rb +1 -0
  293. data/stylesheets/live_validation.css +28 -0
  294. data/stylesheets/print.css +72 -0
  295. data/stylesheets/scaffold.css +175 -0
  296. data/views/accounts/index.rhtml +12 -0
  297. data/views/accounts/show.rhtml +5 -0
  298. data/views/admin/_form.rhtml +15 -0
  299. data/views/admin/add_user.rhtml +21 -0
  300. data/views/admin/change_pwd.rhtml +23 -0
  301. data/views/admin/edit_user.rhtml +12 -0
  302. data/views/admin/index.rhtml +19 -0
  303. data/views/begin/index.rhtml +0 -0
  304. data/views/layouts/general.rhtml +59 -0
  305. data/views/layouts/login.rhtml +18 -0
  306. data/views/login/change_pwd.rhtml +21 -0
  307. data/views/login/expired_pwd.rhtml +19 -0
  308. data/views/login/index.rhtml +15 -0
  309. data/views/permission/index.rhtml +17 -0
  310. data/views/permission/relations.rhtml +28 -0
  311. data/views/permission/roles.rhtml +45 -0
  312. data/views/permission/tables.rhtml +53 -0
  313. data/views/roles/_form.rhtml +8 -0
  314. data/views/roles/edit.rhtml +11 -0
  315. data/views/roles/list.rhtml +28 -0
  316. data/views/roles/new.rhtml +8 -0
  317. data/views/roles/show.rhtml +14 -0
  318. data/views/shared_views/_advanced_search.rhtml +35 -0
  319. data/views/shared_views/_child_elements.rhtml +30 -0
  320. data/views/shared_views/_childs.rhtml +20 -0
  321. data/views/shared_views/_father_elements.rhtml +27 -0
  322. data/views/shared_views/_fathers.rhtml +21 -0
  323. data/views/shared_views/_fathers_header.rhtml +58 -0
  324. data/views/shared_views/_many_to_many_elements.rhtml +50 -0
  325. data/views/shared_views/_many_to_manys.rhtml +18 -0
  326. data/views/shared_views/_one_to_one_elements.rhtml +24 -0
  327. data/views/shared_views/_one_to_one_father_elements.rhtml +26 -0
  328. data/views/shared_views/_one_to_ones.rhtml +42 -0
  329. data/views/shared_views/_one_to_ones_header.rhtml +117 -0
  330. data/views/shared_views/edit_child.rhtml +89 -0
  331. data/views/shared_views/edit_many.rhtml +75 -0
  332. data/views/tables/_cascade.rhtml +10 -0
  333. data/views/tables/_field.rhtml +10 -0
  334. data/views/tables/_fk.rhtml +9 -0
  335. data/views/tables/_form.rhtml +9 -0
  336. data/views/tables/_join_table_name.rhtml +16 -0
  337. data/views/tables/_relation_types.rhtml +5 -0
  338. data/views/tables/_tables.rhtml +15 -0
  339. data/views/tables/attributes.rhtml +15 -0
  340. data/views/tables/edit.rhtml +11 -0
  341. data/views/tables/edit_field.rhtml +18 -0
  342. data/views/tables/list.rhtml +39 -0
  343. data/views/tables/new.rhtml +8 -0
  344. data/views/tables/new_field.rhtml +25 -0
  345. data/views/tables/relations.rhtml +24 -0
  346. data/views/tables/show.rhtml +24 -0
  347. metadata +518 -0
@@ -0,0 +1,19 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3-ruby
3
+ development:
4
+ adapter: sqlite3
5
+ database: db/development.sqlite3
6
+ timeout: 5000
7
+
8
+ # Warning: The database defined as 'test' will be erased and
9
+ # re-generated from your development database when you run 'rake'.
10
+ # Do not set this db to the same as development or production.
11
+ test:
12
+ adapter: sqlite3
13
+ database: db/test.sqlite3
14
+ timeout: 5000
15
+
16
+ production:
17
+ adapter: sqlite3
18
+ database: db/production.sqlite3
19
+ timeout: 5000
File without changes
@@ -0,0 +1,54 @@
1
+ # Default configuration file for the lighttpd web server
2
+ # Start using ./script/server lighttpd
3
+
4
+ server.bind = "0.0.0.0"
5
+ server.port = 3000
6
+
7
+ server.modules = ( "mod_rewrite", "mod_accesslog", "mod_fastcgi", "mod_compress", "mod_expire" )
8
+
9
+ server.error-handler-404 = "/dispatch.fcgi"
10
+ server.pid-file = CWD + "/tmp/pids/lighttpd.pid"
11
+ server.document-root = CWD + "/public/"
12
+
13
+ server.errorlog = CWD + "/log/lighttpd.error.log"
14
+ accesslog.filename = CWD + "/log/lighttpd.access.log"
15
+
16
+ url.rewrite = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )
17
+
18
+ compress.filetype = ( "text/plain", "text/html", "text/css", "text/javascript" )
19
+ compress.cache-dir = CWD + "/tmp/cache"
20
+
21
+ expire.url = ( "/favicon.ico" => "access 3 days",
22
+ "/images/" => "access 3 days",
23
+ "/stylesheets/" => "access 3 days",
24
+ "/javascripts/" => "access 3 days" )
25
+
26
+
27
+ # Change *-procs to 2 if you need to use Upload Progress or other tasks that
28
+ # *need* to execute a second request while the first is still pending.
29
+ fastcgi.server = ( ".fcgi" => ( "localhost" => (
30
+ "min-procs" => 1,
31
+ "max-procs" => 1,
32
+ "socket" => CWD + "/tmp/sockets/fcgi.socket",
33
+ "bin-path" => CWD + "/public/dispatch.fcgi",
34
+ "bin-environment" => ( "RAILS_ENV" => "development" )
35
+ ) ) )
36
+
37
+ mimetype.assign = (
38
+ ".css" => "text/css",
39
+ ".gif" => "image/gif",
40
+ ".htm" => "text/html",
41
+ ".html" => "text/html",
42
+ ".jpeg" => "image/jpeg",
43
+ ".jpg" => "image/jpeg",
44
+ ".js" => "text/javascript",
45
+ ".png" => "image/png",
46
+ ".swf" => "application/x-shockwave-flash",
47
+ ".txt" => "text/plain"
48
+ )
49
+
50
+ # Making sure file uploads above 64k always work when using IE or Safari
51
+ # For more information, see http://trac.lighttpd.net/trac/ticket/360
52
+ $HTTP["useragent"] =~ "^(.*MSIE.*)|(.*AppleWebKit.*)$" {
53
+ server.max-keep-alive-requests = 0
54
+ }
@@ -0,0 +1,23 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ # The priority is based upon order of creation: first created -> highest priority.
3
+
4
+ # Sample of regular route:
5
+ # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
6
+ # Keep in mind you can assign values other than :controller and :action
7
+
8
+ # Sample of named route:
9
+ # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
10
+ # This route can be invoked with purchase_url(:id => product.id)
11
+
12
+ # You can have the root of your site routed by hooking up ''
13
+ # -- just remember to delete public/index.html.
14
+ map.connect '', :controller => 'login'
15
+
16
+ # Allow downloading Web Service WSDL as a file with an extension
17
+ # instead of a file named 'wsdl'
18
+ map.connect ':controller/service.wsdl', :action => 'wsdl'
19
+
20
+ # Install the default route as the lowest priority.
21
+ map.connect ':controller/:action/:id.:format'
22
+ map.connect ':controller/:action/:id'
23
+ end
@@ -0,0 +1,11 @@
1
+ class AccountsController < ApplicationController
2
+
3
+ def index
4
+ @users=Login.find(:all,:order => "usernameMail")
5
+ end
6
+
7
+ def show
8
+ @user=Login.find(params[:id])
9
+ end
10
+
11
+ end
@@ -0,0 +1,76 @@
1
+ class AdminController < ApplicationController
2
+
3
+ layout 'login' #same login layout
4
+
5
+ skip_before_filter :privileges #else before_filter for index actions deny the logout
6
+ skip_before_filter :find_relations #else an exception will be thrown
7
+ before_filter :authorize, :except => [:index,:log_admin]
8
+
9
+ def log_admin
10
+ session[:superuser] = nil
11
+ session[:name] = nil
12
+ if request.post?
13
+ login = Admin.autentica(params[:username].to_s,params[:password].to_s) if !params[:username].nil? and !params[:password].nil?
14
+ if login
15
+ session[:superuser] = true
16
+ session[:name] = "superuser"
17
+ redirect_to(:controller => "begin")
18
+ else
19
+ flash[:notice] = "Username/password wrong!"
20
+ redirect_to(:action => "index")
21
+ end
22
+ else
23
+ redirect_to(:action => "index")
24
+ end
25
+ end
26
+
27
+ def change_pwd
28
+ if request.post?
29
+ @admin = Admin.find(:first)
30
+ Admin.check_pwd(@admin.password,params[:admin][:password])
31
+ if @admin.update_attributes(params[:admin])
32
+ flash[:notice]="Password changed!"
33
+ redirect_to :action => 'index', :controller => 'begin'
34
+ else
35
+ render :action => 'change_pwd'
36
+ end
37
+
38
+ end
39
+ end
40
+
41
+ def add_user
42
+ @login=Login.new
43
+ @roles = Role.find(:all, :order => "role" ).map {|r| [r.role,r.id] }
44
+ end
45
+
46
+ def create_user
47
+ @login=Login.new(params[:login])
48
+ @roles = Role.find(:all, :order => "role" ).map {|r| [r.role,r.id] }
49
+ @login.passwordLastChanged=Time.now
50
+ @login.expired="n"
51
+ @login.flagFirstEntry="s"
52
+ if @login.save
53
+ flash[:notice]="User's account succesfully created."
54
+ redirect_to :controller => 'accounts'
55
+ else
56
+ render :action => "add_user"
57
+ end
58
+ end
59
+
60
+ def edit_user
61
+ @login=Login.find(params[:id])
62
+ @roles = Role.find(:all, :order => "role" ).map {|r| [r.role,r.id] }
63
+ end
64
+
65
+ def update_user
66
+ @login=Login.find(params[:id])
67
+ @roles = Role.find(:all, :order => "role" ).map {|r| [r.role,r.id] }
68
+ if @login.update_attributes(params[:login])
69
+ flash[:notice]="User's account succesfully updated."
70
+ redirect_to :controller => 'accounts'
71
+ else
72
+ render :action => "edit_user"
73
+ end
74
+ end
75
+
76
+ end
@@ -0,0 +1,5 @@
1
+ class BeginController < ApplicationController
2
+
3
+ skip_before_filter :privileges
4
+
5
+ end
@@ -0,0 +1,101 @@
1
+ class LoginController < ApplicationController
2
+
3
+ skip_before_filter :privileges #else before_filter for index actions deny the logout
4
+ skip_before_filter :find_relations #else an exception will be thrown
5
+ before_filter :authorize, :except => [:index,:login]
6
+
7
+ def login
8
+ session[:name] = nil
9
+ session[:username] = nil
10
+ if request.post?
11
+ login = Login.autentica(params[:usernameMail].to_s,params[:password].to_s) if !params[:usernameMail].nil? and !params[:password].nil?
12
+ if login
13
+ if login.flagFirstEntry == "s"
14
+ session[:username] = login.usernameMail
15
+ flash[:notice] = "This is your first access. Please change the password."
16
+ redirect_to(:action => "change_pwd", :id => login)
17
+ elsif login.passwordLastChanged < 180.days.ago or login.lastAccess < 180.days.ago
18
+ login.expired = "s"
19
+ login.password = params[:password]
20
+ login.save
21
+ session[:username] = login.usernameMail
22
+ flash[:notice] = "Password expired!Please change it."
23
+ redirect_to(:action => "expired_pwd", :id => login)
24
+ else
25
+ session[:name] = login.username
26
+ session[:username] = login.usernameMail
27
+ session[:user_id] = login.id
28
+ login.lastAccess = Time.now
29
+ login.password = params[:password]
30
+ login.save
31
+ redirect_to(:controller => "begin")
32
+ end
33
+ else
34
+ flash[:notice] = "Username/password wrong!"
35
+ redirect_to(:action => "index")
36
+ end
37
+ else
38
+ redirect_to(:action => "index")
39
+ end
40
+ end
41
+
42
+ def logout
43
+ reset_session
44
+ flash[:notice] = "Logout done succesfully."
45
+ redirect_to :action => "index"
46
+ end
47
+
48
+ def change_pwd
49
+ if !params[:id].nil?
50
+ @user=Login.find(params[:id])
51
+ if request.post?
52
+ Login.check_pwd(@user.password,params[:login][:password])
53
+ @user.flagFirstEntry = "n"
54
+ @user.passwordLastChanged = Time.now
55
+ @user.lastAccess = Time.now
56
+ if @user.update_attributes(params[:login])
57
+ if session[:admin]
58
+ flash[:notice]="Password changed!"
59
+ redirect_to :action => 'index', :controller => 'begin'
60
+ else
61
+ reset_session
62
+ flash[:notice]="Password changed! Please re-login."
63
+ redirect_to :action => 'index'
64
+ end
65
+ else
66
+ render :action => 'change_pwd'
67
+ end
68
+
69
+ end
70
+ else
71
+ flash[:notice]="Can't change the password without an id!"
72
+ redirect_to :action => 'index'
73
+ end
74
+ end
75
+
76
+ def expired_pwd
77
+ if !params[:id].nil?
78
+ @user=Login.find(params[:id])
79
+ if request.post?
80
+ Login.check_pwd(@user.password,params[:login][:password])
81
+ @user.passwordLastChanged = Time.now
82
+ @user.lastAccess = Time.now
83
+ @user.expired = "n"
84
+ if @user.update_attributes(params[:login])
85
+ reset_session
86
+ flash[:notice]="Password changed! Please re-login."
87
+ redirect_to :action => 'index'
88
+ else
89
+ render :action => 'expired_pwd'
90
+ end
91
+ else
92
+ render :action => 'expired_pwd'
93
+ end
94
+ else
95
+ flash[:notice]="Can't change the password without an id!"
96
+ redirect_to :action => 'index'
97
+ end
98
+ end
99
+
100
+
101
+ end
@@ -0,0 +1,91 @@
1
+ class PermissionController < ApplicationController
2
+
3
+ def tables
4
+ @roles=Role.find(:all)
5
+ @tables=Table.find(:all,:include => :table_fields)
6
+ @tab_op=TabOperation.find(:all)
7
+ @field_op=AttrOperation.find(:all)
8
+ end
9
+
10
+ def roles
11
+ @roles=Role.find(:all,:order => "role")
12
+ @tables=Table.find(:all,:include => :table_fields)
13
+ @tab_op=TabOperation.find(:all)
14
+ @field_op=AttrOperation.find(:all)
15
+ end
16
+
17
+ def save
18
+ TabPermission.transaction do
19
+ #updating table-level permissions, empting the table and then re-fill it
20
+ TabPermission.destroy_all
21
+ @all=params[:table]
22
+ unless @all.nil?
23
+ @all.each do |one|
24
+ #from something like (role,table_name,operation) to ([role],[table_name],[operation])
25
+ values=one.split(',')
26
+ TabPermission.create(
27
+ :role_id => values[0],
28
+ :table_id => values[1],
29
+ :tab_operation_id => values[2]
30
+ )
31
+ end
32
+ end
33
+
34
+ #updating field-level permissions, empting the table and then re-fill it
35
+ AttrPermission.destroy_all
36
+ @all=params[:field]
37
+ unless @all.nil?
38
+ @all.each do |one|
39
+ #from something like (role,table_name,operation) to ([role],[table_name],[operation])
40
+ values=one.split(',')
41
+ AttrPermission.create(
42
+ :role_id => values[0],
43
+ :table_field_id => values[1],
44
+ :attr_operation_id => values[2]
45
+ )
46
+ end
47
+ end
48
+ end
49
+
50
+ flash[:notice] = "Changes saved."
51
+ redirect_to(:action => "index")
52
+ end
53
+
54
+ def relations
55
+ @relations=Relation.find(:all, :conditions => "for_join_table <> \"yes\"")
56
+ @roles=Role.find(:all,:order => "role")
57
+ end
58
+
59
+ def save_relations
60
+ RelationPermission.transaction do
61
+ RelationPermission.destroy_all
62
+ @all=params[:rel_permission]
63
+ unless @all.nil?
64
+ @all.each do |one|
65
+ #from (relation,role) to ([relation],[role])
66
+ values=one.split(',')
67
+ RelationPermission.create(
68
+ :relation_id => values[0],
69
+ :role_id => values[1],
70
+ :action => values[4]
71
+ )
72
+ #if the relation is many to many we need to add relations between join table and the related tables
73
+ if values[2]=="many-to-many"
74
+ relation=Relation.find_all_by_join_table_and_for_join_table(values[3],"yes")
75
+ relation.each {|r|
76
+ RelationPermission.create(
77
+ :relation_id => r.id,
78
+ :role_id => values[1],
79
+ :action => values[4]
80
+ )
81
+ }
82
+
83
+ end
84
+ end
85
+ end
86
+ end
87
+ flash[:notice] = "Changes saved."
88
+ redirect_to(:action => "index")
89
+ end
90
+
91
+ end
@@ -0,0 +1,58 @@
1
+ class RolesController < ApplicationController
2
+
3
+ def index
4
+ list
5
+ render :action => 'list'
6
+ end
7
+
8
+ # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
9
+ verify :method => :post, :only => [ :destroy, :create, :update ],
10
+ :redirect_to => { :action => :list }
11
+
12
+ verify :session => :superuser, :redirect_to => {:controller => :admin}, :add_flash => {:notice => "Please login first!"}
13
+
14
+ skip_before_filter :authorize
15
+
16
+ def list
17
+ @role_pages, @roles = paginate :roles, :per_page => 10
18
+ end
19
+
20
+ def show
21
+ @role = Role.find(params[:id])
22
+ end
23
+
24
+ def new
25
+ @role = Role.new
26
+ end
27
+
28
+ def create
29
+ @role = Role.new(params[:role])
30
+ if @role.save
31
+ flash[:notice] = 'Role was succesfully created.'
32
+ redirect_to :action => 'list'
33
+ else
34
+ render :action => 'new'
35
+ end
36
+ end
37
+
38
+ def edit
39
+ @role = Role.find(params[:id])
40
+ end
41
+
42
+ def update
43
+ @role = Role.find(params[:id])
44
+ if @role.update_attributes(params[:role])
45
+ flash[:notice] = 'Role was successfully updated.'
46
+ redirect_to :action => 'list'
47
+ else
48
+ render :action => 'edit'
49
+ end
50
+ end
51
+
52
+ def destroy
53
+ Role.find(params[:id]).destroy
54
+ flash[:notice] = 'Role was succesfully deleted.'
55
+ redirect_to :action => 'list'
56
+ end
57
+
58
+ end