diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb new file mode 100644 index 0000000..6cad70e --- /dev/null +++ b/app/controllers/admin_controller.rb @@ -0,0 +1,14 @@ +class AdminController < ApplicationController + layout "admin" + + before_action :authenticate_user_as_admin + + def index + end + + private + + def authenticate_user_as_admin + head :forbidden unless Current.user&.admin? + end +end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index faa1473..ae34bf5 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -4,7 +4,6 @@ class ApplicationController < ActionController::Base private def authenticate - Rails.logger.error "Session: #{session.inspect}" if authenticated_user = User.find_by(id: session[:user_id]) Current.user = authenticated_user else diff --git a/app/views/admin/index.html.erb b/app/views/admin/index.html.erb new file mode 100644 index 0000000..6547a62 --- /dev/null +++ b/app/views/admin/index.html.erb @@ -0,0 +1 @@ +<%= t(".intro") %> diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb new file mode 100644 index 0000000..2f4221c --- /dev/null +++ b/app/views/layouts/admin.html.erb @@ -0,0 +1,9 @@ +<% content_for :submenu do %> +

<%= t("administration") %>: <%= content_for :title %>

+ +<% end %> + +<%= render template: "layouts/application" %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index fccf529..9e66d07 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -19,6 +19,9 @@