chaltron 1.1.7 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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