chaltron 0.3.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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