authentasaurus 0.7.3 → 0.8.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.
- data/TODO +3 -0
- data/app/controllers/areas_controller.rb +1 -1
- data/app/controllers/groups_controller.rb +1 -1
- data/app/controllers/permissions_controller.rb +1 -1
- data/app/controllers/recoveries_controller.rb +1 -1
- data/app/controllers/registrations_controller.rb +1 -1
- data/app/controllers/sessions_controller.rb +1 -1
- data/app/controllers/user_invitations_controller.rb +1 -1
- data/app/controllers/users_controller.rb +1 -1
- data/app/controllers/validations_controller.rb +1 -1
- data/app/models/area.rb +1 -1
- data/app/models/group.rb +1 -1
- data/app/models/permission.rb +1 -1
- data/app/models/recovery.rb +1 -1
- data/app/models/session.rb +1 -1
- data/app/models/user_invitation.rb +1 -1
- data/app/models/validation.rb +1 -1
- data/lib/authentasaurus.rb +22 -36
- data/lib/authentasaurus/ac/acts_as_overrider.rb +47 -0
- data/lib/authentasaurus/ac/controllers/areas_controller.rb +80 -0
- data/lib/authentasaurus/ac/controllers/groups_controller.rb +81 -0
- data/lib/authentasaurus/ac/controllers/permissions_controller.rb +81 -0
- data/lib/authentasaurus/ac/controllers/recoveries_controller.rb +72 -0
- data/lib/authentasaurus/ac/controllers/registrations_controller.rb +45 -0
- data/lib/authentasaurus/ac/controllers/sessions_controller.rb +58 -0
- data/lib/authentasaurus/ac/controllers/user_invitations_controller.rb +50 -0
- data/lib/authentasaurus/ac/controllers/users_controller.rb +80 -0
- data/lib/authentasaurus/ac/controllers/validations_controller.rb +53 -0
- data/lib/authentasaurus/ac/routing.rb +90 -0
- data/lib/authentasaurus/ar/acts_as_authenticatable.rb +113 -0
- data/lib/authentasaurus/ar/acts_as_authenticatable_validatable.rb +38 -0
- data/lib/authentasaurus/ar/acts_as_overrider.rb +51 -0
- data/lib/authentasaurus/ar/authenticatable.rb +66 -0
- data/lib/authentasaurus/ar/migrations.rb +173 -0
- data/lib/authentasaurus/{models → ar/models}/recovery.rb +3 -3
- data/lib/authentasaurus/{models → ar/models}/session.rb +1 -1
- data/lib/authentasaurus/{models → ar/models}/user_invitation.rb +1 -1
- data/lib/authentasaurus/{models → ar/models}/validation.rb +1 -1
- data/lib/authentasaurus/arel/acts_as_authenticatable.rb +72 -0
- data/lib/authentasaurus/arel/authenticatable.rb +25 -0
- data/lib/authentasaurus/authorization.rb +341 -0
- data/lib/authentasaurus/railtie.rb +4 -4
- data/lib/generators/authentasaurus/install/templates/initializer.rb +1 -1
- data/rdoc/apple-touch-icon.png +0 -0
- data/rdoc/classes/Authentasaurus.html +65 -0
- data/rdoc/classes/Authentasaurus/Ac.html +72 -0
- data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider.html +104 -0
- data/rdoc/classes/Authentasaurus/Ac/ActsAsOverrider/ClassMethods.html +397 -0
- data/rdoc/classes/Authentasaurus/Ac/Routing.html +61 -0
- data/rdoc/classes/Authentasaurus/Ac/Routing/InstanceMethods.html +390 -0
- data/rdoc/classes/Authentasaurus/Ar.html +77 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable.html +107 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/ClassMethods.html +168 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatable/InstanceMethods.html +357 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable.html +109 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/ClassMethods.html +113 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsAuthenticatableValidatable/InstanceMethods.html +54 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider.html +104 -0
- data/rdoc/classes/Authentasaurus/Ar/ActsAsOverrider/ClassMethods.html +320 -0
- data/rdoc/classes/Authentasaurus/Ar/Authenticatable.html +104 -0
- data/rdoc/classes/Authentasaurus/Ar/Authenticatable/ClassMethods.html +182 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations.html +63 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns.html +68 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Columns/InstanceMethods.html +106 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables.html +68 -0
- data/rdoc/classes/Authentasaurus/Ar/Migrations/Tables/InstanceMethods.html +703 -0
- data/rdoc/classes/Authentasaurus/Arel.html +65 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable.html +107 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/ClassMethods.html +139 -0
- data/rdoc/classes/Authentasaurus/Arel/ActsAsAuthenticatable/InstanceMethods.html +113 -0
- data/rdoc/classes/Authentasaurus/Arel/Authenticatable.html +105 -0
- data/rdoc/classes/Authentasaurus/Arel/Authenticatable/ClassMethods.html +119 -0
- data/rdoc/classes/Authentasaurus/Authorization.html +230 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController.html +63 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController/ClassMethods.html +263 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionController/InstanceMethods.html +54 -0
- data/rdoc/classes/Authentasaurus/Authorization/ActionView.html +54 -0
- data/rdoc/classes/Authentasaurus/Authorization/CommonInstanceMethods.html +240 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/css/main.css +278 -0
- data/rdoc/css/panel.css +383 -0
- data/rdoc/css/reset.css +53 -0
- data/rdoc/favicon.ico +0 -0
- data/rdoc/files/README_rdoc.html +366 -0
- data/rdoc/files/TODO.html +64 -0
- data/rdoc/files/lib/authentasaurus/ac/acts_as_overrider_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ac/routing_rb.html +60 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_authenticatable_validatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/acts_as_overrider_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/ar/migrations_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/arel/acts_as_authenticatable_rb.html +52 -0
- data/rdoc/files/lib/authentasaurus/arel/authenticatable_rb.html +72 -0
- data/rdoc/files/lib/authentasaurus/authorization_rb.html +208 -0
- data/rdoc/i/arrows.png +0 -0
- data/rdoc/i/results_bg.png +0 -0
- data/rdoc/i/tree_bg.png +0 -0
- data/rdoc/index.html +15 -0
- data/rdoc/js/jquery-1.3.2.min.js +19 -0
- data/rdoc/js/jquery-effect.js +593 -0
- data/rdoc/js/main.js +22 -0
- data/rdoc/js/searchdoc.js +628 -0
- data/rdoc/panel/index.html +71 -0
- data/rdoc/panel/search_index.js +1 -0
- data/rdoc/panel/tree.js +1 -0
- metadata +92 -44
- data/lib/action_controller/authorization.rb +0 -215
- data/lib/action_view/authorization.rb +0 -52
- data/lib/active_record/acts_as_authenticatable.rb +0 -111
- data/lib/active_record/acts_as_authenticatable_validatable.rb +0 -36
- data/lib/active_record/authenticatable.rb +0 -64
- data/lib/active_resource/acts_as_authenticatable.rb +0 -70
- data/lib/active_resource/authenticatable.rb +0 -24
- data/lib/authentasaurus/areas_controller.rb +0 -78
- data/lib/authentasaurus/groups_controller.rb +0 -79
- data/lib/authentasaurus/models/area.rb +0 -21
- data/lib/authentasaurus/models/group.rb +0 -19
- data/lib/authentasaurus/models/permission.rb +0 -24
- data/lib/authentasaurus/permissions_controller.rb +0 -79
- data/lib/authentasaurus/recoveries_controller.rb +0 -70
- data/lib/authentasaurus/registrations_controller.rb +0 -43
- data/lib/authentasaurus/sessions_controller.rb +0 -56
- data/lib/authentasaurus/user_invitations_controller.rb +0 -48
- data/lib/authentasaurus/users_controller.rb +0 -78
- data/lib/authentasaurus/validations_controller.rb +0 -51
- data/lib/helpers/migrations.rb +0 -171
- data/lib/helpers/routing.rb +0 -87
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
2
|
+
module RecoveriesController
|
|
3
|
+
def self.included(base) # :nodoc:
|
|
4
|
+
base.send :extend, ClassMethods
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module ClassMethods
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
module InstanceMethods
|
|
12
|
+
def new
|
|
13
|
+
@recovery = Recovery.new
|
|
14
|
+
|
|
15
|
+
respond_to do |format|
|
|
16
|
+
format.html
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
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
|
|
35
|
+
end
|
|
36
|
+
|
|
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
|
|
47
|
+
end
|
|
48
|
+
end
|
|
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 }
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
2
|
+
module RegistrationsController
|
|
3
|
+
def self.included(base) # :nodoc:
|
|
4
|
+
base.send :extend, ClassMethods
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module ClassMethods
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
module InstanceMethods
|
|
12
|
+
def new
|
|
13
|
+
@user = User.new
|
|
14
|
+
@user_invitation = UserInvitation.find_by_token params[:token]
|
|
15
|
+
|
|
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
|
|
23
|
+
end
|
|
24
|
+
end
|
|
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
|
|
37
|
+
else
|
|
38
|
+
flash.now[:alert] = t(:invalid_invitation_token, :scope => [:authentasaurus, :messages, :user_invitations])
|
|
39
|
+
format.html {render :new}
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
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]
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
module ClassMethods
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
module InstanceMethods
|
|
14
|
+
def new
|
|
15
|
+
@session = Session.new
|
|
16
|
+
|
|
17
|
+
respond_to do |format|
|
|
18
|
+
format.html
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
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
|
|
31
|
+
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
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
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
|
|
49
|
+
|
|
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
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
2
|
+
module UserInvitationsController
|
|
3
|
+
def self.included(base) # :nodoc:
|
|
4
|
+
base.send :extend, ClassMethods
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module ClassMethods
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
module InstanceMethods
|
|
12
|
+
def index
|
|
13
|
+
@invitations = UserInvitation.find :all
|
|
14
|
+
|
|
15
|
+
respond_to do |format|
|
|
16
|
+
format.html
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def new
|
|
21
|
+
@invitation = UserInvitation.new
|
|
22
|
+
|
|
23
|
+
respond_to do |format|
|
|
24
|
+
format.html
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
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
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def destroy
|
|
41
|
+
invitation = UserInvitation.find params[:id]
|
|
42
|
+
invitation.destroy
|
|
43
|
+
|
|
44
|
+
respond_to do |format|
|
|
45
|
+
format.html { redirect_to :action => :index }
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
2
|
+
module UsersController
|
|
3
|
+
def self.included(base) # :nodoc:
|
|
4
|
+
base.send :extend, ClassMethods
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module ClassMethods
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
module InstanceMethods
|
|
12
|
+
def index
|
|
13
|
+
@users = User.all
|
|
14
|
+
|
|
15
|
+
respond_to do |format|
|
|
16
|
+
format.html
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def show
|
|
21
|
+
@user = User.find(params[:id])
|
|
22
|
+
|
|
23
|
+
respond_to do |format|
|
|
24
|
+
format.html
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def new
|
|
29
|
+
@user = User.new
|
|
30
|
+
|
|
31
|
+
respond_to do |format|
|
|
32
|
+
format.html
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
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
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def edit
|
|
50
|
+
@user = User.find params[:id]
|
|
51
|
+
|
|
52
|
+
respond_to do |format|
|
|
53
|
+
format.html
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
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
|
|
67
|
+
end
|
|
68
|
+
end
|
|
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
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module Authentasaurus::Ac::Controllers
|
|
2
|
+
module ValidationsController
|
|
3
|
+
def self.included(base) # :nodoc:
|
|
4
|
+
base.send :extend, ClassMethods
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module ClassMethods
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
module InstanceMethods
|
|
12
|
+
def validate
|
|
13
|
+
respond_to do |format|
|
|
14
|
+
format.html
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def activate
|
|
19
|
+
respond_to do |format|
|
|
20
|
+
validation = Validation.find_by_validation_code(params[:vcode])
|
|
21
|
+
if validation
|
|
22
|
+
validation.user.activate
|
|
23
|
+
validation.destroy
|
|
24
|
+
format.html { redirect_to login_url, :notice => I18n.t(:validation_successful, :scope => [:authentasaurus, :messages, :validations])}
|
|
25
|
+
else
|
|
26
|
+
flash.now[:alert] = I18n.t(:validation_failed, :scope => [:authentasaurus, :messages, :validations])
|
|
27
|
+
format.html { render :validate }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def resend_validation_email
|
|
33
|
+
respond_to do |format|
|
|
34
|
+
format.html
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def do_resend_validation_email
|
|
39
|
+
validation = Validation.find_by_email params[:email]
|
|
40
|
+
|
|
41
|
+
respond_to do |format|
|
|
42
|
+
unless validation.nil?
|
|
43
|
+
validation.send_validation
|
|
44
|
+
format.html {redirect_to login_url, :notice => I18n.t(:validation_email_sent, :scope => [:authentasaurus, :messages, :validations])}
|
|
45
|
+
else
|
|
46
|
+
flash.now[:alert] = I18n.t(:validation_email_invalid, :scope => [:authentasaurus, :messages, :validations], :email => params[:email])
|
|
47
|
+
format.html { render :resend_validation_email }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
## Authentasaurus routes helper
|
|
2
|
+
module Authentasaurus::Ac
|
|
3
|
+
module Routing
|
|
4
|
+
def self.included(base) # :nodoc:
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
# TODO: add documentation here
|
|
10
|
+
def authentasaurus_routes(*opts)
|
|
11
|
+
options = opts.extract_options!
|
|
12
|
+
|
|
13
|
+
# Authenticatable
|
|
14
|
+
authentasaurus_sessions options.dup
|
|
15
|
+
authentasaurus_users options.dup
|
|
16
|
+
# Recoverable
|
|
17
|
+
authentasaurus_recoverable
|
|
18
|
+
|
|
19
|
+
# Authorizable
|
|
20
|
+
if opts.include?(:authorization)
|
|
21
|
+
authentasaurus_authorizable options.dup
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Validatable
|
|
25
|
+
if opts.include?(:validation)
|
|
26
|
+
authentasaurus_validatable
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Invitable
|
|
30
|
+
if opts.include?(:invitation)
|
|
31
|
+
authentasaurus_invitable options.dup
|
|
32
|
+
authentasaurus_invitable_public
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# TODO: add documentation here
|
|
37
|
+
def authentasaurus_sessions(*opts)
|
|
38
|
+
get "/sessions/sign-in(.:format)" => "sessions#new", :as => :new_session
|
|
39
|
+
post "/sessions(.:format)" => "sessions#create", :as => :sessions
|
|
40
|
+
delete "/sessions/sign-out(.:format)" => "sessions#destroy", :as => :session
|
|
41
|
+
get "/sessions/no-access(.:format)" => "sessions#no_access", :as => :no_access_sessions
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# TODO: add documentation here
|
|
45
|
+
def authentasaurus_users(*opts)
|
|
46
|
+
options = opts.extract_options!
|
|
47
|
+
|
|
48
|
+
resources :users, options.dup
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# TODO: add documentation here
|
|
52
|
+
def authentasaurus_authorizable(*opts)
|
|
53
|
+
options = opts.extract_options!
|
|
54
|
+
|
|
55
|
+
resources :groups, options.dup
|
|
56
|
+
resources :areas, options.dup
|
|
57
|
+
resources :permissions, options.dup
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# TODO: add documentation here
|
|
61
|
+
def authentasaurus_validatable
|
|
62
|
+
match "/validate" => "validations#validate", :as => 'validate'
|
|
63
|
+
match "/activate" => "validations#activate", :as => 'activate'
|
|
64
|
+
match "/resend-validation" => "validations#resend_validation_email", :via => :get, :as => 'recover_password'
|
|
65
|
+
match "/resend-validation" => "validations#do_resend_validation_email", :via => :post, :as => 'do_recover_password'
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# TODO: add documentation here
|
|
69
|
+
def authentasaurus_invitable(*opts)
|
|
70
|
+
options = opts.extract_options!
|
|
71
|
+
|
|
72
|
+
resources :user_invitations, options.dup.merge({:except => [:show, :edit, :update]})
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def authentasaurus_invitable_public(*opts)
|
|
76
|
+
options = opts.extract_options!
|
|
77
|
+
|
|
78
|
+
resources :registrations, :only => [:new, :create], :path_prefix => "/:token", :requirements => {:token => /[0-9a-zA-Z]+/}
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# TODO: add documentation here
|
|
82
|
+
def authentasaurus_recoverable
|
|
83
|
+
match "/forgot-password" => "recoveries#new", :via => :get, :as => 'forgot_password'
|
|
84
|
+
match "/forgot-password" => "recoveries#create", :via => :post, :as => 'do_forgot_password'
|
|
85
|
+
match "/recover-password/:token" => "recoveries#edit", :via => :get, :as => 'recover_password'
|
|
86
|
+
match "/recover-password/:token" => "recoveries#destroy", :via => :delete, :as => 'do_recover_password'
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|