Fixed new user invite.

This commit is contained in:
benni 2012-08-06 12:00:40 +02:00
parent fc8418bc8e
commit 6f7682d6a0
16 changed files with 59 additions and 91 deletions

View file

@ -2,7 +2,7 @@
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :select_foodcoop, :authenticate, :store_controller, :items_per_page
before_filter :select_foodcoop, :authenticate, :store_controller, :items_per_page, :set_redirect_to
after_filter :remove_controller
helper_method :current_user
@ -90,12 +90,7 @@ class ApplicationController < ActionController::Base
def authenticate_membership_or_admin
@group = Group.find(params[:id])
unless @group.member?(@current_user) or @current_user.role_admin?
flash[:error] = "Diese Aktion ist nur für Mitglieder der Gruppe erlaubt!"
if request.xml_http_request?
render(:update) {|page| page.redirect_to root_path }
else
redirect_to root_path
end
redirect_to root_path, alert: "Diese Aktion ist nur für Mitglieder der Gruppe erlaubt!"
end
end
@ -145,4 +140,16 @@ class ApplicationController < ActionController::Base
@per_page = 20
end
end
def set_redirect_to
session[:redirect_to] = params[:redirect_to] if params[:redirect_to]
end
def back_or_default_path(default = root_path)
if session[:redirect_to].present?
default = session[:redirect_to]
session[:redirect_to] = nil
end
default
end
end

View file

@ -5,22 +5,14 @@ class InvitesController < ApplicationController
def new
@invite = Invite.new(:user => @current_user, :group => @group)
render :update do |page|
page.replace_html :edit_box, :partial => "new"
page.show :edit_box
end
end
def create
@invite = Invite.new(params[:invite])
render :update do |page|
if @invite.save
page.replace_html :edit_box, :partial => "success"
else
page.replace_html :edit_box, :partial => "new"
end
if @invite.save
redirect_to back_or_default_path, notice: "Benutzerin wurde erfolgreich eingeladen."
else
render action: :new
end
end
end

View file

@ -1,9 +1,8 @@
# encoding: utf-8
class LoginController < ApplicationController
skip_before_filter :authenticate # no authentication since this is the login page
before_filter :validate_token, :only => [:password, :update_password]
verify :method => :post, :only => [:reset_password], :redirect_to => { :action => 'forgot_password' }
# Display the form to enter an email address requesting a token to set a new password.
def forgot_password
end
@ -56,8 +55,7 @@ class LoginController < ApplicationController
if @user.save
Membership.new(:user => @user, :group => @invite.group).save!
@invite.destroy
flash[:notice] = "Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen."
render :action => 'login'
redirect_to login_url, notice: "Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen."
end
end
else