Class: AuthorizationsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/authorizations_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#advertise, #cache_action?, #footer_content, #homepage_features, #plaxo, #rss_site_index, #site_index

Methods included from BaseHelper

#add_friend_link, #ajax_spinner_for, #avatar_for, #block_to_partial, #box, #city_cloud, #clippings_link, #commentable_url, #container_title, #excerpt_with_jump, #flash_class, #forum_page?, #is_current_user_and_featured?, #jumbotron, #last_active, #more_comments_links, #page_title, #paginating_links, #possesive, #profile_completeness, #render_jumbotron, #render_widgets, #rounded, #search_posts_title, #search_user_posts_path, #show_footer_content?, #tag_auto_complete_field, #time_ago_in_words, #time_ago_in_words_or_date, #tiny_mce_init_if_needed, #tiny_mce_js, #topnav_tab, #truncate_words, #truncate_words_with_highlight, #widget

Methods included from LocalizedApplication

#get_matching_ui_locale, #get_sorted_langs_from_accept_header, #get_valid_lang_from_accept_header, #set_locale

Methods included from AuthenticatedSystem

#login_by_token, #update_last_seen_at

Instance Method Details

#createObject


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/authorizations_controller.rb', line 4

def create
  omniauth = request.env['omniauth.auth'] #this is where you get all the data from your provider through omniauth
  provider_name = omniauth['provider'].to_s.capitalize

  @auth = Authorization.find_or_create_from_hash(omniauth, current_user)

  if logged_in?
    flash[:notice] = t('authorizations.create.success_existing_user', :provider => provider_name)
  elsif @auth.valid?
    flash[:notice] = t('authorizations.create.success_message', :provider => provider_name)
    user_session = UserSession.create(@auth.user, true)
    self.current_user = user_session.user
  end

  if logged_in?
    redirect_to request.env['omniauth.origin'] || user_path(current_user)
  else
    flash[:notice] = @auth.user.errors.full_messages.to_sentence
    redirect_to 
  end
end

#destroyObject


31
32
33
34
35
36
37
38
39
40
41
# File 'app/controllers/authorizations_controller.rb', line 31

def destroy
  @authorization = current_user.authorizations.find(params[:id])

  if @authorization.destroy
    flash[:notice] = t('authorizations.destroy.notice', :provider => @authorization.provider.to_s.capitalize)
  else
    flash[:notice] = @authorization.errors.full_messages.to_sentence
  end

  redirect_to 
end

#failureObject


26
27
28
29
# File 'app/controllers/authorizations_controller.rb', line 26

def failure
  flash[:notice] = t('authorizations.failure.notice')
  redirect_to home_url
end