about summary refs log tree commit diff
path: root/app/controllers
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-06-15 18:00:23 +0200
committerGitHub <noreply@github.com>2018-06-15 18:00:23 +0200
commitca85658975dd6c85fbe5cc725698fe3a34d1234e (patch)
tree10a3d40ea8a1d74e8f4b2a8553d7cb11e23d588c /app/controllers
parent33dd9bf36d7cb7c94f76520357879d1a913c4ccb (diff)
Add autofollow option to invites (#7805)
* Add autofollow option to invites

* Trigger CodeClimate rebuild
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/auth/registrations_controller.rb7
-rw-r--r--app/controllers/invites_controller.rb4
2 files changed, 8 insertions, 3 deletions
diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb
index 417e2b63b..c095411c1 100644
--- a/app/controllers/auth/registrations_controller.rb
+++ b/app/controllers/auth/registrations_controller.rb
@@ -3,6 +3,7 @@
 class Auth::RegistrationsController < Devise::RegistrationsController
   layout :determine_layout
 
+  before_action :set_invite, only: [:new, :create]
   before_action :check_enabled_registrations, only: [:new, :create]
   before_action :configure_sign_up_params, only: [:create]
   before_action :set_sessions, only: [:edit, :update]
@@ -51,7 +52,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController
   end
 
   def allowed_registrations?
-    Setting.open_registrations || (invite_code.present? && Invite.find_by(code: invite_code)&.valid_for_use?)
+    Setting.open_registrations || @invite&.valid_for_use?
   end
 
   def invite_code
@@ -68,6 +69,10 @@ class Auth::RegistrationsController < Devise::RegistrationsController
     @instance_presenter = InstancePresenter.new
   end
 
+  def set_invite
+    @invite = invite_code.present? ? Invite.find_by(code: invite_code) : nil
+  end
+
   def determine_layout
     %w(edit update).include?(action_name) ? 'admin' : 'auth'
   end
diff --git a/app/controllers/invites_controller.rb b/app/controllers/invites_controller.rb
index 26ef99b7e..5c30313f4 100644
--- a/app/controllers/invites_controller.rb
+++ b/app/controllers/invites_controller.rb
@@ -11,7 +11,7 @@ class InvitesController < ApplicationController
     authorize :invite, :create?
 
     @invites = invites
-    @invite  = Invite.new(expires_in: 1.day.to_i)
+    @invite  = Invite.new
   end
 
   def create
@@ -42,6 +42,6 @@ class InvitesController < ApplicationController
   end
 
   def resource_params
-    params.require(:invite).permit(:max_uses, :expires_in)
+    params.require(:invite).permit(:max_uses, :expires_in, :autofollow)
   end
 end