Conflicts: - `.github/dependabot.yml`: Updated upstream, removed in glitch-soc to disable noise. Kept removed. - `CODE_OF_CONDUCT.md`: Upstream updated to a new version of the covenant, but I have not read it yet, so kept unchanged. - `Gemfile.lock`: Not a real conflict, one upstream dependency updated textually too close to the glitch-soc only `hcaptcha` dependency. Applied upstream changes. - `app/controllers/admin/base_controller.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/controllers/application_controller.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/controllers/disputes/base_controller.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/controllers/relationships_controller.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/controllers/statuses_cleanup_controller.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/helpers/application_helper.rb`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `app/javascript/mastodon/features/compose/components/compose_form.jsx`: Upstream added a highlight animation for onboarding, while we changed the max character limit. Applied our local changes on top of upstream's new version. - `app/views/layouts/application.html.haml`: Minor conflict due to glitch-soc's theming system. Applied upstream changes. - `stylelint.config.js`: Upstream added ignore paths, glitch-soc had extra ignore paths. Added the same paths as upstream.
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
class InvitesController < ApplicationController
 | 
						|
  include Authorization
 | 
						|
 | 
						|
  layout 'admin'
 | 
						|
 | 
						|
  before_action :authenticate_user!
 | 
						|
  before_action :set_pack
 | 
						|
  before_action :set_body_classes
 | 
						|
  before_action :set_cache_headers
 | 
						|
 | 
						|
  def index
 | 
						|
    authorize :invite, :create?
 | 
						|
 | 
						|
    @invites = invites
 | 
						|
    @invite  = Invite.new
 | 
						|
  end
 | 
						|
 | 
						|
  def create
 | 
						|
    authorize :invite, :create?
 | 
						|
 | 
						|
    @invite      = Invite.new(resource_params)
 | 
						|
    @invite.user = current_user
 | 
						|
 | 
						|
    if @invite.save
 | 
						|
      redirect_to invites_path
 | 
						|
    else
 | 
						|
      @invites = invites
 | 
						|
      render :index
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def destroy
 | 
						|
    @invite = invites.find(params[:id])
 | 
						|
    authorize @invite, :destroy?
 | 
						|
    @invite.expire!
 | 
						|
    redirect_to invites_path
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def set_pack
 | 
						|
    use_pack 'settings'
 | 
						|
  end
 | 
						|
 | 
						|
  def invites
 | 
						|
    current_user.invites.order(id: :desc)
 | 
						|
  end
 | 
						|
 | 
						|
  def resource_params
 | 
						|
    params.require(:invite).permit(:max_uses, :expires_in, :autofollow, :comment)
 | 
						|
  end
 | 
						|
 | 
						|
  def set_body_classes
 | 
						|
    @body_classes = 'admin'
 | 
						|
  end
 | 
						|
 | 
						|
  def set_cache_headers
 | 
						|
    response.cache_control.replace(private: true, no_store: true)
 | 
						|
  end
 | 
						|
end
 |