1 # frozen_string_literal: true
 
   3 class ChangesetSubscriptionsController < ApplicationController
 
   6   before_action :authorize_web
 
   7   before_action :set_locale
 
   8   before_action :check_database_writable
 
  12   around_action :web_timeout
 
  15     @changeset = Changeset.find(params[:changeset_id])
 
  16     @subscribed = @changeset.subscribers.include?(current_user)
 
  17   rescue ActiveRecord::RecordNotFound
 
  18     render :action => "no_such_entry", :status => :not_found
 
  22     @changeset = Changeset.find(params[:changeset_id])
 
  24     @changeset.subscribers << current_user unless @changeset.subscribers.include?(current_user)
 
  26     redirect_to changeset_path(@changeset)
 
  27   rescue ActiveRecord::RecordNotFound
 
  28     render :action => "no_such_entry", :status => :not_found
 
  32     @changeset = Changeset.find(params[:changeset_id])
 
  34     @changeset.subscribers.delete(current_user)
 
  36     redirect_to changeset_path(@changeset)
 
  37   rescue ActiveRecord::RecordNotFound
 
  38     render :action => "no_such_entry", :status => :not_found