Module: Adminpanel::FacebookActions
- Extended by:
- ActiveSupport::Concern
- Included in:
- ApplicationController
- Defined in:
- app/controllers/concerns/adminpanel/facebook_actions.rb
Instance Method Summary collapse
Instance Method Details
#fb_choose_page ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/controllers/concerns/adminpanel/facebook_actions.rb', line 9 def fb_choose_page access_token = Koala::Facebook::OAuth.new( Adminpanel.fb_app_id, Adminpanel.fb_app_secret, url_for({ controller: params[:controller], action: :fb_choose_page, id: @resource_instance, host: request.host }) ).get_access_token(params[:code]) user = Koala::Facebook::API.new(access_token) @pages = user.get_connections('me', 'accounts') @name = user.get_object('me')['name'] @pages << { 'name' => @name, 'access_token' => access_token } # to permit posts on own wall render 'adminpanel/templates/fb_choose_page' end |
#fb_publish ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/concerns/adminpanel/facebook_actions.rb', line 37 def fb_publish :publish, @resource_instance page_graph = Koala::Facebook::API.new(Auth.find_by_key('facebook').value) = { link: @resource_instance.share_link, name: @resource_instance.name } .merge!({ picture: @resource_instance.share_picture }) if @resource_instance.share_picture page_graph.put_wall_post( params[model_name][:fb_message], ) flash[:success] = I18n.t('fb.posted', user: page_graph.get_object('me')['name']) redirect_to @resource_instance end |
#fb_save_token ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'app/controllers/concerns/adminpanel/facebook_actions.rb', line 27 def fb_save_token page_selected = Koala::Facebook::API.new( params[model_name][:fb_page_access_key] ) update_fb_auth(page_selected.get_object('me')['name']) flash[:success] = I18n.t('fb.saved_token') Rails.cache.clear redirect_to @resource_instance end |