mcms_authentication 0.0.2 → 0.0.3

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 (35) hide show
  1. data/app/assets/images/ajax-loader.gif +0 -0
  2. data/app/assets/javascripts/application.js +2 -2
  3. data/app/assets/javascripts/validate_login.js +37 -0
  4. data/app/assets/stylesheets/authentication_global.css +1542 -319
  5. data/app/controllers/application_controller.rb +5 -2
  6. data/app/controllers/home_controller.rb +18 -1
  7. data/app/controllers/roles_controller.rb +17 -10
  8. data/app/controllers/users_controller.rb +89 -36
  9. data/app/models/user.rb +9 -4
  10. data/app/views/roles/_form.html.erb +18 -13
  11. data/app/views/roles/index.html.erb +61 -32
  12. data/app/views/users/confirmations/new.html.erb +1 -0
  13. data/app/views/users/edit.html.erb +26 -14
  14. data/app/views/users/first_user.html.erb +99 -0
  15. data/app/views/users/index.html.erb +65 -38
  16. data/app/views/users/new.html.erb +24 -10
  17. data/app/views/users/passwords/edit.html.erb +17 -1
  18. data/app/views/users/passwords/new.html.erb +18 -2
  19. data/app/views/users/sessions/new.html.erb +22 -29
  20. data/app/views/users/unlocks/new.html.erb +6 -6
  21. data/config/initializers/constants.rb +5 -6
  22. data/config/routes.rb +6 -2
  23. data/db/seeds.rb +0 -18
  24. data/lib/generators/mcms_authentication/mcms_authentication_generator.rb +38 -13
  25. data/lib/generators/mcms_authentication/templates/models.rb +16 -34
  26. data/lib/mcms_authentication/engine.rb +32 -3
  27. metadata +5 -10
  28. data/app/assets/javascripts/authentication_global.js +0 -17
  29. data/app/assets/stylesheets/application.css +0 -33
  30. data/app/views/layouts/users/_javascript.html.erb +0 -3
  31. data/app/views/layouts/users/_stylesheet.html.erb +0 -3
  32. data/app/views/layouts/users/devise.html.erb +0 -40
  33. data/app/views/layouts/users/home.html.erb +0 -99
  34. data/lib/mcms_authentication/seeds.rb +0 -14
  35. data/lib/tasks/mcms_authentication_tasks.rake +0 -4
@@ -33,18 +33,18 @@ class McmsAuthenticationGenerator < Rails::Generators::NamedBase
33
33
  rake("mcms_authentication_engine:install:migrations")
34
34
 
35
35
  # create file deb/seeds.rb to parent app if not exists
36
- create_file "db/seeds.rb" unless File.exists?(File.join(destination_root, 'db', 'seeds.rb'))
36
+ create_file "db/seeds.rb" unless File.exists?(File.join(destination_root, 'db', 'seeds.rb'))
37
37
 
38
- # append data to app's seeds.rb
39
- append_file 'db/seeds.rb', :verbose => true do
38
+ # append data to app's seeds.rb
39
+ append_file 'db/seeds.rb', :verbose => true do
40
40
 
41
- <<-EOH
41
+ <<-EOH
42
42
 
43
43
  McmsAuthentication::Engine.load_seed
44
44
 
45
- EOH
45
+ EOH
46
46
 
47
- end # end block
47
+ end # end block
48
48
 
49
49
  end
50
50
 
@@ -63,24 +63,46 @@ class McmsAuthenticationGenerator < Rails::Generators::NamedBase
63
63
  # @Purpose : Configurations are done here
64
64
 
65
65
  def configure
66
+ original_app = File.binread("app/controllers/application_controller.rb")
66
67
 
67
- insert_into_file File.join('app/controllers', 'application_controller.rb'), :after => "ActionController::Base\n" do
68
+ if((original_app.include?("include ApplicationHelper")) && (original_app.include?("def after_sign_in_path_for(resource)")))
69
+
70
+ say_status("skipped", "insert into app/controllers/application_controller.rb", :yellow)
68
71
 
72
+ else
69
73
 
70
- '
74
+ insert_into_file File.join('app/controllers', 'application_controller.rb'), :after => "ActionController::Base\n" do
75
+
76
+
77
+ '
71
78
  include ApplicationHelper #including application_helper for the availability of filters
72
79
  # The following snippet is responsible for rescuing from exception generated by CanCan gem
73
80
  # for denying a particular module access with a notice to user and redirecting to root_url
74
81
  rescue_from CanCan::AccessDenied do |exception|
75
82
 
76
83
  flash[:error] = t(:access_denied,:default => "You are not authorized for doing this operation")
77
- redirect_to root_url
84
+
85
+ if Gem.available? ("mcms")
86
+ redirect_to "/mcms/dashboard"
87
+ else
88
+ "/"
89
+ end
78
90
 
79
91
  end
80
92
 
93
+ def after_sign_in_path_for(resource)
94
+ if Gem.available? ("mcms")
95
+ "/mcms/dashboard" # <- Path you want to redirect the user to.
96
+ else
97
+ "/"
98
+ end
99
+
100
+ end
101
+
81
102
  #end of configuration
82
103
 
83
- '
104
+ '
105
+ end
84
106
  end
85
107
 
86
108
  end
@@ -91,10 +113,11 @@ class McmsAuthenticationGenerator < Rails::Generators::NamedBase
91
113
 
92
114
  def prompt_user
93
115
 
94
- say "\ndon't forget to run the following \n
116
+ unless Gem.available? ("mcms")
117
+
118
+ say "\ndon't forget to run the following \n
95
119
 
96
120
  rake db:migrate\n
97
- rake db:seed\n
98
121
 
99
122
  in the controllers where you want to apply auth\n
100
123
 
@@ -103,8 +126,10 @@ class McmsAuthenticationGenerator < Rails::Generators::NamedBase
103
126
  load_and_authorize_resource \n
104
127
 
105
128
  Enjoy!\n\n"
106
-
129
+ end
130
+
107
131
  end
108
132
 
133
+
109
134
 
110
135
  end
@@ -1,35 +1,28 @@
1
1
  =begin
2
- *************************************************************************************************************
3
- FileName: models.rb
4
2
 
5
- Company Name and Copyright information: Mindfire Solutions Pvt. Ltd.
3
+ @FileName: models.rb
6
4
 
7
- Creator name and date: Indranil Mukherjee 12/06/2012
5
+ @Company Name and Copyright information: Mindfire Solutions Pvt. Ltd.
8
6
 
9
- Description of the file contents: Defining all the routes
7
+ @Creator name and date: Indranil Mukherjee 12/06/2012
10
8
 
11
- *************************************************************************************************************
12
- =end
13
-
14
- module Models
9
+ @Description of the file contents: Defining all the routes
15
10
 
16
- =begin
17
11
 
18
- get_models : public
19
-
20
- The method is responsible for returning all existing models
12
+ =end
21
13
 
22
- returns models as an array
14
+ module Models
23
15
 
24
- =end
16
+ # @Params : Array
17
+ # @Returns : Array
18
+ # @Purpose : Returns array of existing models
25
19
 
26
-
27
20
  def get_models
28
21
 
29
22
  models = []
30
23
 
31
24
  # @models = Dir[MODEL_DIR].map {|f| File.basename(f, '.*').camelize.constantize.name } # getting existing models
32
- # Rails.application.lazy_load!
25
+ Rails.application.eager_load!
33
26
 
34
27
  @models = ActiveRecord::Base.descendants.collect(&:name)
35
28
 
@@ -106,15 +99,9 @@ module Models
106
99
  return arr
107
100
  end
108
101
 
109
- =begin
110
-
111
- get_relations : public
112
-
113
- The method is responsible for defining a module based on the passed model and its association
114
-
115
- returns modules as an array
116
-
117
- =end
102
+ # @Params : Array
103
+ # @Returns : Array
104
+ # @Purpose : Returns array of interrelated models
118
105
 
119
106
  def get_relations model
120
107
 
@@ -129,15 +116,10 @@ module Models
129
116
 
130
117
 
131
118
 
132
- =begin
133
-
134
- get_module_name : public
135
-
136
- The method is responsible for defining a module name based on the passed models
137
-
138
- returns a string
119
+ # @Params : Array
120
+ # @Returns : Array
121
+ # @Purpose : Returns determined name of the module
139
122
 
140
- =end
141
123
 
142
124
 
143
125
  def self.get_module_name(models)
@@ -1,15 +1,44 @@
1
+ =begin
2
+
3
+ @File Name :mcms_authentication::engine.rb
4
+
5
+ @Company Name :Mindfire Solutions Pvt. Ltd.
6
+
7
+ @Creator Name :Indranil Mukherjee
8
+
9
+ @Date Created :2012-06-14
10
+
11
+ @Date Modified :2012-06-25
12
+
13
+ @Last Modification Details :Making it as mcms project standard
14
+
15
+ @Purpose :This file is responsible to install mcms_authentication module in other application/module
16
+
17
+ =end
18
+
1
19
  module McmsAuthentication
2
20
  class Engine < ::Rails::Engine
3
21
  require 'devise'
4
22
  require "cancan"
5
23
 
6
- # Writting configurations
7
24
  config.to_prepare do
25
+
26
+ if Gem.available?('mcms')
8
27
 
28
+ #if yes then use core layout
29
+ Devise::SessionsController.layout "mcms/main_layout"
30
+ Devise::PasswordsController.layout "mcms/main_layout"
31
+
32
+ elsif Gem.available?('mcms_pages')# if not
9
33
 
10
- Devise::SessionsController.layout "users/devise"
11
- Devise::PasswordsController.layout "users/devise"
34
+ # use page's default layout
35
+
36
+ Devise::SessionsController.layout "mcms_pages/layouts/mcms_layout"
37
+ Devise::PasswordsController.layout "mcms_pages/layouts/mcms_layout"
38
+
39
+ end # end if
12
40
 
41
+
13
42
  end
14
43
 
15
44
  # Custom directories with classes and modules you want to be autoloadable.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcms_authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-11 00:00:00.000000000 Z
12
+ date: 2012-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -68,10 +68,6 @@ extensions: []
68
68
  extra_rdoc_files: []
69
69
  files:
70
70
  - app/views/home/index.html.erb
71
- - app/views/layouts/users/_javascript.html.erb
72
- - app/views/layouts/users/home.html.erb
73
- - app/views/layouts/users/_stylesheet.html.erb
74
- - app/views/layouts/users/devise.html.erb
75
71
  - app/views/roles/new.html.erb
76
72
  - app/views/roles/_form.js.erb
77
73
  - app/views/roles/edit.html.erb
@@ -84,6 +80,7 @@ files:
84
80
  - app/views/users/new.html.erb
85
81
  - app/views/users/shared/_links.erb
86
82
  - app/views/users/unlocks/new.html.erb
83
+ - app/views/users/first_user.html.erb
87
84
  - app/views/users/edit.html.erb
88
85
  - app/views/users/passwords/new.html.erb
89
86
  - app/views/users/passwords/edit.html.erb
@@ -91,6 +88,7 @@ files:
91
88
  - app/views/users/_role.js.erb
92
89
  - app/views/users/confirmations/new.html.erb
93
90
  - app/assets/images/rails.png
91
+ - app/assets/images/ajax-loader.gif
94
92
  - app/assets/images/background/page_bg.png
95
93
  - app/assets/images/background/text_field_background.png
96
94
  - app/assets/images/icons/delete.png
@@ -100,8 +98,7 @@ files:
100
98
  - app/assets/images/icons/email_go.png
101
99
  - app/assets/images/icons/add.png
102
100
  - app/assets/javascripts/application.js
103
- - app/assets/javascripts/authentication_global.js
104
- - app/assets/stylesheets/application.css
101
+ - app/assets/javascripts/validate_login.js
105
102
  - app/assets/stylesheets/authentication_global.css
106
103
  - app/models/ability.rb
107
104
  - app/models/existing_model.rb
@@ -127,8 +124,6 @@ files:
127
124
  - db/seeds.rb
128
125
  - lib/mcms_authentication/engine.rb
129
126
  - lib/mcms_authentication/version.rb
130
- - lib/mcms_authentication/seeds.rb
131
- - lib/tasks/mcms_authentication_tasks.rake
132
127
  - lib/mcms_authentication.rb
133
128
  - lib/generators/mcms_authentication/templates/models.rb
134
129
  - lib/generators/mcms_authentication/templates/asset_manager.rb
@@ -1,17 +0,0 @@
1
- /*
2
-
3
- @File Name :authentication_global.js
4
-
5
- @Company Name :Mindfire Solutions Pvt. Ltd.
6
-
7
- @Creator Name :Indranil Mukherjee
8
-
9
- @Date Created :2012-06-04
10
-
11
- @Date Modified :2012-06-15
12
-
13
- @Last Modification Details :Making it as mcms project standard
14
-
15
- @Purpose :Global js
16
-
17
- */
@@ -1,33 +0,0 @@
1
- /*
2
-
3
- @File Name :application.css
4
-
5
- @Company Name :Mindfire Solutions Pvt. Ltd.
6
-
7
- @Creator Name :Indranil Mukherjee
8
-
9
- @Date Created :2012-06-04
10
-
11
- @Date Modified :2012-06-15
12
-
13
- @Last Modification Details :Making it as mcms project standard
14
-
15
- @Purpose :Default css
16
-
17
- */
18
-
19
- /*
20
- * This is a manifest file that'll be compiled into application.css, which will include all the files
21
- * listed below.
22
- *
23
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
24
- * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
25
- *
26
- * You're free to add application-wide styles to this file and they'll appear at the top of the
27
- * compiled file, but it's generally better to create a new file per style scope.
28
- *
29
- * require_self
30
- * require_tree .
31
-
32
- */
33
-
@@ -1,3 +0,0 @@
1
- <%# AssetManager.get_libraries.each do |library| %>
2
- <%#= javascript_include_tag library %>
3
- <%# end %>
@@ -1,3 +0,0 @@
1
- <% AssetManager.get_libraries.each do |library| %>
2
- <%= stylesheet_link_tag library %>
3
- <% end %>
@@ -1,40 +0,0 @@
1
- <!--
2
-
3
- @File Name :devise.html.erb
4
-
5
- @Company Name :Mindfire Solutions Pvt. Ltd.
6
-
7
- @Creator Name :Indranil Mukherjee
8
-
9
- @Date Created :2012-06-04
10
-
11
- @Date Modified :2012-06-14
12
-
13
- @Last Modification Details :Making it as mcms project standard
14
-
15
- @Purpose :Main layout
16
-
17
- -->
18
-
19
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
20
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
21
- <html xmlns="http://www.w3.org/1999/xhtml">
22
- <head>
23
-
24
- <title>Mcms Authentication</title>
25
-
26
- <%= stylesheet_link_tag "authentication_global", :media => "all" %>
27
-
28
- <%= csrf_meta_tags %>
29
-
30
- </head>
31
-
32
- <body>
33
-
34
- <%= yield %>
35
-
36
- </body>
37
-
38
- </html>
39
-
40
-
@@ -1,99 +0,0 @@
1
- <!--
2
-
3
- @File Name :home.html.erb
4
-
5
- @Company Name :Mindfire Solutions Pvt. Ltd.
6
-
7
- @Creator Name :Indranil Mukherjee
8
-
9
- @Date Created :2012-06-04
10
-
11
- @Date Modified :2012-06-14
12
-
13
- @Last Modification Details :Making it as mcms project standard
14
-
15
- @Purpose :Custom layout
16
-
17
- -->
18
-
19
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
20
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
21
- <html xmlns="http://www.w3.org/1999/xhtml">
22
-
23
- <head>
24
-
25
- <title>Mcms Authentication</title>
26
-
27
- <!-- Following is the stylesheets included using rails helper stylesheet_link_tag -->
28
-
29
- <%= stylesheet_link_tag "authentication_global", :media => "all" %>
30
-
31
- <!-- Following is the javascripts included using rails helper javascript_include_tag -->
32
-
33
- <%= javascript_include_tag "application","authentication_global" %>
34
-
35
-
36
- <!-- ".ui.core","ui.widget","ui.tabs" are used for tabbed pane -->
37
- <%= render :partial => "layouts/users/javascript" %>
38
- <!-- This is to prevent from outside forgery -->
39
-
40
- <%= csrf_meta_tags %>
41
-
42
- <!-- specific pages needs some javascripts -->
43
-
44
- <%= yield :javascript %>
45
-
46
- </head>
47
-
48
- <body>
49
-
50
- <div id="header">
51
- <div id="site-bar-branding">
52
- <span id="site-bar-company_name">
53
- MCMS Authentication
54
- </span>
55
-
56
- <% if user_signed_in? %> <!-- checking if any user logged in -->
57
-
58
- <a id="logout" href="<%= mcms_users_logout_path %>">Log out</a>
59
-
60
- <% end %>
61
-
62
- </div>
63
- </div>
64
- <% if flash[:notice] || flash[:error] %> <!-- If any notice or errors are there -->
65
-
66
- <div id="flash-container">
67
-
68
-
69
- <div style="visibility: visible; opacity: 1;" class="flash flash-notice" id="flash">
70
-
71
- <%= flash[:notice] || flash[:error] %>
72
-
73
- <a id="flash-close" href="">Close</a>
74
-
75
- </div>
76
-
77
- </div>
78
-
79
- <% end %>
80
-
81
- <div id="tabs">
82
-
83
- <ul>
84
-
85
- <li data-path="/mcms/users"><a id="users" href="/mcms/users" style="cursor: pointer;">Users</a></li>
86
-
87
- <li data-path="/mcms/roles" ><a id="roles" href="/mcms/roles" style="cursor: pointer">Roles</a></li>
88
-
89
- </ul>
90
-
91
- </div>
92
-
93
- <!-- yielding from views -->
94
-
95
- <%= yield %>
96
-
97
- </body>
98
-
99
- </html>
@@ -1,14 +0,0 @@
1
- #default data for mcms_authentication
2
-
3
- User.create!(:email => "admin@mcms.com" ,:password => "admin123" )
4
- Role.create!(:title => 'superuser')
5
-
6
- u = User.find_by_email('admin@mcms.com')
7
-
8
- r = Role.find_by_title('superuser')
9
-
10
- RolesUser.create!(:user_id => u.id , :role_id => r.id) #writting seeds
11
-
12
-
13
-
14
-
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :mcms_authentication do
3
- # # Task goes here
4
- # end