diff --git a/app/controllers/admin/sessions_controller.rb b/app/controllers/admin/sessions_controller.rb index 5dc244398..d907fe1f3 100644 --- a/app/controllers/admin/sessions_controller.rb +++ b/app/controllers/admin/sessions_controller.rb @@ -1,6 +1,5 @@ class Admin::SessionsController < Devise::SessionsController skip_authorization_check only: :create - layout 'admin/application' def login @admin_user = AdminUser.new diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 29b7be698..ec335ae65 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -1,5 +1,4 @@ class AdminController < ApplicationController - layout 'admin/application' before_action :authenticate_user! helper_method :head_title_sufix diff --git a/app/views/admin/_menu.haml b/app/views/admin/_menu.haml new file mode 100644 index 000000000..4077e58f2 --- /dev/null +++ b/app/views/admin/_menu.haml @@ -0,0 +1,44 @@ +.navbar-collapse.collapse + %ul.nav.navbar-nav + - if can? :show, Domain + %li= link_to t(:domains), admin_domains_path + - if can? :show, Contact + %li= link_to t(:contacts), admin_contacts_path + - if can? :show, Registrar + %li= link_to t(:registrars), admin_registrars_path + - if can? :show, Keyrelay + %li= link_to t(:keyrelays), admin_keyrelays_path + - if can?(:access, :settings_menu) + %li.dropdown + %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"} + = t(:settings) + %span.caret + %ul.dropdown-menu{role: "menu"} + %li.dropdown-header= t(:users) + %li= link_to t(:api_users), admin_api_users_path + %li= link_to t(:admin_users), admin_admin_users_path + %li.divider + %li.dropdown-header= t(:billing) + - if can? :view, Pricelist + %li= link_to t(:pricelists), admin_pricelists_path + %li= link_to t(:bank_statements), admin_bank_statements_path + %li= link_to t(:invoices), admin_invoices_path + %li= link_to t(:account_activities), admin_account_activities_path(created_after: 'today') + %li.divider + %li.dropdown-header= t(:archive) + %li= link_to t(:domains_history), admin_domain_versions_path + %li= link_to t(:contacts_history), admin_contact_versions_path + %li.divider + %li.dropdown-header= t(:system) + %li= link_to t(:settings), admin_settings_path + %li= link_to t(:zonefile), admin_zonefile_settings_path + %li= link_to t(:blocked_domains), admin_blocked_domains_path + %li= link_to t(:reserved_domains), admin_reserved_domains_path + %li= link_to t(:mail_templates), admin_mail_templates_path + %li= link_to t(:epp_logs), admin_epp_logs_path(created_after: 'today') + %li= link_to t(:repp_logs), admin_repp_logs_path(created_after: 'today') + %li= link_to t(:que), '/admin/que' + + - if signed_in? + %ul.nav.navbar-nav.navbar-right + %li= link_to t(:log_out, user: current_user), '/admin/logout' diff --git a/app/views/layouts/admin.haml b/app/views/layouts/admin.haml new file mode 100644 index 000000000..70ee14cfc --- /dev/null +++ b/app/views/layouts/admin.haml @@ -0,0 +1,36 @@ +!!! 5 +%html{lang: I18n.locale.to_s} + %head + %meta{charset: "utf-8"}/ + %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/ + - if content_for? :head_title + = yield :head_title + - else + %title= t(:admin_head_title) + = csrf_meta_tags + = stylesheet_link_tag 'admin-manifest', media: 'all', 'data-turbolinks-track' => true + = favicon_link_tag 'favicon.ico' + %body{:style => env_style} + .navbar.navbar-inverse.navbar-static-top{role: "navigation"} + .container + .navbar-header + %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"} + %span.sr-only Toggle navigation + %span.icon-bar + %span.icon-bar + %span.icon-bar + = link_to admin_dashboard_path, class: 'navbar-brand' do + = ENV['app_name'] + - if unstable_env.present? + .text-center + %small{style: 'color: #0074B3;'}= unstable_env + + = render 'menu' + .container + = render 'shared/flash' + = yield + + .footer.text-right + Version + = CURRENT_COMMIT_HASH + = javascript_include_tag 'admin-manifest', async: true diff --git a/app/views/layouts/devise.haml b/app/views/layouts/devise.haml new file mode 100644 index 000000000..14534e374 --- /dev/null +++ b/app/views/layouts/devise.haml @@ -0,0 +1,29 @@ +!!! 5 +%html{lang: I18n.locale.to_s} + %head + %meta{charset: "utf-8"}/ + - if content_for? :head_title + = yield :head_title + - else + %title= t(:admin_head_title) + = csrf_meta_tags + = stylesheet_link_tag 'admin-manifest', media: 'all', 'data-turbolinks-track' => true + = favicon_link_tag 'favicon.ico' + %body{:style => env_style} + .navbar.navbar-inverse.navbar-static-top{role: "navigation"} + .container + .navbar-header + %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"} + %span.sr-only Toggle navigation + %span.icon-bar + %span.icon-bar + %span.icon-bar + = link_to admin_dashboard_path, class: 'navbar-brand' do + = ENV['app_name'] + - if unstable_env.present? + .text-center + %small{style: 'color: #0074B3;'}= unstable_env + + .container + = render 'shared/flash' + = yield