-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Too many changes to list individually: all current features and specs…
… pass. Removed most autogenerated specs (controller, helper, views). User authentication is in place as well.
- Loading branch information
1 parent
e8686f7
commit ac2f777
Showing
111 changed files
with
1,123 additions
and
1,444 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
class Clearance::ConfirmationsController < ApplicationController | ||
unloadable | ||
|
||
before_filter :forbid_confirmed_user, :only => [:new, :create] | ||
before_filter :forbid_missing_token, :only => [:new, :create] | ||
before_filter :forbid_non_existent_user, :only => [:new, :create] | ||
filter_parameter_logging :token | ||
|
||
def new | ||
create | ||
end | ||
|
||
def create | ||
@user = ::User.find_by_id_and_token(params[:user_id], params[:token]) | ||
@user.confirm_email! | ||
|
||
sign_in(@user) | ||
flash_success_after_create | ||
redirect_to(url_after_create) | ||
end | ||
|
||
private | ||
|
||
def forbid_confirmed_user | ||
user = ::User.find_by_id(params[:user_id]) | ||
if user && user.email_confirmed? | ||
raise ActionController::Forbidden, "confirmed user" | ||
end | ||
end | ||
|
||
def forbid_missing_token | ||
if params[:token].blank? | ||
raise ActionController::Forbidden, "missing token" | ||
end | ||
end | ||
|
||
def forbid_non_existent_user | ||
unless ::User.find_by_id_and_token(params[:user_id], params[:token]) | ||
raise ActionController::Forbidden, "non-existent user" | ||
end | ||
end | ||
|
||
def flash_success_after_create | ||
flash[:success] = translate(:confirmed_email, | ||
:scope => [:clearance, :controllers, :confirmations], | ||
:default => "Confirmed email and signed in.") | ||
end | ||
|
||
def url_after_create | ||
root_url | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
class Clearance::PasswordsController < ApplicationController | ||
unloadable | ||
|
||
before_filter :forbid_missing_token, :only => [:edit, :update] | ||
before_filter :forbid_non_existent_user, :only => [:edit, :update] | ||
filter_parameter_logging :password, :password_confirmation | ||
|
||
def new | ||
render :template => 'passwords/new' | ||
end | ||
|
||
def create | ||
if user = ::User.find_by_email(params[:password][:email]) | ||
user.forgot_password! | ||
::ClearanceMailer.deliver_change_password user | ||
flash_notice_after_create | ||
redirect_to(url_after_create) | ||
else | ||
flash_failure_after_create | ||
render :template => 'passwords/new' | ||
end | ||
end | ||
|
||
def edit | ||
@user = ::User.find_by_id_and_token(params[:user_id], params[:token]) | ||
render :template => 'passwords/edit' | ||
end | ||
|
||
def update | ||
@user = ::User.find_by_id_and_token(params[:user_id], params[:token]) | ||
|
||
if @user.update_password(params[:user][:password], | ||
params[:user][:password_confirmation]) | ||
@user.confirm_email! | ||
sign_in(@user) | ||
flash_success_after_update | ||
redirect_to(url_after_update) | ||
else | ||
render :template => 'passwords/edit' | ||
end | ||
end | ||
|
||
private | ||
|
||
def forbid_missing_token | ||
if params[:token].blank? | ||
raise ActionController::Forbidden, "missing token" | ||
end | ||
end | ||
|
||
def forbid_non_existent_user | ||
unless ::User.find_by_id_and_token(params[:user_id], params[:token]) | ||
raise ActionController::Forbidden, "non-existent user" | ||
end | ||
end | ||
|
||
def flash_notice_after_create | ||
flash[:notice] = translate(:deliver_change_password, | ||
:scope => [:clearance, :controllers, :passwords], | ||
:default => "You will receive an email within the next few minutes. " << | ||
"It contains instructions for changing your password.") | ||
end | ||
|
||
def flash_failure_after_create | ||
flash.now[:failure] = translate(:unknown_email, | ||
:scope => [:clearance, :controllers, :passwords], | ||
:default => "Unknown email.") | ||
end | ||
|
||
def url_after_create | ||
new_session_url | ||
end | ||
|
||
def flash_success_after_update | ||
flash[:success] = translate(:signed_in, :default => "Signed in.") | ||
end | ||
|
||
def url_after_update | ||
root_url | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
class Clearance::SessionsController < ApplicationController | ||
unloadable | ||
|
||
protect_from_forgery :except => :create | ||
filter_parameter_logging :password | ||
skip_before_filter :login_required | ||
|
||
def new | ||
render :template => 'sessions/new' | ||
end | ||
|
||
def create | ||
@user = ::User.authenticate(params[:session][:email], | ||
params[:session][:password]) | ||
if @user.nil? | ||
flash_failure_after_create | ||
render :template => 'sessions/new', :status => :unauthorized | ||
else | ||
if @user.email_confirmed? | ||
sign_in(@user) | ||
remember(@user) if remember? | ||
flash_success_after_create | ||
redirect_back_or(url_after_create) | ||
else | ||
::ClearanceMailer.deliver_confirmation(@user) | ||
flash_notice_after_create | ||
redirect_to(new_session_url) | ||
end | ||
end | ||
end | ||
|
||
def destroy | ||
forget(current_user) | ||
flash_success_after_destroy | ||
redirect_to(url_after_destroy) | ||
end | ||
|
||
private | ||
|
||
def flash_failure_after_create | ||
flash.now[:failure] = translate(:bad_email_or_password, | ||
:scope => [:clearance, :controllers, :sessions], | ||
:default => "Bad email or password.") | ||
end | ||
|
||
def flash_success_after_create | ||
flash[:success] = translate(:signed_in, :default => "Signed in.") | ||
end | ||
|
||
def flash_notice_after_create | ||
flash[:notice] = translate(:unconfirmed_email, | ||
:scope => [:clearance, :controllers, :sessions], | ||
:default => "User has not confirmed email. " << | ||
"Confirmation email will be resent.") | ||
end | ||
|
||
def url_after_create | ||
root_url | ||
end | ||
|
||
def flash_success_after_destroy | ||
flash[:success] = translate(:signed_out, :default => "Signed out.") | ||
end | ||
|
||
def url_after_destroy | ||
new_session_url | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
class LeaveRequestMailer < ActionMailer::Base | ||
def leave_request(request) | ||
subject "Leave request from #{request.employee}" | ||
recipients User.admins.map(&:email) | ||
body :request => request | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,18 @@ | ||
# == Schema Information | ||
# Schema version: 20090529235331 | ||
# Schema version: 20090805190920 | ||
# | ||
# Table name: leave_periods | ||
# | ||
# id :integer(4) not null, primary key | ||
# leave_request_id :integer(4) | ||
# from_date :date | ||
# until_date :date | ||
# from_time :time | ||
# until_time :time | ||
# from_date :datetime | ||
# until_date :datetime | ||
# created_at :datetime | ||
# updated_at :datetime | ||
# all_day :boolean(1) | ||
# | ||
|
||
class LeavePeriod < ActiveRecord::Base | ||
belongs_to :leave_request | ||
validate :check_valid | ||
def check_valid | ||
|
||
end | ||
# validates_presence_of :leave_request | ||
end |
Oops, something went wrong.