Skip to content

Commit

Permalink
Extract breadcrumbs helpers to concern
Browse files Browse the repository at this point in the history
  • Loading branch information
cavalle authored and kennyadsl committed May 28, 2019
1 parent b126a44 commit a4df140
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 22 deletions.
29 changes: 29 additions & 0 deletions backend/app/controllers/concerns/spree/admin/breadcrumbs.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# frozen_string_literal: true

module Spree
module Admin
module Breadcrumbs
def add_breadcrumb(name, path = nil)
@admin_breadcrumbs ||= []
@admin_breadcrumbs << [name, path]
end

# Shared breadcrumbs

def set_user_breadcrumbs
add_breadcrumb plural_resource_name(Spree::LegacyUser), spree.admin_users_path
add_breadcrumb @user.email, edit_admin_user_url(@user) if @user && !@user.new_record?
end

def set_order_breadcrumbs
add_breadcrumb plural_resource_name(Spree::Order), spree.admin_orders_path
add_breadcrumb "##{@order.number}", spree.edit_admin_order_path(@order) if @order && !@order.new_record?
end

def set_product_breadcrumbs
add_breadcrumb plural_resource_name(Spree::Product), spree.admin_products_path
add_breadcrumb @product.name, spree.admin_product_path(@product) if @product && !@product.new_record?
end
end
end
end
24 changes: 2 additions & 22 deletions backend/app/controllers/spree/admin/base_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
module Spree
module Admin
class BaseController < Spree::BaseController
include Spree::Admin::Breadcrumbs

helper 'spree/admin/navigation'
layout '/spree/layouts/admin'

Expand Down Expand Up @@ -62,28 +64,6 @@ def lock_order
def order_mutex_redirect_path
edit_admin_order_path(@order)
end

def add_breadcrumb(name, path = nil)
@admin_breadcrumbs ||= []
@admin_breadcrumbs << [name, path]
end

# Shared breadcrumbs

def set_user_breadcrumbs
add_breadcrumb plural_resource_name(Spree::LegacyUser), spree.admin_users_path
add_breadcrumb @user.email, edit_admin_user_url(@user) if @user && !@user.new_record?
end

def set_order_breadcrumbs
add_breadcrumb plural_resource_name(Spree::Order), spree.admin_orders_path
add_breadcrumb "##{@order.number}", spree.edit_admin_order_path(@order) if @order && !@order.new_record?
end

def set_product_breadcrumbs
add_breadcrumb plural_resource_name(Spree::Product), spree.admin_products_path
add_breadcrumb @product.name, spree.admin_product_path(@product) if @product && !@product.new_record?
end
end
end
end

0 comments on commit a4df140

Please sign in to comment.