activeldap 1.2.3 → 1.2.4

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 (319) hide show
  1. data/CHANGES +6 -0
  2. data/README +1 -0
  3. data/lib/active_ldap/get_text_support.rb +3 -1
  4. data/lib/active_ldap.rb +1 -1
  5. metadata +5 -321
  6. data/examples/al-admin/README +0 -182
  7. data/examples/al-admin/Rakefile +0 -16
  8. data/examples/al-admin/app/controllers/account_controller.rb +0 -60
  9. data/examples/al-admin/app/controllers/application_controller.rb +0 -46
  10. data/examples/al-admin/app/controllers/attributes_controller.rb +0 -17
  11. data/examples/al-admin/app/controllers/directory_controller.rb +0 -49
  12. data/examples/al-admin/app/controllers/object_classes_controller.rb +0 -17
  13. data/examples/al-admin/app/controllers/syntaxes_controller.rb +0 -17
  14. data/examples/al-admin/app/controllers/users_controller.rb +0 -66
  15. data/examples/al-admin/app/controllers/welcome_controller.rb +0 -12
  16. data/examples/al-admin/app/helpers/account_helper.rb +0 -2
  17. data/examples/al-admin/app/helpers/application_helper.rb +0 -46
  18. data/examples/al-admin/app/helpers/attributes_helper.rb +0 -15
  19. data/examples/al-admin/app/helpers/directory_helper.rb +0 -7
  20. data/examples/al-admin/app/helpers/object_classes_helper.rb +0 -10
  21. data/examples/al-admin/app/helpers/syntaxes_helper.rb +0 -10
  22. data/examples/al-admin/app/helpers/url_helper.rb +0 -17
  23. data/examples/al-admin/app/helpers/users_helper.rb +0 -17
  24. data/examples/al-admin/app/helpers/welcome_helper.rb +0 -2
  25. data/examples/al-admin/app/models/entry.rb +0 -23
  26. data/examples/al-admin/app/models/ldap_user.rb +0 -58
  27. data/examples/al-admin/app/models/user.rb +0 -91
  28. data/examples/al-admin/app/views/_entry/_attributes_information.html.erb +0 -29
  29. data/examples/al-admin/app/views/_entry/_entry.html.erb +0 -15
  30. data/examples/al-admin/app/views/_schema/_aliases.html.erb +0 -7
  31. data/examples/al-admin/app/views/_switcher/_after.html.erb +0 -2
  32. data/examples/al-admin/app/views/_switcher/_before.html.erb +0 -5
  33. data/examples/al-admin/app/views/account/login.html.erb +0 -26
  34. data/examples/al-admin/app/views/account/sign_up.html.erb +0 -29
  35. data/examples/al-admin/app/views/attributes/_attributes.html.erb +0 -19
  36. data/examples/al-admin/app/views/attributes/_detail.html.erb +0 -29
  37. data/examples/al-admin/app/views/attributes/index.html.erb +0 -3
  38. data/examples/al-admin/app/views/attributes/show.html.erb +0 -31
  39. data/examples/al-admin/app/views/directory/_tree.html.erb +0 -10
  40. data/examples/al-admin/app/views/directory/_tree_view_js.html.erb +0 -25
  41. data/examples/al-admin/app/views/directory/index.html.erb +0 -13
  42. data/examples/al-admin/app/views/directory/populate.html.erb +0 -2
  43. data/examples/al-admin/app/views/layouts/_footer.html.erb +0 -11
  44. data/examples/al-admin/app/views/layouts/_header_menu.html.erb +0 -10
  45. data/examples/al-admin/app/views/layouts/_main_menu.html.erb +0 -18
  46. data/examples/al-admin/app/views/layouts/application.html.erb +0 -57
  47. data/examples/al-admin/app/views/object_classes/_attributes.html.erb +0 -28
  48. data/examples/al-admin/app/views/object_classes/_object_classes.html.erb +0 -19
  49. data/examples/al-admin/app/views/object_classes/index.html.erb +0 -3
  50. data/examples/al-admin/app/views/object_classes/show.html.erb +0 -39
  51. data/examples/al-admin/app/views/syntaxes/_detail.html.erb +0 -14
  52. data/examples/al-admin/app/views/syntaxes/_syntaxes.html.erb +0 -19
  53. data/examples/al-admin/app/views/syntaxes/index.html.erb +0 -3
  54. data/examples/al-admin/app/views/syntaxes/show.html.erb +0 -22
  55. data/examples/al-admin/app/views/users/_attributes_update_form.html.erb +0 -42
  56. data/examples/al-admin/app/views/users/_form.html.erb +0 -13
  57. data/examples/al-admin/app/views/users/_object_classes_update_form.html.erb +0 -46
  58. data/examples/al-admin/app/views/users/_password_change_form.html.erb +0 -20
  59. data/examples/al-admin/app/views/users/edit.html.erb +0 -15
  60. data/examples/al-admin/app/views/users/index.html.erb +0 -10
  61. data/examples/al-admin/app/views/users/show.html.erb +0 -11
  62. data/examples/al-admin/app/views/welcome/index.html.erb +0 -13
  63. data/examples/al-admin/config/boot.rb +0 -110
  64. data/examples/al-admin/config/database.yml.example +0 -19
  65. data/examples/al-admin/config/environment.rb +0 -73
  66. data/examples/al-admin/config/environments/development.rb +0 -17
  67. data/examples/al-admin/config/environments/production.rb +0 -24
  68. data/examples/al-admin/config/environments/test.rb +0 -22
  69. data/examples/al-admin/config/initializers/exception_notifier.rb +0 -2
  70. data/examples/al-admin/config/initializers/fast_gettext.rb +0 -3
  71. data/examples/al-admin/config/initializers/inflections.rb +0 -10
  72. data/examples/al-admin/config/initializers/mime_types.rb +0 -5
  73. data/examples/al-admin/config/initializers/session_store.rb +0 -23
  74. data/examples/al-admin/config/ldap.yml.example +0 -21
  75. data/examples/al-admin/config/routes.rb +0 -58
  76. data/examples/al-admin/config/session_secret.txt +0 -1
  77. data/examples/al-admin/config.ru +0 -7
  78. data/examples/al-admin/db/migrate/001_create_users.rb +0 -16
  79. data/examples/al-admin/db/schema.rb +0 -23
  80. data/examples/al-admin/lib/authenticated_system.rb +0 -124
  81. data/examples/al-admin/lib/authenticated_test_helper.rb +0 -113
  82. data/examples/al-admin/lib/ldap_test_helper.rb +0 -38
  83. data/examples/al-admin/lib/tasks/testing.rake +0 -10
  84. data/examples/al-admin/po/en/al-admin.po +0 -343
  85. data/examples/al-admin/po/ja/al-admin.po +0 -343
  86. data/examples/al-admin/po/nl/al-admin.po +0 -380
  87. data/examples/al-admin/public/.htaccess +0 -40
  88. data/examples/al-admin/public/404.html +0 -30
  89. data/examples/al-admin/public/500.html +0 -30
  90. data/examples/al-admin/public/dispatch.cgi +0 -10
  91. data/examples/al-admin/public/dispatch.fcgi +0 -24
  92. data/examples/al-admin/public/dispatch.rb +0 -10
  93. data/examples/al-admin/public/favicon.ico +0 -0
  94. data/examples/al-admin/public/images/active-ldap.svg +0 -6351
  95. data/examples/al-admin/public/images/al-admin.png +0 -0
  96. data/examples/al-admin/public/images/al-admin.svg +0 -6371
  97. data/examples/al-admin/public/images/header-background.png +0 -0
  98. data/examples/al-admin/public/images/header-background.svg +0 -99
  99. data/examples/al-admin/public/images/rails.png +0 -0
  100. data/examples/al-admin/public/images/spinelz/accordion_tab_left_active.gif +0 -0
  101. data/examples/al-admin/public/images/spinelz/accordion_tab_left_inactive.gif +0 -0
  102. data/examples/al-admin/public/images/spinelz/accordion_tab_middle_active.gif +0 -0
  103. data/examples/al-admin/public/images/spinelz/accordion_tab_middle_inactive.gif +0 -0
  104. data/examples/al-admin/public/images/spinelz/accordion_tab_right_active.gif +0 -0
  105. data/examples/al-admin/public/images/spinelz/accordion_tab_right_inactive.gif +0 -0
  106. data/examples/al-admin/public/images/spinelz/balloon_back.gif +0 -0
  107. data/examples/al-admin/public/images/spinelz/balloon_bottom_left.gif +0 -0
  108. data/examples/al-admin/public/images/spinelz/balloon_bottom_middle.gif +0 -0
  109. data/examples/al-admin/public/images/spinelz/balloon_bottom_right.gif +0 -0
  110. data/examples/al-admin/public/images/spinelz/balloon_left_down_arrow.gif +0 -0
  111. data/examples/al-admin/public/images/spinelz/balloon_left_up_arrow.gif +0 -0
  112. data/examples/al-admin/public/images/spinelz/balloon_middle_left.gif +0 -0
  113. data/examples/al-admin/public/images/spinelz/balloon_middle_right.gif +0 -0
  114. data/examples/al-admin/public/images/spinelz/balloon_right_down_arrow.gif +0 -0
  115. data/examples/al-admin/public/images/spinelz/balloon_right_up_arrow.gif +0 -0
  116. data/examples/al-admin/public/images/spinelz/balloon_top_left.gif +0 -0
  117. data/examples/al-admin/public/images/spinelz/balloon_top_middle.gif +0 -0
  118. data/examples/al-admin/public/images/spinelz/balloon_top_right.gif +0 -0
  119. data/examples/al-admin/public/images/spinelz/barchart_h.gif +0 -0
  120. data/examples/al-admin/public/images/spinelz/barchart_v.gif +0 -0
  121. data/examples/al-admin/public/images/spinelz/button.gif +0 -0
  122. data/examples/al-admin/public/images/spinelz/calendar_default_handler.gif +0 -0
  123. data/examples/al-admin/public/images/spinelz/calendar_delete.gif +0 -0
  124. data/examples/al-admin/public/images/spinelz/calendar_next.gif +0 -0
  125. data/examples/al-admin/public/images/spinelz/calendar_next_second.gif +0 -0
  126. data/examples/al-admin/public/images/spinelz/calendar_pre.gif +0 -0
  127. data/examples/al-admin/public/images/spinelz/calendar_pre_second.gif +0 -0
  128. data/examples/al-admin/public/images/spinelz/calendar_private_icon.gif +0 -0
  129. data/examples/al-admin/public/images/spinelz/calendar_schedule.gif +0 -0
  130. data/examples/al-admin/public/images/spinelz/calender_back.gif +0 -0
  131. data/examples/al-admin/public/images/spinelz/calender_back_second.gif +0 -0
  132. data/examples/al-admin/public/images/spinelz/datepicker2_back.gif +0 -0
  133. data/examples/al-admin/public/images/spinelz/datepicker2_back_second.gif +0 -0
  134. data/examples/al-admin/public/images/spinelz/datepicker2_next.gif +0 -0
  135. data/examples/al-admin/public/images/spinelz/datepicker2_next_second.gif +0 -0
  136. data/examples/al-admin/public/images/spinelz/datepicker2_pre.gif +0 -0
  137. data/examples/al-admin/public/images/spinelz/datepicker2_pre_second.gif +0 -0
  138. data/examples/al-admin/public/images/spinelz/datepicker_back.gif +0 -0
  139. data/examples/al-admin/public/images/spinelz/datepicker_back_second.gif +0 -0
  140. data/examples/al-admin/public/images/spinelz/datepicker_next.gif +0 -0
  141. data/examples/al-admin/public/images/spinelz/datepicker_next_second.gif +0 -0
  142. data/examples/al-admin/public/images/spinelz/datepicker_pre.gif +0 -0
  143. data/examples/al-admin/public/images/spinelz/datepicker_pre_second.gif +0 -0
  144. data/examples/al-admin/public/images/spinelz/grid_down.gif +0 -0
  145. data/examples/al-admin/public/images/spinelz/grid_state.gif +0 -0
  146. data/examples/al-admin/public/images/spinelz/grid_up.gif +0 -0
  147. data/examples/al-admin/public/images/spinelz/icon_day.gif +0 -0
  148. data/examples/al-admin/public/images/spinelz/icon_month.gif +0 -0
  149. data/examples/al-admin/public/images/spinelz/icon_week.gif +0 -0
  150. data/examples/al-admin/public/images/spinelz/menubar_back.gif +0 -0
  151. data/examples/al-admin/public/images/spinelz/menubar_subcontents_back.gif +0 -0
  152. data/examples/al-admin/public/images/spinelz/navPanel_tab_left_active.gif +0 -0
  153. data/examples/al-admin/public/images/spinelz/navPanel_tab_left_inactive.gif +0 -0
  154. data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_active.gif +0 -0
  155. data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_inactive.gif +0 -0
  156. data/examples/al-admin/public/images/spinelz/navPanel_tab_right_active.gif +0 -0
  157. data/examples/al-admin/public/images/spinelz/navPanel_tab_right_inactive.gif +0 -0
  158. data/examples/al-admin/public/images/spinelz/select_date.gif +0 -0
  159. data/examples/al-admin/public/images/spinelz/selectabletable_selected.gif +0 -0
  160. data/examples/al-admin/public/images/spinelz/sideBarBox_about.gif +0 -0
  161. data/examples/al-admin/public/images/spinelz/sideBarBox_menu.gif +0 -0
  162. data/examples/al-admin/public/images/spinelz/sideBarBox_sample.gif +0 -0
  163. data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomActive.gif +0 -0
  164. data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomInactive.gif +0 -0
  165. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive.gif +0 -0
  166. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive2.gif +0 -0
  167. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive.gif +0 -0
  168. data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive2.gif +0 -0
  169. data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopActive.gif +0 -0
  170. data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopInactive.gif +0 -0
  171. data/examples/al-admin/public/images/spinelz/sideBarBox_tabbar.gif +0 -0
  172. data/examples/al-admin/public/images/spinelz/sortableTable_down.gif +0 -0
  173. data/examples/al-admin/public/images/spinelz/sortableTable_normal.gif +0 -0
  174. data/examples/al-admin/public/images/spinelz/sortableTable_up.gif +0 -0
  175. data/examples/al-admin/public/images/spinelz/switcher_close.gif +0 -0
  176. data/examples/al-admin/public/images/spinelz/switcher_open.gif +0 -0
  177. data/examples/al-admin/public/images/spinelz/tabBox_close.gif +0 -0
  178. data/examples/al-admin/public/images/spinelz/tabBox_tabLeftActive.gif +0 -0
  179. data/examples/al-admin/public/images/spinelz/tabBox_tabLeftInactive.gif +0 -0
  180. data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleActive.gif +0 -0
  181. data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleInactive.gif +0 -0
  182. data/examples/al-admin/public/images/spinelz/tabBox_tabRightActive.gif +0 -0
  183. data/examples/al-admin/public/images/spinelz/tabBox_tabRightInactive.gif +0 -0
  184. data/examples/al-admin/public/images/spinelz/tab_bar.gif +0 -0
  185. data/examples/al-admin/public/images/spinelz/table_back.gif +0 -0
  186. data/examples/al-admin/public/images/spinelz/timepicker_clock.gif +0 -0
  187. data/examples/al-admin/public/images/spinelz/toolbar_close.gif +0 -0
  188. data/examples/al-admin/public/images/spinelz/toolbar_left.gif +0 -0
  189. data/examples/al-admin/public/images/spinelz/toolbar_max.gif +0 -0
  190. data/examples/al-admin/public/images/spinelz/toolbar_middle.gif +0 -0
  191. data/examples/al-admin/public/images/spinelz/toolbar_min.gif +0 -0
  192. data/examples/al-admin/public/images/spinelz/toolbar_next.gif +0 -0
  193. data/examples/al-admin/public/images/spinelz/toolbar_right.gif +0 -0
  194. data/examples/al-admin/public/images/spinelz/treeview_dir.gif +0 -0
  195. data/examples/al-admin/public/images/spinelz/treeview_file.gif +0 -0
  196. data/examples/al-admin/public/images/spinelz/treeview_group.gif +0 -0
  197. data/examples/al-admin/public/images/spinelz/treeview_group_special.gif +0 -0
  198. data/examples/al-admin/public/images/spinelz/treeview_state.gif +0 -0
  199. data/examples/al-admin/public/images/spinelz/treeview_user.gif +0 -0
  200. data/examples/al-admin/public/images/spinelz/window_bottom_left.gif +0 -0
  201. data/examples/al-admin/public/images/spinelz/window_bottom_middle.gif +0 -0
  202. data/examples/al-admin/public/images/spinelz/window_bottom_right.gif +0 -0
  203. data/examples/al-admin/public/images/spinelz/window_close.gif +0 -0
  204. data/examples/al-admin/public/images/spinelz/window_max.gif +0 -0
  205. data/examples/al-admin/public/images/spinelz/window_middle_left.gif +0 -0
  206. data/examples/al-admin/public/images/spinelz/window_middle_right.gif +0 -0
  207. data/examples/al-admin/public/images/spinelz/window_min.gif +0 -0
  208. data/examples/al-admin/public/images/spinelz/window_top_left.gif +0 -0
  209. data/examples/al-admin/public/images/spinelz/window_top_middle.gif +0 -0
  210. data/examples/al-admin/public/images/spinelz/window_top_right.gif +0 -0
  211. data/examples/al-admin/public/javascripts/application.js +0 -2
  212. data/examples/al-admin/public/javascripts/controls.js +0 -963
  213. data/examples/al-admin/public/javascripts/dragdrop.js +0 -973
  214. data/examples/al-admin/public/javascripts/effects.js +0 -1128
  215. data/examples/al-admin/public/javascripts/prototype.js +0 -4320
  216. data/examples/al-admin/public/javascripts/spinelz/accordion.js +0 -185
  217. data/examples/al-admin/public/javascripts/spinelz/ajaxHistory.js +0 -157
  218. data/examples/al-admin/public/javascripts/spinelz/balloon.js +0 -287
  219. data/examples/al-admin/public/javascripts/spinelz/barchart.js +0 -524
  220. data/examples/al-admin/public/javascripts/spinelz/calendar.js +0 -3012
  221. data/examples/al-admin/public/javascripts/spinelz/colorpicker.js +0 -128
  222. data/examples/al-admin/public/javascripts/spinelz/datepicker.js +0 -438
  223. data/examples/al-admin/public/javascripts/spinelz/grid.js +0 -1391
  224. data/examples/al-admin/public/javascripts/spinelz/grid_resizeEx.js +0 -100
  225. data/examples/al-admin/public/javascripts/spinelz/grid_sortabletableEx.js +0 -129
  226. data/examples/al-admin/public/javascripts/spinelz/inplaceEditorEx.js +0 -148
  227. data/examples/al-admin/public/javascripts/spinelz/menubar.js +0 -232
  228. data/examples/al-admin/public/javascripts/spinelz/navPanel.js +0 -170
  229. data/examples/al-admin/public/javascripts/spinelz/selectableTable.js +0 -433
  230. data/examples/al-admin/public/javascripts/spinelz/sideBarBox.js +0 -282
  231. data/examples/al-admin/public/javascripts/spinelz/sideBarBox_effects.js +0 -83
  232. data/examples/al-admin/public/javascripts/spinelz/sortableTable.js +0 -270
  233. data/examples/al-admin/public/javascripts/spinelz/switcher.js +0 -78
  234. data/examples/al-admin/public/javascripts/spinelz/tabBox.js +0 -469
  235. data/examples/al-admin/public/javascripts/spinelz/timepicker.js +0 -384
  236. data/examples/al-admin/public/javascripts/spinelz/toolbar.js +0 -152
  237. data/examples/al-admin/public/javascripts/spinelz/treeview.js +0 -703
  238. data/examples/al-admin/public/javascripts/spinelz/window.js +0 -641
  239. data/examples/al-admin/public/javascripts/spinelz/window_resizeEx.js +0 -130
  240. data/examples/al-admin/public/javascripts/spinelz_lib/builder.js +0 -131
  241. data/examples/al-admin/public/javascripts/spinelz_lib/controls.js +0 -835
  242. data/examples/al-admin/public/javascripts/spinelz_lib/dragdrop.js +0 -944
  243. data/examples/al-admin/public/javascripts/spinelz_lib/effects.js +0 -1090
  244. data/examples/al-admin/public/javascripts/spinelz_lib/json.js +0 -139
  245. data/examples/al-admin/public/javascripts/spinelz_lib/prototype.js +0 -2515
  246. data/examples/al-admin/public/javascripts/spinelz_lib/resize.js +0 -215
  247. data/examples/al-admin/public/javascripts/spinelz_lib/scriptaculous.js +0 -51
  248. data/examples/al-admin/public/javascripts/spinelz_lib/slider.js +0 -278
  249. data/examples/al-admin/public/javascripts/spinelz_lib/spinelz_util.js +0 -1266
  250. data/examples/al-admin/public/javascripts/spinelz_lib/unittest.js +0 -564
  251. data/examples/al-admin/public/robots.txt +0 -1
  252. data/examples/al-admin/public/stylesheets/account.css +0 -41
  253. data/examples/al-admin/public/stylesheets/attributes.css +0 -1
  254. data/examples/al-admin/public/stylesheets/base.css +0 -104
  255. data/examples/al-admin/public/stylesheets/detail.css +0 -36
  256. data/examples/al-admin/public/stylesheets/directory.css +0 -22
  257. data/examples/al-admin/public/stylesheets/object-classes.css +0 -6
  258. data/examples/al-admin/public/stylesheets/rails.css +0 -35
  259. data/examples/al-admin/public/stylesheets/spinelz/accordion.css +0 -59
  260. data/examples/al-admin/public/stylesheets/spinelz/balloon.css +0 -151
  261. data/examples/al-admin/public/stylesheets/spinelz/calendar.css +0 -564
  262. data/examples/al-admin/public/stylesheets/spinelz/datepicker.css +0 -175
  263. data/examples/al-admin/public/stylesheets/spinelz/grid.css +0 -137
  264. data/examples/al-admin/public/stylesheets/spinelz/menubar.css +0 -78
  265. data/examples/al-admin/public/stylesheets/spinelz/modal.css +0 -22
  266. data/examples/al-admin/public/stylesheets/spinelz/navPanel.css +0 -58
  267. data/examples/al-admin/public/stylesheets/spinelz/selectableTable.css +0 -28
  268. data/examples/al-admin/public/stylesheets/spinelz/sideBarBox.css +0 -82
  269. data/examples/al-admin/public/stylesheets/spinelz/sortableTable.css +0 -51
  270. data/examples/al-admin/public/stylesheets/spinelz/switcher.css +0 -23
  271. data/examples/al-admin/public/stylesheets/spinelz/tabBox.css +0 -94
  272. data/examples/al-admin/public/stylesheets/spinelz/timepicker.css +0 -508
  273. data/examples/al-admin/public/stylesheets/spinelz/toolbar.css +0 -82
  274. data/examples/al-admin/public/stylesheets/spinelz/treeview.css +0 -121
  275. data/examples/al-admin/public/stylesheets/spinelz/window.css +0 -140
  276. data/examples/al-admin/public/stylesheets/structure.css +0 -81
  277. data/examples/al-admin/public/stylesheets/syntaxes.css +0 -1
  278. data/examples/al-admin/public/stylesheets/users.css +0 -13
  279. data/examples/al-admin/public/stylesheets/welcome.css +0 -0
  280. data/examples/al-admin/script/about +0 -3
  281. data/examples/al-admin/script/console +0 -3
  282. data/examples/al-admin/script/dbconsole +0 -3
  283. data/examples/al-admin/script/destroy +0 -3
  284. data/examples/al-admin/script/generate +0 -3
  285. data/examples/al-admin/script/performance/benchmarker +0 -3
  286. data/examples/al-admin/script/performance/profiler +0 -3
  287. data/examples/al-admin/script/performance/request +0 -3
  288. data/examples/al-admin/script/plugin +0 -3
  289. data/examples/al-admin/script/process/inspector +0 -3
  290. data/examples/al-admin/script/process/reaper +0 -3
  291. data/examples/al-admin/script/process/spawner +0 -3
  292. data/examples/al-admin/script/runner +0 -3
  293. data/examples/al-admin/script/server +0 -3
  294. data/examples/al-admin/test/fixtures/users.yml +0 -9
  295. data/examples/al-admin/test/functional/account_controller_test.rb +0 -12
  296. data/examples/al-admin/test/functional/attributes_controller_test.rb +0 -8
  297. data/examples/al-admin/test/functional/directory_controller_test.rb +0 -8
  298. data/examples/al-admin/test/functional/object_classes_controller_test.rb +0 -8
  299. data/examples/al-admin/test/functional/syntaxes_controller_test.rb +0 -8
  300. data/examples/al-admin/test/functional/users_controller_test.rb +0 -8
  301. data/examples/al-admin/test/functional/welcome_controller_test.rb +0 -8
  302. data/examples/al-admin/test/integration/sign_up_test.rb +0 -44
  303. data/examples/al-admin/test/run-test.sh +0 -3
  304. data/examples/al-admin/test/test_helper.rb +0 -52
  305. data/examples/al-admin/test/unit/user_test.rb +0 -12
  306. data/examples/al-admin/vendor/plugins/exception_notification/README +0 -111
  307. data/examples/al-admin/vendor/plugins/exception_notification/init.rb +0 -1
  308. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifiable.rb +0 -99
  309. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier.rb +0 -66
  310. data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +0 -78
  311. data/examples/al-admin/vendor/plugins/exception_notification/test/exception_notifier_helper_test.rb +0 -61
  312. data/examples/al-admin/vendor/plugins/exception_notification/test/test_helper.rb +0 -7
  313. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_backtrace.rhtml +0 -1
  314. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +0 -7
  315. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_inspect_model.rhtml +0 -16
  316. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +0 -4
  317. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_session.rhtml +0 -2
  318. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_title.rhtml +0 -3
  319. data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/exception_notification.rhtml +0 -6
@@ -1,60 +0,0 @@
1
- class AccountController < ApplicationController
2
- before_filter :force_logout, :only => [:sign_up, :login, :logout]
3
-
4
- def index
5
- if logged_in?
6
- redirect_to(top_path)
7
- else
8
- redirect_to(:action => 'login')
9
- end
10
- end
11
-
12
- def login
13
- return unless request.post?
14
- self.current_user = User.authenticate(params[:login], params[:password])
15
- if logged_in?
16
- if params[:remember_me] == "1"
17
- current_user.remember_me
18
- cookies[:auth_token] = {
19
- :value => current_user.remember_token,
20
- :expires => current_user.remember_token_expires_at
21
- }
22
- end
23
- redirect_back_or_default(top_url)
24
- flash.now[:notice] = _("Logged in successfully")
25
- else
26
- flash.now[:notice] = _("Login or Password is incorrect")
27
- end
28
- end
29
-
30
- def sign_up
31
- @user = LdapUser.new(params[:user])
32
- @required_attributes = @user.must.collect(&:name)
33
- return unless request.post?
34
-
35
- if @user.save
36
- @system_user = User.create(:login => @user.id)
37
- unless @system_user.new_record?
38
- self.current_user = @system_user
39
- redirect_back_or_default(top_path)
40
- flash[:notice] = _("Thanks for signing up!")
41
- end
42
- end
43
- @user.password = @user.password_confirmation = nil
44
- end
45
-
46
- def logout
47
- flash[:notice] = _("You have been logged out.")
48
- redirect_back_or_default(top_path)
49
- end
50
-
51
- private
52
- def force_logout
53
- return true unless logged_in?
54
- current_user.forget_me
55
- self.current_user = nil
56
- cookies.delete :auth_token
57
- reset_session
58
- true
59
- end
60
- end
@@ -1,46 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- helper :all # include all helpers, all the time
6
-
7
- # See ActionController::RequestForgeryProtection for details
8
- # Uncomment the :secret if you're not using the cookie session store
9
- protect_from_forgery # :secret => '5965eefc93d824a9c145fe8edb6d1a36'
10
-
11
- include ExceptionNotifiable
12
-
13
- include AuthenticatedSystem
14
-
15
- before_filter :login_from_cookie
16
-
17
- before_filter :set_gettext_locale
18
-
19
- filter_parameter_logging :password, :password_confirmation
20
-
21
- private
22
- def default_url_options(options)
23
- default_options = {}
24
- lang = params["lang"]
25
- default_options["lang"] = lang if lang
26
- default_options.merge(options)
27
- end
28
-
29
- def current_ldap_user
30
- logged_in? ? current_user.ldap_user : nil
31
- end
32
-
33
- def schema
34
- @schema ||= current_ldap_user.schema
35
- end
36
-
37
- def authorized?
38
- current_ldap_user.connected?
39
- end
40
-
41
- def set_gettext_locale
42
- FastGettext.text_domain = 'al-admin'
43
- FastGettext.available_locales = ['en', 'ja', 'nl']
44
- super
45
- end
46
- end
@@ -1,17 +0,0 @@
1
- class AttributesController < ApplicationController
2
- before_filter :login_required
3
-
4
- def index
5
- @attributes = schema.attributes
6
- end
7
-
8
- def show
9
- key = params[:id].to_a.flatten.compact[0]
10
- raise ActiveRecord::RecordNotFound if key.nil?
11
- @attribute = schema.attributes.find do |attribute|
12
- attribute.name == key or
13
- attribute.id == key
14
- end
15
- raise ActiveRecord::RecordNotFound if @attribute.nil?
16
- end
17
- end
@@ -1,49 +0,0 @@
1
- class DirectoryController < ApplicationController
2
- before_filter :login_required, :except => [:populate]
3
- before_filter :empty_entries_required, :only => [:populate]
4
-
5
- verify :xhr => true, :only => [:entry],
6
- :render => {:text => "Bad Request", :status => 400}
7
-
8
- def index
9
- @root = Entry.root(find_options)
10
- end
11
-
12
- def entry
13
- dn = params[:dn]
14
- if Entry.base == dn
15
- @entry = Entry.root(find_options)
16
- else
17
- @entry = Entry.find(dn, find_options)
18
- end
19
- erb = "<%= render(:partial => '_entry/entry', :object => @entry) %>"
20
- erb = "<div>\n#{erb}\n</div>"
21
- render(:inline => erb)
22
- end
23
-
24
- def populate
25
- ActiveLdap::Populate.ensure_base
26
- ActiveLdap::Populate.ensure_ou(LdapUser.prefix)
27
- end
28
-
29
- private
30
- def empty_entries_required
31
- return true if Entry.empty?
32
-
33
- flash.now[:notice] = _("Populating is only for initialization")
34
- redirect_to(top_url)
35
- false
36
- end
37
-
38
- def find_options
39
- {:connection => current_ldap_user.connection}
40
- end
41
-
42
- def access_denied
43
- if action_name == "entry"
44
- render(:text => "Unauthorized", :status => 401)
45
- else
46
- super
47
- end
48
- end
49
- end
@@ -1,17 +0,0 @@
1
- class ObjectClassesController < ApplicationController
2
- before_filter :login_required
3
-
4
- def index
5
- @object_classes = schema.object_classes
6
- end
7
-
8
- def show
9
- key = params[:id].to_a.flatten.compact[0]
10
- raise ActiveRecord::RecordNotFound if key.nil?
11
- @object_class = schema.object_classes.find do |object_class|
12
- object_class.name == key or
13
- object_class.id == key
14
- end
15
- raise ActiveRecord::RecordNotFound if @object_class.nil?
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- class SyntaxesController < ApplicationController
2
- before_filter :login_required
3
-
4
- def index
5
- @syntaxes = schema.ldap_syntaxes
6
- end
7
-
8
- def show
9
- key = params[:id].to_a.flatten.compact[0]
10
- raise ActiveRecord::RecordNotFound if key.nil?
11
- @syntax = schema.ldap_syntaxes.find do |syntax|
12
- syntax.name == key or
13
- syntax.id == key
14
- end
15
- raise ActiveRecord::RecordNotFound if @syntax.nil?
16
- end
17
- end
@@ -1,66 +0,0 @@
1
- class UsersController < ApplicationController
2
- verify :method => :post, :only => [:update],
3
- :redirect_to => {:action => :index}
4
-
5
- before_filter :login_required
6
-
7
- def index
8
- @users = find(:all)
9
- end
10
-
11
- def show
12
- @user = find(params[:id])
13
- end
14
-
15
- def edit
16
- @user = find(params[:id])
17
- end
18
-
19
- def update
20
- @user = find(params[:id])
21
- previous_user_password = @user.user_password
22
- object_class_error_message = nil
23
- begin
24
- @user.replace_class(params["object-classes"])
25
- rescue ActiveLdap::RequiredObjectClassMissed
26
- object_class_error_message = $!.message
27
- end
28
- if @user.update_attributes(params[:user]) and
29
- object_class_error_message.nil?
30
- if previous_user_password != @user.user_password and @user.connected?
31
- @user.bind(@user.password)
32
- end
33
- flash[:notice] = _('User was successfully updated.')
34
- redirect_to :action => 'show', :id => @user
35
- else
36
- @user.password = @user.password_confirmation = nil
37
- @user.errors.add("objectClass", object_class_error_message)
38
- render :action => 'edit'
39
- end
40
- end
41
-
42
- def update_object_classes
43
- @user = find(params[:id])
44
- begin
45
- @user.replace_class(params["object-classes"])
46
- rescue ActiveLdap::RequiredObjectClassMissed
47
- flash.now[:inline_notice] = $!.message
48
- erb = "<%= flash_box(flash[:inline_notice], :need_container => true) %>"
49
- render(:inline => erb, :status => 400)
50
- return
51
- end
52
- available_attributes = @user.attribute_names(true)
53
- attributes = {}
54
- (params[:user] || {}).each do |key, value|
55
- attributes[key] = value if available_attributes.include?(key)
56
- end
57
- @user.attributes = attributes
58
- erb = "<div>\n<%= render(:partial => 'attributes_update_form') %>\n</div>"
59
- render(:inline => erb)
60
- end
61
-
62
- private
63
- def find(*args)
64
- current_ldap_user.find(*args)
65
- end
66
- end
@@ -1,12 +0,0 @@
1
- class WelcomeController < ApplicationController
2
- include UrlHelper
3
-
4
- def index
5
- if Entry.empty?
6
- redirect_to(populate_path)
7
- elsif !logged_in?
8
- flash.keep(:notice)
9
- redirect_to(login_path)
10
- end
11
- end
12
- end
@@ -1,2 +0,0 @@
1
- module AccountHelper
2
- end
@@ -1,46 +0,0 @@
1
- # Methods added to this helper will be available to all templates in the application.
2
- module ApplicationHelper
3
- include UrlHelper
4
-
5
- def flash_box(message, options={})
6
- return '' if message.nil?
7
- id = "flash-box"
8
- fade_out = Proc.new {|page| page.visual_effect(:fade, id)}
9
- message = content_tag(:p, h(message), :class => "notice")
10
- flash_box_div = content_tag("div", "\n#{message}\n",
11
- :id => id,
12
- :onclick => update_page(&fade_out))
13
- if options[:need_container]
14
- flash_box_div = content_tag("div", "\n #{flash_box_div}\n",
15
- :class => "flash-box-container")
16
- end
17
- set_opacity = update_page {|page| page[id].setOpacity("0.8")}
18
- effect = update_page do |page|
19
- page.delay(5) do
20
- fade_out.call(page)
21
- end
22
- end
23
- javascript_content = "#{set_opacity}\n#{effect}"
24
- "#{flash_box_div}\n#{javascript_tag(javascript_content)}"
25
- end
26
-
27
- def switcher(prefix, title, options={})
28
- concat(render(:partial => "_switcher/before",
29
- :locals => {:prefix => prefix, :title => title}))
30
- yield
31
- concat(render(:partial => "_switcher/after",
32
- :locals => {:prefix => prefix, :options => options}))
33
- end
34
-
35
- def switcher_element(prefix, options={})
36
- options[:open] = true unless options.has_key?(:open)
37
- switch_id = "#{prefix}-switch".to_json
38
- content_id = "#{prefix}-content".to_json
39
- options = options_for_javascript(options)
40
- javascript_tag("new Switcher(#{switch_id}, #{content_id}, #{options});")
41
- end
42
-
43
- def boolean_value(condition)
44
- condition ? "o" : "x"
45
- end
46
- end
@@ -1,15 +0,0 @@
1
- module AttributesHelper
2
- include SyntaxesHelper
3
-
4
- def attribute_url_for_options(attribute)
5
- {
6
- :controller => "attributes",
7
- :action => "show",
8
- :id => attribute
9
- }
10
- end
11
-
12
- def link_to_attribute(attribute)
13
- link_to(h(la_(attribute)), attribute_url_for_options(attribute))
14
- end
15
- end
@@ -1,7 +0,0 @@
1
- module DirectoryHelper
2
- include ObjectClassesHelper
3
-
4
- def failed_to_retrieve_entry_message
5
- content_tag(:h2, _("Failed to retrieve the entry"))
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- module ObjectClassesHelper
2
- include AttributesHelper
3
-
4
- def link_to_object_class(object_class)
5
- link_to(h(loc_(object_class)),
6
- :controller => "object_classes",
7
- :action => "show",
8
- :id => object_class)
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- module SyntaxesHelper
2
- def link_to_syntax(syntax)
3
- label = h(ls_(syntax))
4
- label << "{#{syntax.length}}" if syntax.length
5
- link_to(label,
6
- :controller => "syntaxes",
7
- :action => "show",
8
- :id => syntax)
9
- end
10
- end
@@ -1,17 +0,0 @@
1
- module UrlHelper
2
- def login_path
3
- url_for(:controller => "/account", :action => "login")
4
- end
5
-
6
- def logout_path
7
- url_for(:controller => "/account", :action => "logout")
8
- end
9
-
10
- def sign_up_path
11
- url_for(:controller => "/account", :action => "sign_up")
12
- end
13
-
14
- def populate_path
15
- url_for(:controller => "/directory", :action => "populate")
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module UsersHelper
2
- include ObjectClassesHelper
3
-
4
- def user_link(user, with_edit=false)
5
- user_link_if(true, user, with_edit)
6
- end
7
-
8
- def user_link_if(condition, user, with_edit=false)
9
- result = link_to_if(condition, h(user.short_dn),
10
- :action => "show", :id => user)
11
- if with_edit and current_user and current_user.ldap_user == user
12
- edit_link = link_to(_('Edit'), :action => 'edit', :id => user)
13
- result << "\n(" << edit_link << ")"
14
- end
15
- result
16
- end
17
- end
@@ -1,2 +0,0 @@
1
- module WelcomeHelper
2
- end
@@ -1,23 +0,0 @@
1
- class Entry < ActiveLdap::Base
2
- ldap_mapping :prefix => "",
3
- :classes => ["top"],
4
- :scope => :sub
5
- self.dn_attribute = nil
6
-
7
- validate :always_fail
8
-
9
- class << self
10
- def empty?
11
- search(:scope => :base).empty?
12
- end
13
- end
14
-
15
- def short_dn
16
- @short_dn ||= dn == base ? dn : "#{dn_attribute}=#{id}"
17
- end
18
-
19
- private
20
- def always_fail
21
- errors.add("save", _("disable saving"))
22
- end
23
- end
@@ -1,58 +0,0 @@
1
- require 'active_ldap/user_password'
2
-
3
- class LdapUser < ActiveLdap::Base
4
- ldap_mapping :prefix => "ou=Users",
5
- :classes => ["person"],
6
- :dn_attribute => "cn"
7
-
8
- N_("LdapUser|Password")
9
- N_("LdapUser|Password confirmation")
10
- attr_accessor :password
11
-
12
- validates_presence_of :password, :password_confirmation,
13
- :if => :password_required?
14
- validates_length_of :password, :within => 4..40,
15
- :if => :password_required?
16
- validates_confirmation_of :password, :if => :password_required?
17
- before_save :encrypt_password
18
-
19
- class << self
20
- def authenticate(dn, password)
21
- user = find(dn)
22
- user.authenticated?(password) ? user : nil
23
- rescue ActiveLdap::EntryNotFound
24
- nil
25
- end
26
- end
27
-
28
- def authenticated?(password)
29
- bind(password)
30
- true
31
- rescue ActiveLdap::AuthenticationError,
32
- ActiveLdap::LdapError::UnwillingToPerform
33
- false
34
- end
35
-
36
- def short_dn
37
- @short_dn ||=
38
- (ActiveLdap::DN.parse(dn) - ActiveLdap::DN.parse(self.class.base)).to_s
39
- end
40
-
41
- def system_user
42
- @system_user ||= User.find_by_dn(dn)
43
- end
44
-
45
- private
46
- def encrypt_password
47
- return if password.blank?
48
- hash_type = "ssha"
49
- if /\A\{([A-Z][A-Z\d]+)\}/ =~ userPassword.to_s
50
- hash_type = $1.downcase
51
- end
52
- self.user_password = ActiveLdap::UserPassword.send(hash_type, password)
53
- end
54
-
55
- def password_required?
56
- user_password.blank? or !password.blank?
57
- end
58
- end
@@ -1,91 +0,0 @@
1
- require 'digest/sha1'
2
-
3
- class User < ActiveRecord::Base
4
- validates_presence_of :login
5
- validates_presence_of :dn
6
- validates_uniqueness_of :login, :dn, :case_sensitive => false
7
- before_validation :generate_salt, :find_dn
8
-
9
- class << self
10
- def authenticate(login, password)
11
- u = find_by_login(login) # need to get the salt
12
- if u.nil?
13
- u = new
14
- u.login = login
15
- u = nil unless u.save
16
- end
17
- u && u.authenticated?(password) ? u : nil
18
- end
19
-
20
- def encrypt(password, salt)
21
- Digest::SHA1.hexdigest("--#{salt}--#{password}--")
22
- end
23
- end
24
-
25
- def encrypt(password)
26
- self.class.encrypt(password, salt)
27
- end
28
-
29
- def authenticated?(password)
30
- return false if ldap_user.nil? or ldap_user.new_entry?
31
- ldap_user.authenticated?(password)
32
- end
33
-
34
- def ldap_user
35
- @ldap_user ||= LdapUser.find(dn)
36
- rescue ActiveLdap::EntryNotFound
37
- if dn
38
- LdapUser.new(dn)
39
- else
40
- nil
41
- end
42
- end
43
-
44
- def remember_token?
45
- begin
46
- remember_token_expires_at and
47
- Time.now.utc < remember_token_expires_at and
48
- ldap_user.connected?
49
- rescue ActiveLdap::EntryNotFound
50
- false
51
- end
52
- end
53
-
54
- # These create and unset the fields required for remembering users between browser closes
55
- def remember_me
56
- self.remember_token_expires_at = 2.weeks.from_now.utc
57
- self.remember_token = encrypt("#{dn}--#{remember_token_expires_at}")
58
- save(false)
59
- end
60
-
61
- def forget_me
62
- self.remember_token_expires_at = nil
63
- self.remember_token = nil
64
- save(false)
65
- LdapUser.remove_connection(dn) if dn
66
- @ldap_user = nil
67
- end
68
-
69
- def short_dn
70
- ldap_user.short_dn
71
- end
72
-
73
- private
74
- def generate_salt
75
- return unless new_record?
76
- self.salt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{login}--")
77
- end
78
-
79
- def find_dn
80
- if login.blank?
81
- self.dn = nil
82
- else
83
- begin
84
- ldap_user = LdapUser.find(login)
85
- self.dn = ldap_user.dn.to_s
86
- rescue ActiveLdap::EntryNotFound
87
- self.dn = nil
88
- end
89
- end
90
- end
91
- end
@@ -1,29 +0,0 @@
1
-
2
- <div class="attributes">
3
- <table class="values">
4
- <thead>
5
- <tr>
6
- <th><%= _("Attribute name") %></th>
7
- <th><%= _("Value") %></th>
8
- <th><%= _("Description") %></th>
9
- </tr>
10
- </thead>
11
-
12
- <tbody>
13
- <% (entry.attribute_names(true) - ["objectClass"]).sort.each do |name| -%>
14
- <tr class="<%= cycle('even', 'odd') %>">
15
- <th scope="row"><%= link_to_attribute(name) %></th>
16
- <td>
17
- <%=
18
- entry[name, true].collect do |value|
19
- h(value.inspect)
20
- end.join("<br />")
21
- %>
22
- </td>
23
- <td><%= h(lad_(name)) %></td>
24
- </tr>
25
- <% end -%>
26
- </tbody>
27
- </table>
28
- </div>
29
- <% reset_cycle %>
@@ -1,15 +0,0 @@
1
- <% title ||= h(entry.short_dn) %>
2
- <div class="entry detail">
3
- <h2><%= title %></h2>
4
- <span class="full-identifier"><%= h(entry.dn) %></span>
5
-
6
- <% switcher("object-classes", _("objectClasses")) do %>
7
- <%= render(:partial => "object_classes/object_classes",
8
- :object => entry.classes) %>
9
- <% end %>
10
-
11
- <% switcher("attributes", _("Attributes")) do %>
12
- <%= render(:partial => "_entry/attributes_information",
13
- :locals => {:entry => entry}) %>
14
- <% end %>
15
- </div>
@@ -1,7 +0,0 @@
1
-
2
- <h3><%= _("Aliases") %></h3>
3
- <ul>
4
- <% aliases.uniq.sort.each do |alias_name| -%>
5
- <li><%= h(alias_name) %></li>
6
- <% end -%>
7
- </ul>
@@ -1,2 +0,0 @@
1
- </div>
2
- <%= switcher_element(prefix, options) %>
@@ -1,5 +0,0 @@
1
- <h3>
2
- <span id="<%= prefix %>-switch" class="switch"></span>
3
- <%= title %>
4
- </h3>
5
- <div id="<%= prefix %>-content" class="switcher-content">