chaltron 0.3.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +2 -1
  3. data/app/assets/javascripts/chaltron.js +7 -5
  4. data/app/assets/javascripts/chaltron/datatables.js.coffee +2 -2
  5. data/app/assets/javascripts/chaltron/navbar.js.coffee +46 -0
  6. data/app/assets/javascripts/dataTables/dataTables.bootstrap4.min.js +8 -0
  7. data/app/assets/stylesheets/chaltron.scss +9 -9
  8. data/app/assets/stylesheets/chaltron/layout.scss +3 -29
  9. data/app/assets/stylesheets/chaltron/logs.scss +5 -0
  10. data/app/controllers/chaltron/ldap_controller.rb +5 -5
  11. data/app/controllers/chaltron/omniauth_callbacks_controller.rb +0 -1
  12. data/app/controllers/chaltron/sessions_controller.rb +0 -3
  13. data/app/controllers/chaltron/users_controller.rb +1 -3
  14. data/app/datatables/log_datatable.rb +3 -2
  15. data/app/helpers/chaltron/ldap_helper.rb +3 -3
  16. data/app/helpers/chaltron/logs_helper.rb +4 -13
  17. data/app/helpers/chaltron/users_helper.rb +20 -2
  18. data/app/helpers/chaltron_helper.rb +0 -16
  19. data/app/models/authorizable.rb +1 -1
  20. data/app/models/log.rb +10 -12
  21. data/app/models/user.rb +1 -5
  22. data/app/views/chaltron/ldap/multi_create.html.erb +39 -35
  23. data/app/views/chaltron/ldap/multi_new.html.erb +36 -30
  24. data/app/views/chaltron/ldap/search.html.erb +13 -10
  25. data/app/views/chaltron/logs/index.html.erb +22 -28
  26. data/app/views/chaltron/logs/show.html.erb +6 -6
  27. data/app/views/chaltron/users/_form.html.erb +8 -5
  28. data/app/views/chaltron/users/_side_filters.html.erb +10 -26
  29. data/app/views/chaltron/users/edit.html.erb +1 -1
  30. data/app/views/chaltron/users/index.html.erb +29 -31
  31. data/app/views/chaltron/users/new.html.erb +1 -1
  32. data/app/views/chaltron/users/self_edit.html.erb +27 -20
  33. data/app/views/chaltron/users/self_show.html.erb +8 -8
  34. data/app/views/chaltron/users/show.html.erb +10 -10
  35. data/app/views/devise/passwords/edit.html.erb +8 -7
  36. data/app/views/devise/passwords/new.html.erb +10 -7
  37. data/app/views/devise/sessions/_new_ldap.html.erb +17 -14
  38. data/app/views/devise/sessions/_new_local.html.erb +10 -7
  39. data/app/views/devise/sessions/new.html.erb +30 -25
  40. data/app/views/locales/en.yml +4 -4
  41. data/app/views/locales/it.yml +2 -2
  42. data/config/chaltron_navigation.rb +15 -23
  43. data/config/locales/en.yml +1 -6
  44. data/config/locales/it.yml +1 -6
  45. data/config/routes.rb +4 -5
  46. data/lib/chaltron.rb +1 -24
  47. data/lib/chaltron/bootstrap_form.rb +1 -1
  48. data/lib/chaltron/engine.rb +2 -3
  49. data/lib/chaltron/ldap/connection.rb +34 -93
  50. data/lib/chaltron/ldap/person.rb +3 -13
  51. data/lib/chaltron/ldap/user.rb +1 -5
  52. data/lib/chaltron/version.rb +1 -1
  53. data/lib/generators/chaltron/install_generator.rb +9 -3
  54. data/lib/generators/chaltron/templates/app/assets/stylesheets/home.scss +2 -20
  55. data/lib/generators/chaltron/templates/app/views/home/_carousel.html.erb +18 -18
  56. data/lib/generators/chaltron/templates/app/views/home/_faq.html.erb +10 -8
  57. data/lib/generators/chaltron/templates/app/views/home/_panel.html.erb +5 -7
  58. data/lib/generators/chaltron/templates/app/views/home/index.html.erb +12 -10
  59. data/lib/generators/chaltron/templates/app/views/home/test.html.erb +3 -5
  60. data/lib/generators/chaltron/templates/app/views/layouts/_footer.html.erb +7 -9
  61. data/lib/generators/chaltron/templates/app/views/layouts/_navbar.html.erb +8 -15
  62. data/lib/generators/chaltron/templates/config/initializers/chaltron.rb +4 -57
  63. data/lib/generators/chaltron/templates/config/navigation.rb +11 -10
  64. data/lib/templates/erb/scaffold/_form.html.erb +8 -5
  65. data/lib/templates/erb/scaffold/edit.html.erb +8 -8
  66. data/lib/templates/erb/scaffold/index.html.erb +15 -21
  67. data/lib/templates/erb/scaffold/new.html.erb +2 -6
  68. data/lib/templates/erb/scaffold/show.html.erb +9 -9
  69. metadata +24 -25
  70. data/app/assets/javascripts/dataTables/extras/dataTables.select.min.js +0 -23
  71. data/app/assets/stylesheets/dataTables/dataTables.bootstrap.css +0 -167
  72. data/app/assets/stylesheets/dataTables/extras/select.dataTables.css +0 -100
  73. data/app/models/application_record.rb +0 -3
  74. data/app/views/chaltron/logs/_log.html.erb +0 -14
@@ -1,11 +1,11 @@
1
1
  <div class='container-fluid'>
2
- <h3 class='page-header'><%= t '.title' %></h3>
2
+ <h3 class='pt-4'><%= t '.title' %></h3>
3
3
  <div class='row'>
4
4
 
5
5
  <div class='col-md-9'>
6
- <div class='panel panel-default'>
7
- <div class='panel-heading'><%= t '.headers.details' %></div>
8
- <ul class='list-group'>
6
+ <div class='card'>
7
+ <div class='card-header'><%= t '.headers.details' %></div>
8
+ <ul class='list-group list-group-flush'>
9
9
  <li class='list-group-item'>
10
10
  <span><%= User.human_attribute_name(:username) %>: </span>
11
11
  <strong><%= current_user.username %></strong>
@@ -29,9 +29,9 @@
29
29
  </div>
30
30
 
31
31
  <div class='col-md-3'>
32
- <div class='panel panel-default'>
33
- <div class='panel-heading'><%= t '.headers.activity' %></div>
34
- <ul class='list-group'>
32
+ <div class='card'>
33
+ <div class='card-header'><%= t '.headers.activity' %></div>
34
+ <ul class='list-group list-group-flush'>
35
35
  <% unless current_user.last_sign_in_at.nil? %>
36
36
  <li class='list-group-item'>
37
37
  <span><%= User.human_attribute_name(:last_sign_in_at) %>: </span>
@@ -47,7 +47,7 @@
47
47
  </ul>
48
48
  </div>
49
49
 
50
- <%= link_to self_edit_users_path, class: 'btn btn-primary' do %>
50
+ <%= link_to self_edit_users_path, class: 'btn btn-primary mt-4' do %>
51
51
  <%= icon 'edit', t('.edit') %>
52
52
  <% end %>
53
53
 
@@ -1,11 +1,11 @@
1
1
  <div class='container-fluid'>
2
- <h3 class='page-header'><%= @user.display_name %></h3>
2
+ <h3 class='pt-4'><%= @user.display_name %></h3>
3
3
  <div class='row'>
4
4
 
5
5
  <div class='col-md-9'>
6
- <div class='panel panel-default'>
7
- <div class='panel-heading'><%= t '.headers.details' %></div>
8
- <ul class='list-group'>
6
+ <div class='card'>
7
+ <div class='card-header'><%= t '.headers.details' %></div>
8
+ <ul class='list-group list-group-flush'>
9
9
  <li class='list-group-item'>
10
10
  <span><%= User.human_attribute_name(:username) %>: </span>
11
11
  <strong><%= @user.username %></strong>
@@ -33,9 +33,9 @@
33
33
  </div>
34
34
 
35
35
  <div class='col-md-3'>
36
- <div class='panel panel-default'>
37
- <div class='panel-heading'><%= t '.headers.activity' %></div>
38
- <ul class='list-group'>
36
+ <div class='card'>
37
+ <div class='card-header'><%= t '.headers.activity' %></div>
38
+ <ul class='list-group list-group-flush'>
39
39
  <li class='list-group-item'>
40
40
  <span><%= User.human_attribute_name(:sign_in_count) %>: </span>
41
41
  <strong><%= @user.sign_in_count %></strong>
@@ -64,13 +64,13 @@
64
64
  <% end %>
65
65
 
66
66
  <div class='pull-right'>
67
- <%= link_to edit_user_path(@user), class: 'btn btn-default' do %>
67
+ <%= link_to edit_user_path(@user), class: 'btn btn-primary' do %>
68
68
  <%= icon :edit, t('.edit') %>
69
- <% end if can? :edit, @user %>
69
+ <% end %>
70
70
  <%= link_to @user, method: :delete, class: 'btn btn-danger',
71
71
  disabled: current_user == @user,
72
72
  data: { confirm: t('.destroy_confirm', user: @user.username) } do %>
73
73
  <%= icon :trash, t('.destroy') %>
74
- <% end if can? :destroy, @user %>
74
+ <% end %>
75
75
  </div>
76
76
  </div>
@@ -1,15 +1,16 @@
1
1
  <div class='container login-box'>
2
- <div class='panel panel-primary'>
3
- <div class='panel-heading'><h4><%= t '.title' %></h4></div>
4
- <div class='panel-body'>
2
+ <h4><%= t '.title' %></h4>
3
+ <div class='card'>
4
+ <div class='card-body'>
5
5
  <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name),
6
- layout: :horizontal, label_col: "col-sm-3", control_col: "col-sm-9",
7
- html: { method: :put }) do |f| %>
6
+ layout: :horizontal, label_col: 'col-sm-4', control_col: 'col-sm-8',
7
+ html: { method: :put }) do |f| %>
8
8
  <%= f.hidden_field :reset_password_token %>
9
9
  <%= f.password_field :password, autofocus: true %>
10
10
  <%= f.password_field :password_confirmation %>
11
- <div class='form-group'>
12
- <div class='col-sm-offset-3 col-sm-9'>
11
+ <div class='form-group row'>
12
+ <div class='col-sm-4'></div>
13
+ <div class='col-sm-8'>
13
14
  <%= f.submit t('.submit_text'), class: 'btn btn-primary' %>
14
15
  </div>
15
16
  </div>
@@ -1,17 +1,20 @@
1
1
  <div class='container login-box'>
2
- <div class='panel panel-primary'>
3
- <div class='panel-heading'><h4><%= t '.title' %></h4></div>
4
- <div class='panel-body'>
2
+ <h4><%= t '.title' %></h4>
3
+ <div class='card'>
4
+ <div class='card-body'>
5
5
  <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name),
6
- layout: :horizontal, label_col: "col-sm-3", control_col: "col-sm-9",
7
- html: { role: 'form', method: :post} ) do |f| %>
6
+ layout: :horizontal, label_col: 'col-sm-2', control_col: 'col-sm-10',
7
+ html: { role: 'form', method: :post } ) do |f| %>
8
8
  <p><%= t '.par1' %></p>
9
9
  <%= f.email_field :email, autofocus: true %>
10
- <div class='form-group'>
11
- <div class='col-sm-offset-3 col-sm-9'>
10
+
11
+ <div class='form-group row'>
12
+ <div class='col-sm-2'></div>
13
+ <div class='col-sm-10'>
12
14
  <%= f.submit t('.submit_text'), class: 'btn btn-primary' %>
13
15
  </div>
14
16
  </div>
17
+
15
18
  <hr>
16
19
  <p><%= t '.par2_html' %></p>
17
20
  <% end %>
@@ -1,30 +1,33 @@
1
- <%= form_tag(user_ldap_omniauth_callback_path, class: 'form-horizontal', role: 'form') do %>
2
- <div class='form-group'>
3
- <%= label_tag 'username', 'Username', class: 'col-sm-3 control-label' %>
1
+ <%= form_tag(user_ldap_omniauth_callback_path, role: 'form') do %>
2
+ <div class='form-group row'>
3
+ <%= label_tag 'username', 'Username', class: 'col-sm-3 col-form-label' %>
4
4
  <div class='col-sm-9'>
5
5
  <%= text_field_tag :username, nil, {class: 'form-control', autofocus: 'autofocus', placeholder: 'LDAP username'} %>
6
6
  </div>
7
7
  </div>
8
- <div class='form-group'>
9
- <%= label_tag 'password', 'Password', class: 'col-sm-3 control-label' %>
8
+ <div class='form-group row'>
9
+ <%= label_tag 'password', 'Password', class: 'col-sm-3 col-form-label' %>
10
10
  <div class='col-sm-9'>
11
11
  <%= password_field_tag :password, nil, {class: 'form-control bottom', placeholder: 'Password'} %>
12
12
  </div>
13
13
  </div>
14
14
  <% if devise_mapping.rememberable? %>
15
- <div class='form-group'>
16
- <div class='col-sm-offset-3 col-sm-9'>
17
- <div class='checkbox'>
18
- <%= label_tag :remember_me do %>
19
- <%= check_box_tag :remember_me, 1, false %>
20
- <%= t('.remember_me') %>
21
- <% end %>
15
+ <div class='form-group row'>
16
+ <div class='col-sm-3'></div>
17
+ <div class='col-sm-9'>
18
+ <div class='form-check'>
19
+ <input name='remember_me' value='0' type='hidden'>
20
+ <input class='form-check-input' type='checkbox' name='remember_me' id='remember_me' value='1'>
21
+ <label class='form-check-label' for='gridCheck1'>
22
+ Ricordami
23
+ </label>
22
24
  </div>
23
25
  </div>
24
26
  </div>
25
27
  <% end %>
26
- <div class='form-group'>
27
- <div class='col-sm-offset-3 col-sm-9'>
28
+ <div class='form-group row'>
29
+ <div class='col-sm-3'></div>
30
+ <div class='col-sm-9'>
28
31
  <%= submit_tag t('.submit_text'), class: 'btn btn-primary' %>
29
32
  </div>
30
33
  </div>
@@ -2,17 +2,20 @@
2
2
  <%= f.text_field :login, placeholder: t('.login_placeholder') %>
3
3
  <%= f.password_field :password, placeholder: 'Password' %>
4
4
  <% if devise_mapping.rememberable? %>
5
- <div class='form-group'>
6
- <div class='col-sm-offset-3 col-sm-9'>
7
- <%= f.check_box :remember_me, label: t('.remember_me'), control_col: 'col-sm-3' %>
5
+ <div class='form-group row'>
6
+ <div class='col-sm-3'></div>
7
+ <div class='col-sm-9'>
8
+ <%= f.check_box :remember_me, label: t('.remember_me'), control_col: 'col-sm-2', label_col: 'col-sm-2' %>
8
9
  </div>
9
10
  </div>
10
11
  <% end %>
11
- <div class='form-group'>
12
- <div class='col-sm-offset-3 col-sm-9'>
13
- <%= f.submit t('.submit_text'), class: 'btn btn-primary' %>
14
- </div>
12
+
13
+ <div class='form-group row'>
14
+ <div class='col-sm-3'></div>
15
+ <div class='col-sm-9'>
16
+ <%= f.submit t('.submit_text'), class: 'btn btn-primary' %>
15
17
  </div>
18
+ </div>
16
19
  <hr>
17
20
  <p>
18
21
  <strong><%= link_to t('.link_text'), new_password_path(resource_name) %> </strong>
@@ -1,32 +1,37 @@
1
1
  <div class='container login-box'>
2
- <div class='panel panel-primary'>
3
- <div class='panel-heading'><h4><%= t '.title' %></h4></div>
4
- <div class='panel-body'>
5
-
2
+ <h4><%= t '.title' %></h4>
3
+ <div class='card'>
4
+ <div class='card-header'>
6
5
  <% if ldap_enabled? %>
7
- <div class='col-sm-offset-3 col-sm-9'>
8
- <ul class='nav nav-tabs' role='tablist'>
9
- <li class='active'>
10
- <%= link_to 'LDAP', '#tab-ldap', data: {toggle: 'tab'} %>
11
- </li>
12
- <li>
13
- <%= link_to 'Standard', '#tab-local', data: {toggle: 'tab'} %>
14
- </li>
15
- </ul>
6
+ <ul class='nav nav-tabs card-header-tabs' role='tablist'>
7
+ <li class='nav-item'>
8
+ <%= link_to 'LDAP', '#tab-ldap', class: 'nav-link active', id: 'ldap-tab',
9
+ data: {toggle: 'tab'}, aria: {controls: 'ldap', selected: true} %>
10
+ </li>
11
+ <li class='nav-item'>
12
+ <%= link_to 'Standard', '#tab-local', class: 'nav-link', id: 'local-tab',
13
+ data: {toggle: 'tab'}, aria: {controls: 'local', selected: false} %>
14
+ </li>
15
+ </ul>
16
+ </div>
17
+ <div class='tab-content'>
18
+ <div id='tab-ldap' class='tab-pane show active' role='tabpanel' aria-labelledby='ldap-tab'>
19
+ <div class='card-body'>
20
+ <%= render partial: 'devise/sessions/new_ldap' %>
16
21
  </div>
17
- <div class='tab-content'>
18
- <div id='tab-ldap' class='tab-pane active'>
19
- <%= render partial: 'devise/sessions/new_ldap' %>
20
- </div>
21
- <div id='tab-local' class='tab-pane'>
22
- <%= render partial: 'devise/sessions/new_local' %>
23
- </div>
22
+ </div>
23
+ <div id='tab-local' class='tab-pane' role='tabpanel' aria-labelledby='local-tab'>
24
+ <div class='card-body'>
25
+ <%= render partial: 'devise/sessions/new_local' %>
24
26
  </div>
25
- <% else %>
26
- <!-- LDAP not enabled -->
27
- <%= render partial: 'devise/sessions/new_local' %>
28
- <% end %>
29
-
27
+ </div>
28
+ </div>
29
+ <% else %>
30
+ </div>
31
+ <!-- LDAP not enabled -->
32
+ <div class='card-body'>
33
+ <%= render partial: 'devise/sessions/new_local' %>
30
34
  </div>
35
+ <% end %>
31
36
  </div>
32
37
  </div>
@@ -70,11 +70,11 @@ en:
70
70
  title: Search for LDAP sers
71
71
  submit_text: Search
72
72
  name_label: User
73
- name_help: Search by user-id (exact match)
74
- lastname_label: Last name
75
- lastname_help: Search by last name or surname (also partial match)
73
+ name_help: Search for user-id (exact match)
74
+ fullname_label: Fullname
75
+ fullname_help: Search for first name or surname (also partial match)
76
76
  department_label: Department
77
- department_help: Search by department (also partial match)
77
+ department_help: Search for department (also partial match)
78
78
  limit_label: Limit
79
79
  limit_help: Max shown results
80
80
  multi_new:
@@ -71,8 +71,8 @@ it:
71
71
  submit_text: Cerca
72
72
  name_label: Utente
73
73
  name_help: Ricerca per user-id (match esatto)
74
- lastname_label: Nome
75
- lastname_help: Ricerca per cognome (anche match parziale)
74
+ fullname_label: Nome
75
+ fullname_help: Ricerca per nome o cognome (anche match parziale)
76
76
  department_label: Funzione
77
77
  department_help: Ricerca per sigla di funzione (anche match parziale)
78
78
  limit_label: Limite
@@ -1,33 +1,25 @@
1
1
  SimpleNavigation::Configuration.run do |navigation|
2
2
  navigation.items do |primary|
3
- navigation.renderer = SimpleNavigationBootstrap::Bootstrap3
4
- primary.dom_class = 'pull-right'
3
+ primary.dom_class = 'justify-content-end'
4
+ navigation.selected_class = 'active'
5
5
 
6
6
  if signed_in?
7
- primary.item :admin,
8
- { icon: 'fa fa-fw fa-cogs',
9
- text: I18n.t('chaltron.menu.admin')
10
- }, nil do |admin|
11
- admin.item :users,
12
- { icon: 'fa fa-fw fa-users',
13
- text: I18n.t('chaltron.menu.users')
14
- }, users_path, highlights_on: /\/(users|ldap)(?!\/self_(show|edit|update))/ if can?(:read, User)
15
- admin.item :logs,
16
- { icon: 'fa fa-fw fa-book',
17
- text: I18n.t('chaltron.menu.logs')
18
- }, logs_path, highlights_on: /\/logs/ if can?(:read, Log)
19
- end if can?(:read, User) or can?(:read, Log)
20
- primary.item :logged, current_user.display_name.html_safe, nil do |user|
7
+ primary.item :admin, I18n.t('chaltron.menu.admin'), '#', link_html: { icon: 'cogs' } do |admin|
8
+ admin.item :users, I18n.t('chaltron.menu.users'), users_path, link_html: { icon: 'users' },
9
+ highlights_on: /\/(users|ldap)(?!\/self_(show|edit|update))/ if can?(:manage, User)
10
+ admin.item :logs, I18n.t('chaltron.menu.logs'), logs_path, link_html: { icon: 'book' },
11
+ highlights_on: /\/logs/ if can?(:read, Log)
12
+ end if can?(:manage, User) or can?(:read, Log)
13
+ primary.item :logged, current_user.display_name.html_safe, '#' do |user|
21
14
  user.dom_class = 'dropdown-menu-right'
22
- user.item :self_edit, { icon: 'fa fa-fw fa-user',
23
- text: I18n.t('chaltron.menu.self_show') }, self_show_users_path,
24
- highlights_on: /\/self_(show|edit|update)/
25
-
26
- user.item :logout, { icon: 'fa fa-fw fa-sign-out', text: 'Logout' },
27
- destroy_user_session_path, method: :delete
15
+ user.item :self_edit, I18n.t('chaltron.menu.self_show'), self_show_users_path,
16
+ link_html: { icon: 'user'},
17
+ highlights_on: /\/self_(show|edit|update)/
18
+ user.item :logout, 'Logout', destroy_user_session_path, method: :delete,
19
+ link_html: { icon: 'sign-out' }
28
20
  end
29
21
  else
30
- primary.item :login, { icon: 'fa fa-fw fa-sign-in', text: 'Login' }, new_user_session_path
22
+ primary.item :login, 'Login', new_user_session_path, link_html: { icon: 'sign-in' }
31
23
  end
32
24
  end
33
25
  end
@@ -27,14 +27,9 @@ en:
27
27
  already_present: Already present!
28
28
  logs:
29
29
  severity:
30
- emerg: Emergency
31
- alert: Alert
32
- crit: Critical error
33
- err: Error
34
- warning: Warning
35
- notice: Notice
36
30
  info: Info
37
31
  debug: Debug
32
+ error: Error
38
33
  category:
39
34
  login: Login
40
35
  user_admin: User administration
@@ -27,14 +27,9 @@ it:
27
27
  already_present: Giá presente!
28
28
  logs:
29
29
  severity:
30
- emerg: Emergenza
31
- alert: Allarme
32
- crit: Errore critico
33
- err: Errore
34
- warning: Avviso
35
- notice: Nota
36
30
  info: Info
37
31
  debug: Debug
32
+ error: Errore
38
33
  category:
39
34
  login: Login
40
35
  user_admin: Amministrazione utenti
@@ -15,9 +15,8 @@ Rails.application.routes.draw do
15
15
  resources :logs, controller: 'chaltron/logs', only: [:index, :show]
16
16
 
17
17
  # search and create LDAP users
18
- if Devise.omniauth_providers.include?(:ldap) and !Chaltron.ldap_allow_all
19
- get 'ldap/search' => 'chaltron/ldap#search'
20
- post 'ldap/multi_new' => 'chaltron/ldap#multi_new'
21
- post 'ldap/multi_create' => 'chaltron/ldap#multi_create'
22
- end
18
+ get 'ldap/search' => 'chaltron/ldap#search'
19
+ post 'ldap/multi_new' => 'chaltron/ldap#multi_new'
20
+ post 'ldap/multi_create' => 'chaltron/ldap#multi_create'
21
+
23
22
  end
@@ -14,7 +14,7 @@ module Chaltron
14
14
  @@default_roles = []
15
15
 
16
16
  mattr_accessor :ldap_allow_all
17
- @@ldap_allow_all = true
17
+ @@ldap_allow_all = false
18
18
 
19
19
  mattr_accessor :enable_syslog
20
20
  @@enable_syslog = false
@@ -22,29 +22,6 @@ module Chaltron
22
22
  mattr_accessor :syslog_facility
23
23
  @@syslog_facility = Syslog::LOG_SYSLOG
24
24
 
25
- mattr_accessor :ldap_field_mappings
26
- @@ldap_field_mappings = {
27
- first_name: 'givenname',
28
- last_name: 'cn',
29
- department: 'department',
30
- email: 'mail'
31
- }
32
-
33
- mattr_accessor :ldap_group_base
34
- @@ldap_group_base = nil
35
-
36
- mattr_accessor :ldap_group_member_filter
37
- @@ldap_group_member_filter = -> (entry) { "uniquemember=#{entry.dn}" }
38
-
39
- mattr_accessor :ldap_role_mappings
40
- @@ldap_role_mappings = {}
41
-
42
- mattr_accessor :ldap_after_authenticate
43
- @@ldap_after_authenticate = -> (user, ldap) { user }
44
-
45
- mattr_accessor :ldap_before_logout
46
- @@ldap_before_logout = -> (user, ldap) { }
47
-
48
25
  def self.setup
49
26
  yield self
50
27
  end
@@ -5,7 +5,7 @@ class BootstrapForm::FormBuilder
5
5
  checked = @object.nil?? false : @object.roles
6
6
  html = inputs_collection(:roles, collection, :first, :last, checked: checked) do |name, value, options|
7
7
  options[:multiple] = true
8
- options[:inline] = opts.fetch(:inline, true)
8
+ options[:inline] = true
9
9
 
10
10
  if value == opts[:disabled]
11
11
  options[:disabled] = true