Skip to content
Extraits de code Groupes Projets
services_controller.rb 2,31 ko
Newer Older
danielvincent's avatar
danielvincent a validé
#   Copyright (c) 2010, Diaspora Inc.  This file is
#   licensed under the Affero General Public License version 3 or later.  See #   the COPYRIGHT file.  
danielvincent's avatar
danielvincent a validé

class ServicesController < ApplicationController
  before_filter :authenticate_user!
danielvincent's avatar
danielvincent a validé

  def index
    @services = current_user.services
danielvincent's avatar
danielvincent a validé
  end
  def create
    auth = request.env['omniauth.auth']

maxwell's avatar
maxwell a validé
    toke = auth['credentials']['token']
    secret = auth['credentials']['secret']

    provider = auth['provider']
    user     = auth['user_info']

    service = "Services::#{provider.camelize}".constantize.new(:nickname => user['nickname'],
                                                               :access_secret => secret,
                                                               :uid => auth['uid'])
    current_user.services << service
MrZYX's avatar
MrZYX a validé
    flash[:notice] = I18n.t 'services.create.success'
    if current_user.getting_started
zhitomirskiyi's avatar
zhitomirskiyi a validé
      redirect_to  getting_started_path(:step => 1)
  def failure
    Rails.logger.info  "error in oauth #{params.inspect}"
MrZYX's avatar
MrZYX a validé
    flash[:error] = t('services.failure.error')
  def destroy
    @service = current_user.services.find(params[:id])
    @service.destroy
MrZYX's avatar
MrZYX a validé
    flash[:notice] = I18n.t 'services.destroy.success'
    redirect_to services_url
  end
zhitomirskiyi's avatar
zhitomirskiyi a validé
    service = current_user.services.where(:type => "Services::#{params[:provider].titleize}").first
    @friends = service ? service.finder : {}
    render :layout => false

  def inviter
    if current_user.invites == 0
      flash[:error] = I18n.t 'invitations.create.no_more'
      redirect_to :back
      return
    end

    @uid = params[:uid]

    if i_id = params[:invitation_id]
      invited_user = Invitation.find(i_id).recipient
    else
      invited_user = current_user.invite_user(params[:aspect_id], params[:provider], @uid)
    end

    @subject = t('services.inviter.join_me_on_diaspora')
    @message = <<MSG
#{t('services.inviter.click_link_to_accept_invitation')}: 
\n
\n
#{accept_invitation_url(invited_user, :invitation_token => invited_user.invitation_token)}
MSG
    redirect_to "https://www.facebook.com/?compose=1&id=#{@uid}&subject=#{@subject}&message=#{@message}&sk=messages"
danielvincent's avatar
danielvincent a validé
end