authentasaurus 0.8.4 → 0.8.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/CHANGELIST +6 -2
  2. data/TODO +2 -0
  3. data/app/controllers/sessions_controller.rb +1 -1
  4. data/app/models/authentasaurus_emailer.rb +6 -6
  5. data/app/models/{session.rb → authentasaurus_session.rb} +1 -1
  6. data/app/views/authentasaurus_emailer/invitation_mail.html.erb +2 -2
  7. data/app/views/authentasaurus_emailer/recovery_mail.html.erb +2 -2
  8. data/app/views/authentasaurus_emailer/validation_mail.html.erb +2 -2
  9. data/lib/authentasaurus.rb +5 -1
  10. data/lib/authentasaurus/ac/acts_as_overrider.rb +6 -5
  11. data/lib/authentasaurus/ac/controllers/areas_controller.rb +52 -57
  12. data/lib/authentasaurus/ac/controllers/groups_controller.rb +55 -59
  13. data/lib/authentasaurus/ac/controllers/permissions_controller.rb +52 -57
  14. data/lib/authentasaurus/ac/controllers/recoveries_controller.rb +49 -54
  15. data/lib/authentasaurus/ac/controllers/registrations_controller.rb +23 -28
  16. data/lib/authentasaurus/ac/controllers/sessions_controller.rb +39 -40
  17. data/lib/authentasaurus/ac/controllers/user_invitations_controller.rb +29 -34
  18. data/lib/authentasaurus/ac/controllers/users_controller.rb +51 -56
  19. data/lib/authentasaurus/ac/controllers/validations_controller.rb +34 -39
  20. data/lib/authentasaurus/ac/routing.rb +70 -74
  21. data/lib/authentasaurus/ar/acts_as_authenticatable.rb +58 -64
  22. data/lib/authentasaurus/ar/acts_as_authenticatable_validatable.rb +13 -16
  23. data/lib/authentasaurus/ar/acts_as_overrider.rb +1 -3
  24. data/lib/authentasaurus/ar/authenticatable.rb +1 -3
  25. data/lib/authentasaurus/ar/migrations.rb +137 -145
  26. data/lib/authentasaurus/ar/models/recovery.rb +20 -23
  27. data/lib/authentasaurus/ar/models/session.rb +46 -46
  28. data/lib/authentasaurus/ar/models/user_invitation.rb +19 -22
  29. data/lib/authentasaurus/ar/models/validation.rb +12 -15
  30. data/lib/authentasaurus/arel/acts_as_authenticatable.rb +18 -23
  31. data/lib/authentasaurus/arel/authenticatable.rb +5 -9
  32. data/lib/authentasaurus/authorization.rb +11 -8
  33. data/lib/authentasaurus/configuration.rb +30 -0
  34. data/lib/authentasaurus/railtie.rb +3 -6
  35. data/lib/generators/authentasaurus/install/install_generator.rb +1 -2
  36. data/lib/generators/authentasaurus/install/templates/authentasaurus_tasks.rake +2 -2
  37. data/lib/generators/authentasaurus/install/templates/defaults.yml +4 -2
  38. data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/invitation_mail.html.erb +2 -2
  39. data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/recovery_mail.html.erb +2 -2
  40. data/lib/generators/authentasaurus/views/templates/authentasaurus_emailer/validation_mail.html.erb +2 -2
  41. data/lib/generators/authentasaurus/views/views_generator.rb +1 -1
  42. metadata +8 -8
  43. data/lib/generators/authentasaurus/install/templates/initializer.rb +0 -3
@@ -1,72 +1,67 @@
1
1
  module Authentasaurus::Ac::Controllers
2
2
  module RecoveriesController
3
- def self.included(base) # :nodoc:
4
- base.send :extend, ClassMethods
5
- base.send :include, InstanceMethods
6
- end
3
+ extend ActiveSupport::Concern
7
4
 
8
5
  module ClassMethods
9
6
  end
10
-
11
- module InstanceMethods
12
- def new
13
- @recovery = Recovery.new
14
7
 
15
- respond_to do |format|
16
- format.html
17
- end
8
+ def new
9
+ @recovery = Recovery.new
10
+
11
+ respond_to do |format|
12
+ format.html
18
13
  end
14
+ end
15
+
16
+ def create
17
+ @recovery = Recovery.find_or_initialize_by_email :email => params[:email]
19
18
 
20
- def create
21
- @recovery = Recovery.find_or_initialize_by_email :email => params[:email]
22
-
23
- if @recovery.new_record?
24
- @recovery.user = User.find_by_email @recovery.email
25
- end
26
-
27
- respond_to do |format|
28
- if @recovery.save
29
- @recovery.touch
30
- format.html { redirect_to new_session_path, :notice => t(:recovery_email_sent, :scope => [:authentasaurus, :messages, :recoveries], :email => @recovery.email) }
31
- else
32
- format.html {render :new}
33
- end
34
- end
19
+ if @recovery.new_record?
20
+ @recovery.user = User.find_by_email @recovery.email
35
21
  end
36
22
 
37
- def edit
38
- @recovery = Recovery.valid.find_by_token(params[:token])
39
-
40
- respond_to do |format|
41
- unless @recovery.nil?
42
- @user = @recovery.user
43
- format.html
44
- else
45
- format.html { redirect_to new_session_path, :alert => t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
46
- end
23
+ respond_to do |format|
24
+ if @recovery.save
25
+ @recovery.touch
26
+ format.html { redirect_to new_authentasaurus_session_path, :notice => t(:recovery_email_sent, :scope => [:authentasaurus, :messages, :recoveries], :email => @recovery.email) }
27
+ else
28
+ format.html {render :new}
29
+ end
30
+ end
31
+ end
32
+
33
+ def edit
34
+ @recovery = Recovery.valid.find_by_token(params[:token])
35
+
36
+ respond_to do |format|
37
+ unless @recovery.nil?
38
+ @user = @recovery.user
39
+ format.html
40
+ else
41
+ format.html { redirect_to new_authentasaurus_session_path, :alert => t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
47
42
  end
48
43
  end
44
+ end
45
+
46
+ def destroy
47
+ @recovery = Recovery.find_by_token params[:token]
48
+ @user = @recovery.user
49
49
 
50
- def destroy
51
- @recovery = Recovery.find_by_token params[:token]
52
- @user = @recovery.user
53
-
54
- respond_to do |format|
55
- empty_fields = params[:user].select { |key, value| value.blank? }
56
- if !empty_fields.empty?
57
- empty_fields.each do |f|
58
- @user.errors.add_to_base t(:recovery_field_blank, :scope => [:authentasaurus, :messages, :recoveries], :field => f.first.humanize)
59
- end
60
- format.html { render :edit }
61
- elsif @user.update_attributes params[:user]
62
- @recovery.destroy
63
- format.html { redirect_to new_session_path, :notice => t(:recovery_successful, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
64
- else
65
- flash.now[:alert] = t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email])
66
- format.html { render :edit }
50
+ respond_to do |format|
51
+ empty_fields = params[:user].select { |key, value| value.blank? }
52
+ if !empty_fields.empty?
53
+ empty_fields.each do |f|
54
+ @user.errors.add_to_base t(:recovery_field_blank, :scope => [:authentasaurus, :messages, :recoveries], :field => f.first.humanize)
67
55
  end
56
+ format.html { render :edit }
57
+ elsif @user.update_attributes params[:user]
58
+ @recovery.destroy
59
+ format.html { redirect_to new_authentasaurus_session_path, :notice => t(:recovery_successful, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email]) }
60
+ else
61
+ flash.now[:alert] = t(:recovery_failed, :scope => [:authentasaurus, :messages, :recoveries], :email => params[:email])
62
+ format.html { render :edit }
68
63
  end
69
64
  end
70
65
  end
71
- end
66
+ end
72
67
  end
@@ -1,43 +1,38 @@
1
1
  module Authentasaurus::Ac::Controllers
2
2
  module RegistrationsController
3
- def self.included(base) # :nodoc:
4
- base.send :extend, ClassMethods
5
- base.send :include, InstanceMethods
6
- end
3
+ extend ActiveSupport::Concern
7
4
 
8
5
  module ClassMethods
9
6
  end
10
-
11
- module InstanceMethods
12
- def new
13
- @user = User.new
14
- @user_invitation = UserInvitation.find_by_token params[:token]
15
7
 
16
- respond_to do |format|
17
- if @user_invitation.nil?
18
- format.html {redirect_to new_session_path, :alert => t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])}
19
- else
20
- @user.email = @user_invitation.email
21
- format.html
22
- end
8
+ def new
9
+ @user = User.new
10
+ @user_invitation = UserInvitation.find_by_token params[:token]
11
+
12
+ respond_to do |format|
13
+ if @user_invitation.nil?
14
+ format.html {redirect_to new_authentasaurus_session_path, :alert => t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])}
15
+ else
16
+ @user.email = @user_invitation.email
17
+ format.html
23
18
  end
24
19
  end
20
+ end
21
+
22
+ def create
23
+ @user = User.new params[:user]
24
+ user_invitation = UserInvitation.find_by_token params[:token]
25
25
 
26
- def create
27
- @user = User.new params[:user]
28
- user_invitation = UserInvitation.find_by_token params[:token]
29
-
30
- respond_to do |format|
31
- unless user_invitation.nil?
32
- if @user.save
33
- format.html {redirect_to new_session_path}
34
- else
35
- format.html {render :new}
36
- end
26
+ respond_to do |format|
27
+ unless user_invitation.nil?
28
+ if @user.save
29
+ format.html {redirect_to new_authentasaurus_session_path}
37
30
  else
38
- flash.now[:alert] = t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])
39
31
  format.html {render :new}
40
32
  end
33
+ else
34
+ flash.now[:alert] = t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])
35
+ format.html {render :new}
41
36
  end
42
37
  end
43
38
  end
@@ -1,58 +1,57 @@
1
1
  module Authentasaurus::Ac::Controllers
2
2
  module SessionsController
3
- def self.included(base) # :nodoc:
4
- base.send :extend, ClassMethods
5
- base.send :include, InstanceMethods
6
-
7
- base.send :before_filter, :check_is_logged_in, :except => [:destroy, :no_access]
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ before_filter :check_is_logged_in, :except => [:destroy, :no_access]
8
7
  end
9
8
 
10
9
  module ClassMethods
11
10
  end
12
-
13
- module InstanceMethods
14
- def new
15
- @session = Session.new
16
11
 
17
- respond_to do |format|
18
- format.html
19
- end
12
+ def new
13
+ @session = AuthentasaurusSession.new
14
+
15
+ respond_to do |format|
16
+ format.html
20
17
  end
18
+ end
19
+
20
+ def create
21
+ @session = AuthentasaurusSession.new params[:authentasaurus_session]
21
22
 
22
- def create
23
- @session = Session.new params[:session]
24
-
25
- respond_to do |format|
26
- if @session.save
27
- if @session.remember == "1"
28
- cookies.signed.permanent[:remember_me_token] = @session.user.remember_me_token
29
- end
30
- session[:user_id] = @session.user.id
23
+ respond_to do |format|
24
+ if @session.save(self.class.user_model)
25
+ if @session.remember == "1"
26
+ cookies.signed.permanent[:remember_me_token] = @session.user.remember_me_token
27
+ end
28
+ session[:user_id] = @session.user.id
29
+ if @session.user.respond_to?(:permissions)
31
30
  session[:user_permissions] = {:read => @session.user.permissions.collect{|per| per.area.name if per.read}, :write => @session.user.permissions.collect{|per| per.area.name if per.write}}
32
- format.html { redirect_to session[:original_url] || (defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path) }
33
- else
34
- format.html { render :action => :new }
35
31
  end
32
+ format.html { redirect_to session[:original_url] || (defined?(authentasaurus_signin_redirect_path).nil? ? root_path : authentasaurus_signin_redirect_path) }
33
+ else
34
+ format.html { render :action => :new }
36
35
  end
37
-
38
36
  end
39
37
 
40
- def destroy
41
- session[:user_id] = nil
42
- session[:user_permissions] = nil
43
- cookies.delete :remember_me_token
44
-
45
- respond_to do |format|
46
- format.html { redirect_to :action => :new }
47
- end
48
- end
38
+ end
39
+
40
+ def destroy
41
+ session[:user_id] = nil
42
+ session[:user_permissions] = nil
43
+ cookies.delete :remember_me_token
49
44
 
50
- private
51
- def check_is_logged_in
52
- if is_logged_in?
53
- redirect_to defined?(signin_redirect_path).nil? ? root_path : signin_redirect_path
54
- end
45
+ respond_to do |format|
46
+ format.html { redirect_to :action => :new }
47
+ end
48
+ end
49
+
50
+ private
51
+ def check_is_logged_in
52
+ if is_logged_in?
53
+ redirect_to defined?(authentasaurus_signin_redirect_path).nil? ? root_path : authentasaurus_signin_redirect_path
55
54
  end
56
55
  end
57
- end
56
+ end
58
57
  end
@@ -1,50 +1,45 @@
1
1
  module Authentasaurus::Ac::Controllers
2
2
  module UserInvitationsController
3
- def self.included(base) # :nodoc:
4
- base.send :extend, ClassMethods
5
- base.send :include, InstanceMethods
6
- end
3
+ extend ActiveSupport::Concern
7
4
 
8
5
  module ClassMethods
9
6
  end
10
-
11
- module InstanceMethods
12
- def index
13
- @invitations = UserInvitation.find :all
14
7
 
15
- respond_to do |format|
16
- format.html
17
- end
18
- end
8
+ def index
9
+ @invitations = UserInvitation.find :all
19
10
 
20
- def new
21
- @invitation = UserInvitation.new
22
-
23
- respond_to do |format|
24
- format.html
25
- end
11
+ respond_to do |format|
12
+ format.html
26
13
  end
14
+ end
15
+
16
+ def new
17
+ @invitation = UserInvitation.new
27
18
 
28
- def create
29
- @invitation = UserInvitation.new params[:user_invitation]
30
-
31
- respond_to do |format|
32
- if @invitation.save
33
- format.html { redirect_to :action => :index }
34
- else
35
- format.html {render :new}
36
- end
37
- end
19
+ respond_to do |format|
20
+ format.html
38
21
  end
22
+ end
23
+
24
+ def create
25
+ @invitation = UserInvitation.new params[:user_invitation]
39
26
 
40
- def destroy
41
- invitation = UserInvitation.find params[:id]
42
- invitation.destroy
43
-
44
- respond_to do |format|
27
+ respond_to do |format|
28
+ if @invitation.save
45
29
  format.html { redirect_to :action => :index }
30
+ else
31
+ format.html {render :new}
46
32
  end
47
33
  end
48
34
  end
49
- end
35
+
36
+ def destroy
37
+ invitation = UserInvitation.find params[:id]
38
+ invitation.destroy
39
+
40
+ respond_to do |format|
41
+ format.html { redirect_to :action => :index }
42
+ end
43
+ end
44
+ end
50
45
  end
@@ -1,79 +1,74 @@
1
1
  module Authentasaurus::Ac::Controllers
2
2
  module UsersController
3
- def self.included(base) # :nodoc:
4
- base.send :extend, ClassMethods
5
- base.send :include, InstanceMethods
6
- end
3
+ extend ActiveSupport::Concern
7
4
 
8
5
  module ClassMethods
9
6
  end
10
-
11
- module InstanceMethods
12
- def index
13
- @users = User.all
14
7
 
15
- respond_to do |format|
16
- format.html
17
- end
8
+ def index
9
+ @users = User.all
10
+
11
+ respond_to do |format|
12
+ format.html
18
13
  end
14
+ end
15
+
16
+ def show
17
+ @user = User.find(params[:id])
19
18
 
20
- def show
21
- @user = User.find(params[:id])
22
-
23
- respond_to do |format|
24
- format.html
25
- end
19
+ respond_to do |format|
20
+ format.html
26
21
  end
22
+ end
23
+
24
+ def new
25
+ @user = User.new
27
26
 
28
- def new
29
- @user = User.new
30
-
31
- respond_to do |format|
32
- format.html
33
- end
27
+ respond_to do |format|
28
+ format.html
34
29
  end
30
+ end
31
+
32
+ def create
33
+ @user = User.new params[:user]
35
34
 
36
- def create
37
- @user = User.new params[:user]
38
-
39
- respond_to do |format|
40
- if @user.save
41
- format.html { redirect_to :action=>:index, :notice => "User saved successfully" }
42
- else
43
- flash.now[:alert] = I18n.t(:create_failed, :scope => [:authentasaurus, :messages, :users])
44
- format.html { render :new }
45
- end
35
+ respond_to do |format|
36
+ if @user.save
37
+ format.html { redirect_to :action=>:index, :notice => "User saved successfully" }
38
+ else
39
+ flash.now[:alert] = I18n.t(:create_failed, :scope => [:authentasaurus, :messages, :users])
40
+ format.html { render :new }
46
41
  end
47
42
  end
43
+ end
44
+
45
+ def edit
46
+ @user = User.find params[:id]
48
47
 
49
- def edit
50
- @user = User.find params[:id]
51
-
52
- respond_to do |format|
53
- format.html
54
- end
48
+ respond_to do |format|
49
+ format.html
55
50
  end
51
+ end
52
+
53
+ def update
54
+ @user = User.find params[:id]
56
55
 
57
- def update
58
- @user = User.find params[:id]
59
-
60
- respond_to do |format|
61
- if @user.update_attributes(params[:user])
62
- format.html { redirect_to :action => :index, :notice => "User updated" }
63
- else
64
- flash.now[:alert] = I18n.t(:update_failed, :scope => [:authentasaurus, :messages, :users])
65
- format.html { render :edit }
66
- end
56
+ respond_to do |format|
57
+ if @user.update_attributes(params[:user])
58
+ format.html { redirect_to :action => :index, :notice => "User updated" }
59
+ else
60
+ flash.now[:alert] = I18n.t(:update_failed, :scope => [:authentasaurus, :messages, :users])
61
+ format.html { render :edit }
67
62
  end
68
63
  end
64
+ end
65
+
66
+ def destroy
67
+ @user = User.find params[:id]
68
+ @user.destroy
69
69
 
70
- def destroy
71
- @user = User.find params[:id]
72
- @user.destroy
73
-
74
- respond_to do |format|
75
- format.html { redirect_to :action=>:index }
76
- end
70
+ respond_to do |format|
71
+ format.html { redirect_to :action=>:index }
77
72
  end
78
73
  end
79
74
  end