activeldap 1.2.3 → 1.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +6 -0
- data/README +1 -0
- data/lib/active_ldap/get_text_support.rb +3 -1
- data/lib/active_ldap.rb +1 -1
- metadata +5 -321
- data/examples/al-admin/README +0 -182
- data/examples/al-admin/Rakefile +0 -16
- data/examples/al-admin/app/controllers/account_controller.rb +0 -60
- data/examples/al-admin/app/controllers/application_controller.rb +0 -46
- data/examples/al-admin/app/controllers/attributes_controller.rb +0 -17
- data/examples/al-admin/app/controllers/directory_controller.rb +0 -49
- data/examples/al-admin/app/controllers/object_classes_controller.rb +0 -17
- data/examples/al-admin/app/controllers/syntaxes_controller.rb +0 -17
- data/examples/al-admin/app/controllers/users_controller.rb +0 -66
- data/examples/al-admin/app/controllers/welcome_controller.rb +0 -12
- data/examples/al-admin/app/helpers/account_helper.rb +0 -2
- data/examples/al-admin/app/helpers/application_helper.rb +0 -46
- data/examples/al-admin/app/helpers/attributes_helper.rb +0 -15
- data/examples/al-admin/app/helpers/directory_helper.rb +0 -7
- data/examples/al-admin/app/helpers/object_classes_helper.rb +0 -10
- data/examples/al-admin/app/helpers/syntaxes_helper.rb +0 -10
- data/examples/al-admin/app/helpers/url_helper.rb +0 -17
- data/examples/al-admin/app/helpers/users_helper.rb +0 -17
- data/examples/al-admin/app/helpers/welcome_helper.rb +0 -2
- data/examples/al-admin/app/models/entry.rb +0 -23
- data/examples/al-admin/app/models/ldap_user.rb +0 -58
- data/examples/al-admin/app/models/user.rb +0 -91
- data/examples/al-admin/app/views/_entry/_attributes_information.html.erb +0 -29
- data/examples/al-admin/app/views/_entry/_entry.html.erb +0 -15
- data/examples/al-admin/app/views/_schema/_aliases.html.erb +0 -7
- data/examples/al-admin/app/views/_switcher/_after.html.erb +0 -2
- data/examples/al-admin/app/views/_switcher/_before.html.erb +0 -5
- data/examples/al-admin/app/views/account/login.html.erb +0 -26
- data/examples/al-admin/app/views/account/sign_up.html.erb +0 -29
- data/examples/al-admin/app/views/attributes/_attributes.html.erb +0 -19
- data/examples/al-admin/app/views/attributes/_detail.html.erb +0 -29
- data/examples/al-admin/app/views/attributes/index.html.erb +0 -3
- data/examples/al-admin/app/views/attributes/show.html.erb +0 -31
- data/examples/al-admin/app/views/directory/_tree.html.erb +0 -10
- data/examples/al-admin/app/views/directory/_tree_view_js.html.erb +0 -25
- data/examples/al-admin/app/views/directory/index.html.erb +0 -13
- data/examples/al-admin/app/views/directory/populate.html.erb +0 -2
- data/examples/al-admin/app/views/layouts/_footer.html.erb +0 -11
- data/examples/al-admin/app/views/layouts/_header_menu.html.erb +0 -10
- data/examples/al-admin/app/views/layouts/_main_menu.html.erb +0 -18
- data/examples/al-admin/app/views/layouts/application.html.erb +0 -57
- data/examples/al-admin/app/views/object_classes/_attributes.html.erb +0 -28
- data/examples/al-admin/app/views/object_classes/_object_classes.html.erb +0 -19
- data/examples/al-admin/app/views/object_classes/index.html.erb +0 -3
- data/examples/al-admin/app/views/object_classes/show.html.erb +0 -39
- data/examples/al-admin/app/views/syntaxes/_detail.html.erb +0 -14
- data/examples/al-admin/app/views/syntaxes/_syntaxes.html.erb +0 -19
- data/examples/al-admin/app/views/syntaxes/index.html.erb +0 -3
- data/examples/al-admin/app/views/syntaxes/show.html.erb +0 -22
- data/examples/al-admin/app/views/users/_attributes_update_form.html.erb +0 -42
- data/examples/al-admin/app/views/users/_form.html.erb +0 -13
- data/examples/al-admin/app/views/users/_object_classes_update_form.html.erb +0 -46
- data/examples/al-admin/app/views/users/_password_change_form.html.erb +0 -20
- data/examples/al-admin/app/views/users/edit.html.erb +0 -15
- data/examples/al-admin/app/views/users/index.html.erb +0 -10
- data/examples/al-admin/app/views/users/show.html.erb +0 -11
- data/examples/al-admin/app/views/welcome/index.html.erb +0 -13
- data/examples/al-admin/config/boot.rb +0 -110
- data/examples/al-admin/config/database.yml.example +0 -19
- data/examples/al-admin/config/environment.rb +0 -73
- data/examples/al-admin/config/environments/development.rb +0 -17
- data/examples/al-admin/config/environments/production.rb +0 -24
- data/examples/al-admin/config/environments/test.rb +0 -22
- data/examples/al-admin/config/initializers/exception_notifier.rb +0 -2
- data/examples/al-admin/config/initializers/fast_gettext.rb +0 -3
- data/examples/al-admin/config/initializers/inflections.rb +0 -10
- data/examples/al-admin/config/initializers/mime_types.rb +0 -5
- data/examples/al-admin/config/initializers/session_store.rb +0 -23
- data/examples/al-admin/config/ldap.yml.example +0 -21
- data/examples/al-admin/config/routes.rb +0 -58
- data/examples/al-admin/config/session_secret.txt +0 -1
- data/examples/al-admin/config.ru +0 -7
- data/examples/al-admin/db/migrate/001_create_users.rb +0 -16
- data/examples/al-admin/db/schema.rb +0 -23
- data/examples/al-admin/lib/authenticated_system.rb +0 -124
- data/examples/al-admin/lib/authenticated_test_helper.rb +0 -113
- data/examples/al-admin/lib/ldap_test_helper.rb +0 -38
- data/examples/al-admin/lib/tasks/testing.rake +0 -10
- data/examples/al-admin/po/en/al-admin.po +0 -343
- data/examples/al-admin/po/ja/al-admin.po +0 -343
- data/examples/al-admin/po/nl/al-admin.po +0 -380
- data/examples/al-admin/public/.htaccess +0 -40
- data/examples/al-admin/public/404.html +0 -30
- data/examples/al-admin/public/500.html +0 -30
- data/examples/al-admin/public/dispatch.cgi +0 -10
- data/examples/al-admin/public/dispatch.fcgi +0 -24
- data/examples/al-admin/public/dispatch.rb +0 -10
- data/examples/al-admin/public/favicon.ico +0 -0
- data/examples/al-admin/public/images/active-ldap.svg +0 -6351
- data/examples/al-admin/public/images/al-admin.png +0 -0
- data/examples/al-admin/public/images/al-admin.svg +0 -6371
- data/examples/al-admin/public/images/header-background.png +0 -0
- data/examples/al-admin/public/images/header-background.svg +0 -99
- data/examples/al-admin/public/images/rails.png +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_left_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_left_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_middle_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_middle_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_right_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/accordion_tab_right_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_bottom_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_bottom_middle.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_bottom_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_left_down_arrow.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_left_up_arrow.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_middle_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_middle_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_right_down_arrow.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_right_up_arrow.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_top_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_top_middle.gif +0 -0
- data/examples/al-admin/public/images/spinelz/balloon_top_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/barchart_h.gif +0 -0
- data/examples/al-admin/public/images/spinelz/barchart_v.gif +0 -0
- data/examples/al-admin/public/images/spinelz/button.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_default_handler.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_delete.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_next.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_next_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_pre.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_pre_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_private_icon.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calendar_schedule.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calender_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/calender_back_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_back_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_next.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_next_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_pre.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker2_pre_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_back_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_next.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_next_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_pre.gif +0 -0
- data/examples/al-admin/public/images/spinelz/datepicker_pre_second.gif +0 -0
- data/examples/al-admin/public/images/spinelz/grid_down.gif +0 -0
- data/examples/al-admin/public/images/spinelz/grid_state.gif +0 -0
- data/examples/al-admin/public/images/spinelz/grid_up.gif +0 -0
- data/examples/al-admin/public/images/spinelz/icon_day.gif +0 -0
- data/examples/al-admin/public/images/spinelz/icon_month.gif +0 -0
- data/examples/al-admin/public/images/spinelz/icon_week.gif +0 -0
- data/examples/al-admin/public/images/spinelz/menubar_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/menubar_subcontents_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_left_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_left_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_middle_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_right_active.gif +0 -0
- data/examples/al-admin/public/images/spinelz/navPanel_tab_right_inactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/select_date.gif +0 -0
- data/examples/al-admin/public/images/spinelz/selectabletable_selected.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_about.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_menu.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_sample.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabBottomInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleActive2.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabMiddleInactive2.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabTopInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sideBarBox_tabbar.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sortableTable_down.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sortableTable_normal.gif +0 -0
- data/examples/al-admin/public/images/spinelz/sortableTable_up.gif +0 -0
- data/examples/al-admin/public/images/spinelz/switcher_close.gif +0 -0
- data/examples/al-admin/public/images/spinelz/switcher_open.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_close.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabLeftActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabLeftInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabMiddleInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabRightActive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tabBox_tabRightInactive.gif +0 -0
- data/examples/al-admin/public/images/spinelz/tab_bar.gif +0 -0
- data/examples/al-admin/public/images/spinelz/table_back.gif +0 -0
- data/examples/al-admin/public/images/spinelz/timepicker_clock.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_close.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_max.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_middle.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_min.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_next.gif +0 -0
- data/examples/al-admin/public/images/spinelz/toolbar_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_dir.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_file.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_group.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_group_special.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_state.gif +0 -0
- data/examples/al-admin/public/images/spinelz/treeview_user.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_bottom_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_bottom_middle.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_bottom_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_close.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_max.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_middle_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_middle_right.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_min.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_top_left.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_top_middle.gif +0 -0
- data/examples/al-admin/public/images/spinelz/window_top_right.gif +0 -0
- data/examples/al-admin/public/javascripts/application.js +0 -2
- data/examples/al-admin/public/javascripts/controls.js +0 -963
- data/examples/al-admin/public/javascripts/dragdrop.js +0 -973
- data/examples/al-admin/public/javascripts/effects.js +0 -1128
- data/examples/al-admin/public/javascripts/prototype.js +0 -4320
- data/examples/al-admin/public/javascripts/spinelz/accordion.js +0 -185
- data/examples/al-admin/public/javascripts/spinelz/ajaxHistory.js +0 -157
- data/examples/al-admin/public/javascripts/spinelz/balloon.js +0 -287
- data/examples/al-admin/public/javascripts/spinelz/barchart.js +0 -524
- data/examples/al-admin/public/javascripts/spinelz/calendar.js +0 -3012
- data/examples/al-admin/public/javascripts/spinelz/colorpicker.js +0 -128
- data/examples/al-admin/public/javascripts/spinelz/datepicker.js +0 -438
- data/examples/al-admin/public/javascripts/spinelz/grid.js +0 -1391
- data/examples/al-admin/public/javascripts/spinelz/grid_resizeEx.js +0 -100
- data/examples/al-admin/public/javascripts/spinelz/grid_sortabletableEx.js +0 -129
- data/examples/al-admin/public/javascripts/spinelz/inplaceEditorEx.js +0 -148
- data/examples/al-admin/public/javascripts/spinelz/menubar.js +0 -232
- data/examples/al-admin/public/javascripts/spinelz/navPanel.js +0 -170
- data/examples/al-admin/public/javascripts/spinelz/selectableTable.js +0 -433
- data/examples/al-admin/public/javascripts/spinelz/sideBarBox.js +0 -282
- data/examples/al-admin/public/javascripts/spinelz/sideBarBox_effects.js +0 -83
- data/examples/al-admin/public/javascripts/spinelz/sortableTable.js +0 -270
- data/examples/al-admin/public/javascripts/spinelz/switcher.js +0 -78
- data/examples/al-admin/public/javascripts/spinelz/tabBox.js +0 -469
- data/examples/al-admin/public/javascripts/spinelz/timepicker.js +0 -384
- data/examples/al-admin/public/javascripts/spinelz/toolbar.js +0 -152
- data/examples/al-admin/public/javascripts/spinelz/treeview.js +0 -703
- data/examples/al-admin/public/javascripts/spinelz/window.js +0 -641
- data/examples/al-admin/public/javascripts/spinelz/window_resizeEx.js +0 -130
- data/examples/al-admin/public/javascripts/spinelz_lib/builder.js +0 -131
- data/examples/al-admin/public/javascripts/spinelz_lib/controls.js +0 -835
- data/examples/al-admin/public/javascripts/spinelz_lib/dragdrop.js +0 -944
- data/examples/al-admin/public/javascripts/spinelz_lib/effects.js +0 -1090
- data/examples/al-admin/public/javascripts/spinelz_lib/json.js +0 -139
- data/examples/al-admin/public/javascripts/spinelz_lib/prototype.js +0 -2515
- data/examples/al-admin/public/javascripts/spinelz_lib/resize.js +0 -215
- data/examples/al-admin/public/javascripts/spinelz_lib/scriptaculous.js +0 -51
- data/examples/al-admin/public/javascripts/spinelz_lib/slider.js +0 -278
- data/examples/al-admin/public/javascripts/spinelz_lib/spinelz_util.js +0 -1266
- data/examples/al-admin/public/javascripts/spinelz_lib/unittest.js +0 -564
- data/examples/al-admin/public/robots.txt +0 -1
- data/examples/al-admin/public/stylesheets/account.css +0 -41
- data/examples/al-admin/public/stylesheets/attributes.css +0 -1
- data/examples/al-admin/public/stylesheets/base.css +0 -104
- data/examples/al-admin/public/stylesheets/detail.css +0 -36
- data/examples/al-admin/public/stylesheets/directory.css +0 -22
- data/examples/al-admin/public/stylesheets/object-classes.css +0 -6
- data/examples/al-admin/public/stylesheets/rails.css +0 -35
- data/examples/al-admin/public/stylesheets/spinelz/accordion.css +0 -59
- data/examples/al-admin/public/stylesheets/spinelz/balloon.css +0 -151
- data/examples/al-admin/public/stylesheets/spinelz/calendar.css +0 -564
- data/examples/al-admin/public/stylesheets/spinelz/datepicker.css +0 -175
- data/examples/al-admin/public/stylesheets/spinelz/grid.css +0 -137
- data/examples/al-admin/public/stylesheets/spinelz/menubar.css +0 -78
- data/examples/al-admin/public/stylesheets/spinelz/modal.css +0 -22
- data/examples/al-admin/public/stylesheets/spinelz/navPanel.css +0 -58
- data/examples/al-admin/public/stylesheets/spinelz/selectableTable.css +0 -28
- data/examples/al-admin/public/stylesheets/spinelz/sideBarBox.css +0 -82
- data/examples/al-admin/public/stylesheets/spinelz/sortableTable.css +0 -51
- data/examples/al-admin/public/stylesheets/spinelz/switcher.css +0 -23
- data/examples/al-admin/public/stylesheets/spinelz/tabBox.css +0 -94
- data/examples/al-admin/public/stylesheets/spinelz/timepicker.css +0 -508
- data/examples/al-admin/public/stylesheets/spinelz/toolbar.css +0 -82
- data/examples/al-admin/public/stylesheets/spinelz/treeview.css +0 -121
- data/examples/al-admin/public/stylesheets/spinelz/window.css +0 -140
- data/examples/al-admin/public/stylesheets/structure.css +0 -81
- data/examples/al-admin/public/stylesheets/syntaxes.css +0 -1
- data/examples/al-admin/public/stylesheets/users.css +0 -13
- data/examples/al-admin/public/stylesheets/welcome.css +0 -0
- data/examples/al-admin/script/about +0 -3
- data/examples/al-admin/script/console +0 -3
- data/examples/al-admin/script/dbconsole +0 -3
- data/examples/al-admin/script/destroy +0 -3
- data/examples/al-admin/script/generate +0 -3
- data/examples/al-admin/script/performance/benchmarker +0 -3
- data/examples/al-admin/script/performance/profiler +0 -3
- data/examples/al-admin/script/performance/request +0 -3
- data/examples/al-admin/script/plugin +0 -3
- data/examples/al-admin/script/process/inspector +0 -3
- data/examples/al-admin/script/process/reaper +0 -3
- data/examples/al-admin/script/process/spawner +0 -3
- data/examples/al-admin/script/runner +0 -3
- data/examples/al-admin/script/server +0 -3
- data/examples/al-admin/test/fixtures/users.yml +0 -9
- data/examples/al-admin/test/functional/account_controller_test.rb +0 -12
- data/examples/al-admin/test/functional/attributes_controller_test.rb +0 -8
- data/examples/al-admin/test/functional/directory_controller_test.rb +0 -8
- data/examples/al-admin/test/functional/object_classes_controller_test.rb +0 -8
- data/examples/al-admin/test/functional/syntaxes_controller_test.rb +0 -8
- data/examples/al-admin/test/functional/users_controller_test.rb +0 -8
- data/examples/al-admin/test/functional/welcome_controller_test.rb +0 -8
- data/examples/al-admin/test/integration/sign_up_test.rb +0 -44
- data/examples/al-admin/test/run-test.sh +0 -3
- data/examples/al-admin/test/test_helper.rb +0 -52
- data/examples/al-admin/test/unit/user_test.rb +0 -12
- data/examples/al-admin/vendor/plugins/exception_notification/README +0 -111
- data/examples/al-admin/vendor/plugins/exception_notification/init.rb +0 -1
- data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifiable.rb +0 -99
- data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier.rb +0 -66
- data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +0 -78
- data/examples/al-admin/vendor/plugins/exception_notification/test/exception_notifier_helper_test.rb +0 -61
- data/examples/al-admin/vendor/plugins/exception_notification/test/test_helper.rb +0 -7
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_backtrace.rhtml +0 -1
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +0 -7
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_inspect_model.rhtml +0 -16
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +0 -4
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_session.rhtml +0 -2
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_title.rhtml +0 -3
- 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,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,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,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>
|