Skip to content
Extraits de code Groupes Projets
services_controller.rb 1,89 ko
Newer Older
  • Learn to ignore specific revisions
  • 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_token => toke, 
                                                                   :access_secret => secret,
                                                                   :provider => provider,
                                                                   :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
          redirect_to  getting_started_path(:step => 3)
        else
          redirect_to services_url 
        end
    
      def failure
    
        Rails.logger.info  "error in oauth #{params.inspect}"
    
        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
    
    
      def finder
        service = current_user.services.where(:provider => params[:provider]).first
        @friends = service ? service.finder : {}
      end
    
    
      def inviter
        @uid = params[:uid]
        @subject = "Join me on DIASPORA*"
        @message = ""
    
    
        current_user.invite_user(aspect_id, :service => params[:provider],
                                 :identifier => params[:uid])
    
        
        redirect_to "http://facebook.com"
      end
    
    danielvincent's avatar
    danielvincent a validé
    end