chaltron 1.1.7 → 2.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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/chaltron.js +0 -18
  3. data/app/assets/javascripts/chaltron/core.js.erb +62 -0
  4. data/app/assets/javascripts/chaltron/datatables.js +69 -0
  5. data/app/assets/javascripts/chaltron/flash_messages.js +14 -0
  6. data/app/assets/javascripts/chaltron/ldap_create.js +44 -0
  7. data/app/assets/javascripts/chaltron/locales/en.json +25 -0
  8. data/app/assets/javascripts/chaltron/locales/it.json +25 -0
  9. data/app/assets/javascripts/chaltron/navbar.js +86 -0
  10. data/app/assets/stylesheets/chaltron.scss +0 -27
  11. data/app/helpers/chaltron/ldap_helper.rb +9 -0
  12. data/app/views/chaltron/ldap/_entry.html.erb +3 -1
  13. data/app/views/chaltron/ldap/multi_new.html.erb +6 -2
  14. data/config/initializers/devise.rb +259 -255
  15. data/config/initializers/warden.rb +27 -25
  16. data/config/routes.rb +1 -1
  17. data/lib/chaltron.rb +0 -1
  18. data/lib/chaltron/engine.rb +17 -18
  19. data/lib/chaltron/form_builder/bootstrap_form.rb +23 -0
  20. data/lib/chaltron/ldap/connection.rb +154 -152
  21. data/lib/chaltron/version.rb +1 -1
  22. data/lib/generators/chaltron/install_generator.rb +59 -5
  23. data/lib/generators/chaltron/templates/Procfile +2 -0
  24. data/lib/generators/chaltron/templates/app/assets/javascripts/{home.js.coffee → home.coffee} +0 -0
  25. data/lib/generators/chaltron/templates/app/assets/stylesheets/chaltron_custom.scss +24 -10
  26. data/lib/generators/chaltron/templates/app/assets/stylesheets/datatables.scss +2 -0
  27. data/lib/generators/chaltron/templates/app/views/layouts/application.html.erb +2 -2
  28. data/lib/generators/chaltron/templates/config/navigation.rb +8 -8
  29. metadata +13 -234
  30. data/app/assets/javascripts/chaltron/datatables.js.coffee +0 -103
  31. data/app/assets/javascripts/chaltron/localization.js.coffee +0 -59
  32. data/app/assets/javascripts/chaltron/main.js.coffee +0 -7
  33. data/app/assets/javascripts/chaltron/navbar.js.coffee +0 -62
  34. data/app/assets/javascripts/dataTables/dataTables.bootstrap4.min.js +0 -8
  35. data/lib/chaltron/bootstrap_form.rb +0 -21
  36. data/lib/generators/chaltron/install/templates/Procfile +0 -1
@@ -1,3 +1,3 @@
1
1
  module Chaltron
2
- VERSION = '1.1.7'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -15,6 +15,27 @@ module Chaltron
15
15
  end
16
16
  end
17
17
 
18
+ def add_gem_dependencies
19
+ gem 'devise'
20
+ gem 'omniauth'
21
+ gem 'omniauth-rails_csrf_protection'
22
+ gem 'gitlab_omniauth-ldap'
23
+ gem 'cancancan'
24
+
25
+ gem 'bootstrap'
26
+ gem 'autoprefixer-rails'
27
+ gem 'font-awesome-sass'
28
+
29
+ gem 'jquery-rails'
30
+ gem 'jquery-datatables'
31
+ gem 'ajax-datatables-rails'
32
+
33
+ gem 'bootstrap_form'
34
+ gem 'nprogress-rails'
35
+ gem 'simple-navigation'
36
+ gem 'rails-i18n'
37
+ end
38
+
18
39
  def db_migrations
19
40
  rake 'chaltron_engine:install:migrations'
20
41
  end
@@ -39,9 +60,43 @@ RUBY
39
60
  remove_file 'app/views/layouts/application.html.erb'
40
61
  directory 'app/views/layouts'
41
62
  directory 'app/assets/images'
42
- # javascript
43
- inject_into_file 'app/assets/javascripts/application.js',
44
- "//= require chaltron\n", before: '//= require_tree .'
63
+ end
64
+
65
+ def add_javascript
66
+ dependencies =<<EOF
67
+ //= require jquery
68
+ //= require popper
69
+ //= require bootstrap
70
+ //= require datatables/jquery.dataTables
71
+ //= require datatables/dataTables.bootstrap4
72
+ //= require datatables/extensions/Responsive/dataTables.responsive
73
+ //= require datatables/extensions/Responsive/responsive.bootstrap4
74
+ //= require nprogress
75
+ //= require nprogress-turbolinks
76
+ //= require nprogress-ajax
77
+ //= require chaltron
78
+ EOF
79
+
80
+ inject_into_file 'app/assets/javascripts/application.js', dependencies, before: '//= require_tree .'
81
+
82
+ javascript =<<JS
83
+
84
+
85
+ document.addEventListener('DOMContentLoaded', function(event) {
86
+ Chaltron.locale = $('body').data('locale');
87
+ });
88
+
89
+ NProgress.configure({
90
+ showSpinner: false,
91
+ });
92
+
93
+ JS
94
+ inject_into_file 'app/assets/javascripts/application.js', javascript, after: '//= require_tree .'
95
+ end
96
+
97
+ def add_stylesheets
98
+ copy_file 'app/assets/stylesheets/chaltron_custom.scss'
99
+ copy_file 'app/assets/stylesheets/datatables.scss'
45
100
  end
46
101
 
47
102
  def create_index_controller
@@ -51,7 +106,7 @@ RUBY
51
106
  # controller, views and assets replacement
52
107
  copy_file 'app/controllers/home_controller.rb', force: true
53
108
  directory 'app/views/home/', force: true
54
- copy_file 'app/assets/javascripts/home.js.coffee', force: true
109
+ copy_file 'app/assets/javascripts/home.coffee', force: true
55
110
  copy_file 'app/assets/stylesheets/home.scss', force: true
56
111
 
57
112
  Array(1..10).each do |x|
@@ -65,7 +120,6 @@ RUBY
65
120
 
66
121
  def setup_chaltron
67
122
  copy_file 'config/initializers/chaltron.rb'
68
- copy_file 'app/assets/stylesheets/chaltron_custom.scss'
69
123
  end
70
124
 
71
125
  def setup_authorization
@@ -0,0 +1,2 @@
1
+ web: bundle exec rails server -p 3000
2
+ webpacker: ./bin/webpack-dev-server
@@ -2,21 +2,35 @@
2
2
  * See http://getbootstrap.com/docs/4.0/getting-started/theming to learn customization
3
3
  */
4
4
 
5
- $font-size-base: 0.85rem;
5
+ $font-size-base: 0.85rem;
6
6
 
7
7
  // $theme-colors: (
8
8
  // 'primary': #343A40, // Bootstrap dark color
9
9
  // 'primary': #6C757D // Bootstrap secondary color
10
10
  // );
11
11
 
12
- @import 'chaltron';
12
+ // to keep space for navbars (top and bottom)
13
+ div#content {
14
+ margin-top: 2.7em;
15
+ margin-bottom: 2.7em;
16
+ }
13
17
 
14
- // to keep space for navbars (top and bottom)
15
- div#content {
16
- margin-top: 2.7em;
17
- margin-bottom: 2.7em;
18
- }
18
+ .flash-container {
19
+ top: 4em;
20
+ }
19
21
 
20
- .flash-container {
21
- top: 4em;
22
- }
22
+ @import 'bootstrap';
23
+
24
+ // font-awesome
25
+ @import 'font-awesome-sprockets';
26
+ @import 'font-awesome';
27
+
28
+ // bootstrap_form
29
+ @import 'rails_bootstrap_forms';
30
+
31
+ // nprogress
32
+ @import 'nprogress';
33
+ @import 'nprogress-bootstrap';
34
+
35
+ // at last
36
+ @import 'chaltron';
@@ -0,0 +1,2 @@
1
+ @import 'datatables/dataTables.bootstrap4';
2
+ @import 'datatables/extensions/Responsive/responsive.bootstrap4';
@@ -10,12 +10,12 @@
10
10
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
11
11
  <%= favicon_link_tag 'favicon.ico', rel: 'shortcut icon' %>
12
12
  </head>
13
- <body>
13
+ <%= content_tag :body, data: { locale: I18n.locale } do %>
14
14
  <%= render 'layouts/navbar' %>
15
15
  <%= render 'layouts/flash' %>
16
16
  <div id='content'>
17
17
  <%= yield %>
18
18
  </div>
19
19
  <%= render 'layouts/footer' %>
20
- </body>
20
+ <% end %>
21
21
  </html>
@@ -54,14 +54,14 @@ SimpleNavigation::Configuration.run do |navigation|
54
54
  # when the item should be highlighted, you can set a regexp which is matched
55
55
  # against the current URI. You may also use a proc, or the symbol <tt>:subpath</tt>.
56
56
  #
57
- primary.item :news, 'Link 1', home_test1_path, link_html: { icon: 'bullhorn' }
58
- primary.item :concerts, 'Link 2', home_test2_path, link_html: { icon: 'chart-line' }
59
- primary.item :video, 'Link 3', home_test3_path, link_html: { icon: 'book' }
60
- primary.item :info, 'Submenu', '#', link_html: { icon: 'hand-point-down' } do |info_nav|
61
- info_nav.item :main_info_page, 'Link 4', home_test4_path, link_html: { icon: 'paw' }
62
- info_nav.item :about_info_page, 'Link 5', home_test5_path, link_html: { icon: 'headphones' }
63
- info_nav.item :contact_info_page, 'Link 6', home_test6_path, link_html: { icon: 'futbol' }
57
+ primary.item :news, 'Link 1', home_test1_path, link_html: { icon: 'fas fa-bullhorn' }
58
+ primary.item :concerts, 'Link 2', home_test2_path, link_html: { icon: 'fas fa-chart-line' }
59
+ primary.item :video, 'Link 3', home_test3_path, link_html: { icon: 'fas fa-book' }
60
+ primary.item :info, 'Submenu', '#', link_html: { icon: 'fas fa-hand-point-down' } do |info_nav|
61
+ info_nav.item :main_info_page, 'Link 4', home_test4_path, link_html: { icon: 'fas fa-paw' }
62
+ info_nav.item :about_info_page, 'Link 5', home_test5_path, link_html: { icon: 'fas fa-headphones' }
63
+ info_nav.item :contact_info_page, 'Link 6', home_test6_path, link_html: { icon: 'fas fa-futbol' }
64
64
  end
65
- primary.item :user, 'Link7', home_test7_path, link_html: { icon: 'user' }
65
+ primary.item :user, 'Link7', home_test7_path, link_html: { icon: 'fas fa-user' }
66
66
  end
67
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chaltron
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vicvega
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-15 00:00:00.000000000 Z
11
+ date: 2020-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,230 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
- - !ruby/object:Gem::Dependency
28
- name: sass-rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '5.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '5.0'
41
- - !ruby/object:Gem::Dependency
42
- name: devise
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: omniauth
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: omniauth-rails_csrf_protection
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: gitlab_omniauth-ldap
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: autoprefixer-rails
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: bootstrap
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: font-awesome-sass
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: nprogress-rails
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: simple-navigation
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: jquery-datatables
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :runtime
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: ajax-datatables-rails
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: cancancan
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :runtime
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: bootstrap_form
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :runtime
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: rails-i18n
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :runtime
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: jquery-rails
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :runtime
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
27
  - !ruby/object:Gem::Dependency
252
28
  name: sqlite3
253
29
  requirement: !ruby/object:Gem::Requirement
@@ -400,11 +176,13 @@ files:
400
176
  - README.md
401
177
  - Rakefile
402
178
  - app/assets/javascripts/chaltron.js
403
- - app/assets/javascripts/chaltron/datatables.js.coffee
404
- - app/assets/javascripts/chaltron/localization.js.coffee
405
- - app/assets/javascripts/chaltron/main.js.coffee
406
- - app/assets/javascripts/chaltron/navbar.js.coffee
407
- - app/assets/javascripts/dataTables/dataTables.bootstrap4.min.js
179
+ - app/assets/javascripts/chaltron/core.js.erb
180
+ - app/assets/javascripts/chaltron/datatables.js
181
+ - app/assets/javascripts/chaltron/flash_messages.js
182
+ - app/assets/javascripts/chaltron/ldap_create.js
183
+ - app/assets/javascripts/chaltron/locales/en.json
184
+ - app/assets/javascripts/chaltron/locales/it.json
185
+ - app/assets/javascripts/chaltron/navbar.js
408
186
  - app/assets/stylesheets/chaltron.scss
409
187
  - app/assets/stylesheets/chaltron/layout.scss
410
188
  - app/assets/stylesheets/chaltron/logs.scss
@@ -463,22 +241,23 @@ files:
463
241
  - db/migrate/20200414150601_add_enabled_to_users.rb
464
242
  - lib/chaltron.rb
465
243
  - lib/chaltron/banner.rb
466
- - lib/chaltron/bootstrap_form.rb
467
244
  - lib/chaltron/controllers/helpers.rb
468
245
  - lib/chaltron/engine.rb
246
+ - lib/chaltron/form_builder/bootstrap_form.rb
469
247
  - lib/chaltron/ldap/connection.rb
470
248
  - lib/chaltron/ldap/person.rb
471
249
  - lib/chaltron/ldap/user.rb
472
250
  - lib/chaltron/version.rb
473
- - lib/generators/chaltron/install/templates/Procfile
474
251
  - lib/generators/chaltron/install_generator.rb
252
+ - lib/generators/chaltron/templates/Procfile
475
253
  - lib/generators/chaltron/templates/app/assets/images/700x300.gif
476
254
  - lib/generators/chaltron/templates/app/assets/images/favicon.ico
477
255
  - lib/generators/chaltron/templates/app/assets/images/slide1.gif
478
256
  - lib/generators/chaltron/templates/app/assets/images/slide2.gif
479
257
  - lib/generators/chaltron/templates/app/assets/images/slide3.gif
480
- - lib/generators/chaltron/templates/app/assets/javascripts/home.js.coffee
258
+ - lib/generators/chaltron/templates/app/assets/javascripts/home.coffee
481
259
  - lib/generators/chaltron/templates/app/assets/stylesheets/chaltron_custom.scss
260
+ - lib/generators/chaltron/templates/app/assets/stylesheets/datatables.scss
482
261
  - lib/generators/chaltron/templates/app/assets/stylesheets/home.scss
483
262
  - lib/generators/chaltron/templates/app/controllers/home_controller.rb
484
263
  - lib/generators/chaltron/templates/app/models/ability.rb