Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB

class OrganisationsController < ApplicationController
include Pagy::Backend
before_action :authenticate_user!, except: [:index]
before_action :find_resource, except: [:index]
before_action :authenticate_scope!
def index
redirect_to organisation_path(current_user.organisation) unless current_user.support?
@pagy, @organisations = pagy(Organisation.all)
end
def show
redirect_to details_organisation_path(@organisation)
end
def users
@pagy, @users = pagy(@organisation.users.where(active: true))
render "users/index"
end
def details
render "show"
end
def edit
if current_user.data_coordinator?
render "edit", layout: "application"
else
head :unauthorized
end
end
def update
if current_user.data_coordinator?
if @organisation.update(org_params)
flash[:notice] = I18n.t("organisation.updated")
redirect_to details_organisation_path(@organisation)
end
else
head :unauthorized
end
end
private
def org_params
params.require(:organisation).permit(:name, :address_line1, :address_line2, :postcode, :phone)
end
def authenticate_scope!
render_not_found if current_user.organisation != @organisation && !current_user.support?
end
def find_resource
@organisation = Organisation.find(params[:id])
end
end