| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RemoteFollowController < ApplicationController | 
					
						
							|  |  |  |   layout 'public' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   before_action :set_account | 
					
						
							| 
									
										
										
										
											2017-05-01 18:44:23 -04:00
										 |  |  |   before_action :gone, if: -> { @account.suspended? } | 
					
						
							| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def new | 
					
						
							| 
									
										
										
										
											2017-05-01 18:44:23 -04:00
										 |  |  |     @remote_follow = RemoteFollow.new(session_params) | 
					
						
							| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def create | 
					
						
							|  |  |  |     @remote_follow = RemoteFollow.new(resource_params) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if @remote_follow.valid? | 
					
						
							| 
									
										
										
										
											2017-04-04 20:16:14 -04:00
										 |  |  |       session[:remote_follow] = @remote_follow.acct | 
					
						
							| 
									
										
										
										
											2017-05-01 18:44:23 -04:00
										 |  |  |       redirect_to @remote_follow.subscribe_address_for(@account) | 
					
						
							| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  |     else | 
					
						
							|  |  |  |       render :new | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def resource_params | 
					
						
							|  |  |  |     params.require(:remote_follow).permit(:acct) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-01 18:44:23 -04:00
										 |  |  |   def session_params | 
					
						
							|  |  |  |     { acct: session[:remote_follow] } | 
					
						
							| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-01 18:44:23 -04:00
										 |  |  |   def set_account | 
					
						
							|  |  |  |     @account = Account.find_local!(params[:account_username]) | 
					
						
							| 
									
										
										
										
											2017-01-01 19:52:25 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | end |