avo 1.3.0.pre.1 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of avo might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +12 -8
- data/README.md +3 -2
- data/app/components/avo/edit/fields/markdown_field_component.html.erb +1 -0
- data/app/components/avo/edit/fields/trix_field_component.html.erb +1 -1
- data/app/components/avo/panel_component.html.erb +5 -3
- data/app/components/avo/panel_component.rb +6 -1
- data/app/components/avo/show/fields/markdown_field_component.html.erb +1 -0
- data/app/components/avo/views/resource_index_component.html.erb +1 -1
- data/app/components/avo/views/resource_show_component.html.erb +1 -1
- data/app/controllers/avo/application_controller.rb +27 -0
- data/app/controllers/avo/home_controller.rb +4 -3
- data/app/helpers/avo/application_helper.rb +8 -2
- data/app/packs/entrypoints/application.js +10 -14
- data/app/packs/js/controllers/fields/code_field_controller.js +4 -1
- data/app/packs/js/controllers/fields/simple_mde_controller.js +9 -0
- data/app/packs/stylesheets/components/code.css +5 -0
- data/app/views/avo/home/_actions.html.erb +5 -5
- data/app/views/avo/home/_docs.html.erb +1 -1
- data/app/views/avo/home/_filters.html.erb +4 -4
- data/app/views/avo/home/_resources.html.erb +15 -2
- data/app/views/avo/home/index.html.erb +1 -1
- data/app/views/avo/partials/_custom_tools_alert.html.erb +6 -0
- data/app/views/avo/partials/_head.html.erb +0 -0
- data/app/views/avo/partials/_logo.html.erb +1 -1
- data/app/views/avo/sidebar/_license_warning.html.erb +3 -7
- data/app/views/avo/sidebar/_sidebar.html.erb +2 -1
- data/app/views/layouts/avo/application.html.erb +9 -4
- data/avo.gemspec +1 -1
- data/bin/helpers.rb +1 -1
- data/bin/spring +5 -5
- data/config/webpacker.yml +1 -1
- data/lib/avo.rb +13 -0
- data/lib/avo/app.rb +7 -3
- data/lib/avo/configuration.rb +6 -0
- data/lib/avo/fields/base_field.rb +3 -1
- data/lib/avo/fields/key_value_field.rb +1 -24
- data/lib/avo/fields/markdown_field.rb +3 -4
- data/lib/avo/licensing/h_q.rb +3 -3
- data/lib/avo/licensing/license.rb +2 -0
- data/lib/avo/licensing/pro_license.rb +2 -1
- data/lib/avo/version.rb +1 -1
- data/lib/generators/avo/action_generator.rb +1 -1
- data/lib/generators/avo/eject_generator.rb +5 -4
- data/lib/generators/avo/filter_generator.rb +1 -1
- data/lib/generators/avo/locales_generator.rb +2 -2
- data/lib/generators/avo/resource_generator.rb +1 -4
- data/lib/generators/avo/templates/action.tt +5 -9
- data/lib/generators/avo/templates/initializer/avo.tt +10 -1
- data/lib/generators/avo/templates/locales/avo.en.yml +1 -0
- data/lib/generators/avo/templates/locales/avo.nb-NO.yml +81 -0
- data/lib/generators/avo/templates/locales/avo.pt-BR.yml +82 -0
- data/lib/generators/avo/templates/locales/avo.ro.yml +70 -0
- data/lib/generators/avo/tool_generator.rb +2 -2
- data/public/avo-packs/css/{application-5af67922.css → application-af3e670d.css} +40 -103
- data/public/avo-packs/css/application-af3e670d.css.br +0 -0
- data/public/avo-packs/css/application-af3e670d.css.gz +0 -0
- data/public/avo-packs/css/application-af3e670d.css.map +1 -0
- data/public/avo-packs/css/application-af3e670d.css.map.br +0 -0
- data/public/avo-packs/css/application-af3e670d.css.map.gz +0 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js +26 -0
- data/public/avo-packs/js/{application-a48a99244065c8d7a1d1.js.LICENSE.txt → application-801f1297670a4c6df1b6.js.LICENSE.txt} +0 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js.br +0 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js.gz +0 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js.map +1 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js.map.br +0 -0
- data/public/avo-packs/js/application-801f1297670a4c6df1b6.js.map.gz +0 -0
- data/public/avo-packs/manifest.json +15 -15
- metadata +33 -35
- data/app/components/avo/common/key_value_component.html.erb +0 -53
- data/app/components/avo/common/key_value_component.rb +0 -11
- data/app/components/avo/edit/fields/key_value_field_component.html.erb +0 -3
- data/app/components/avo/edit/fields/key_value_field_component.rb +0 -4
- data/app/components/avo/show/fields/key_value_field_component.html.erb +0 -3
- data/app/components/avo/show/fields/key_value_field_component.rb +0 -4
- data/app/packs/js/controllers/fields/key_value_controller.js +0 -132
- data/public/avo-packs/css/application-5af67922.css.br +0 -0
- data/public/avo-packs/css/application-5af67922.css.gz +0 -0
- data/public/avo-packs/css/application-5af67922.css.map +0 -1
- data/public/avo-packs/css/application-5af67922.css.map.br +0 -0
- data/public/avo-packs/css/application-5af67922.css.map.gz +0 -0
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js +0 -26
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js.br +0 -0
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js.gz +0 -0
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js.map +0 -1
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js.map.br +0 -0
- data/public/avo-packs/js/application-a48a99244065c8d7a1d1.js.map.gz +0 -0
@@ -27,7 +27,7 @@
|
|
27
27
|
<li><span class="mr-2">👍</span> Grid view</li>
|
28
28
|
<li><span class="mr-2">👍</span> Authorization</li>
|
29
29
|
<li><span class="mr-2">👍</span> Localization</li>
|
30
|
-
<li><span class="mr-2"
|
30
|
+
<li><span class="mr-2">👍</span> Custom tools</li>
|
31
31
|
<li><span class="mr-2">⏳</span> Custom fields</li>
|
32
32
|
<li><span class="mr-2">⏳</span> Search</li>
|
33
33
|
<li><span class="mr-2">🕐</span> Dashboards</li>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<div class="w-full inset-auto bottom-0 z-50 mb-4 opacity-75 hover:opacity-100 transition-opacity duration-150">
|
2
|
+
<a href="https://avohq.io/pricing" target="_blank" class="rounded bg-green-700 text-white py-2 px-4 text-sm block items-center flex leading-tight">
|
3
|
+
<%= svg "exclamation", class: "h-6 inline mr-2 text-bold flex-shrink-0" %> Warning. Your license is invalid or doesn't support custom tools. This page will not be visible in a production environment.
|
4
|
+
</a>
|
5
|
+
</div>
|
6
|
+
|
File without changes
|
@@ -1 +1 @@
|
|
1
|
-
<%=
|
1
|
+
<%= image_manifest_tag 'logo.png', class: 'h-full', title: 'Avo' %>
|
@@ -1,12 +1,8 @@
|
|
1
1
|
<div class="w-10/12 ml-1/12 inset-auto bottom-0 z-50 my-4 opacity-50 hover:opacity-100 transition-opacity duration-150 group">
|
2
|
-
<a href="https://avohq.io/pricing" target="_blank" class="rounded bg-
|
3
|
-
|
4
|
-
<div class="h-6 inline mr-1 text-bold" :is="iconElement" v-if="icon">
|
5
|
-
<%= title %>
|
6
|
-
</div>
|
7
|
-
<% end %>
|
2
|
+
<a href="https://avohq.io/pricing" target="_blank" class="rounded bg-green-700 text-white py-2 px-4 text-sm block group-hover:pt-4">
|
3
|
+
<%= svg 'exclamation', class: 'h-6 inline mr-1 text-bold' %> <%= title %>
|
8
4
|
<div class="group-hover:block hidden py-2">
|
9
|
-
<%= message %>
|
5
|
+
<%= message %> <%= svg 'arrow-circle-right', class: "h-6 inline float-right" %>
|
10
6
|
</div>
|
11
7
|
</a>
|
12
8
|
</div>
|
@@ -6,7 +6,8 @@
|
|
6
6
|
|
7
7
|
<div class="flex-1 flex flex-col justify-between">
|
8
8
|
<div class="tools py-4">
|
9
|
-
<%= render Avo::NavigationLinkComponent.new label: 'Get started', path:
|
9
|
+
<%= render Avo::NavigationLinkComponent.new label: 'Get started', path: Avo.configuration.root_path, active: :exclusive if Rails.env.development? && Avo.configuration.home_path.nil? %>
|
10
|
+
|
10
11
|
<%= render Avo::NavigationHeadingComponent.new label: t('avo.resources') %>
|
11
12
|
|
12
13
|
<div class="w-full">
|
@@ -7,9 +7,10 @@
|
|
7
7
|
<%= csp_meta_tag %>
|
8
8
|
|
9
9
|
<%= render partial: 'avo/partials/javascript' %>
|
10
|
+
<%= render partial: 'avo/partials/head' %>
|
10
11
|
|
11
|
-
<%=
|
12
|
-
<%=
|
12
|
+
<%= javascript_manifest_tag 'application' %>
|
13
|
+
<%= stylesheet_manifest_tag 'application', media: 'all' %>
|
13
14
|
</head>
|
14
15
|
<body class="bg-blue-gray-200">
|
15
16
|
|
@@ -30,8 +31,12 @@
|
|
30
31
|
</div>
|
31
32
|
|
32
33
|
<div class="content p-8 flex-1 flex flex-col justify-between items-stretch <%= @container_classes %>">
|
33
|
-
<%=
|
34
|
-
|
34
|
+
<%= render partial: "avo/partials/custom_tools_alert" if @custom_tools_alert_visible %>
|
35
|
+
|
36
|
+
<div class="flex flex-1 flex-col justify-between items-stretch">
|
37
|
+
<%= yield %>
|
38
|
+
<%= render partial: "avo/partials/footer" %>
|
39
|
+
</div>
|
35
40
|
</div>
|
36
41
|
</div>
|
37
42
|
</div>
|
data/avo.gemspec
CHANGED
@@ -34,7 +34,6 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency "rails", ">= 6.0"
|
35
35
|
spec.add_dependency "pagy"
|
36
36
|
spec.add_dependency "zeitwerk"
|
37
|
-
spec.add_dependency "webpacker"
|
38
37
|
spec.add_dependency "countries"
|
39
38
|
spec.add_dependency "pundit"
|
40
39
|
spec.add_dependency "httparty"
|
@@ -45,4 +44,5 @@ Gem::Specification.new do |spec|
|
|
45
44
|
spec.add_dependency "addressable"
|
46
45
|
spec.add_dependency "meta-tags"
|
47
46
|
spec.add_dependency "breadcrumbs_on_rails"
|
47
|
+
spec.add_dependency "manifester"
|
48
48
|
end
|
data/bin/helpers.rb
CHANGED
data/bin/spring
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# It gets overwritten when you run the `spring binstub` command.
|
5
5
|
|
6
6
|
unless defined?(Spring)
|
7
|
-
require
|
8
|
-
require
|
7
|
+
require "rubygems"
|
8
|
+
require "bundler"
|
9
9
|
|
10
10
|
lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
|
11
|
-
spring = lockfile.specs.detect { |spec| spec.name ==
|
11
|
+
spring = lockfile.specs.detect { |spec| spec.name == "spring" }
|
12
12
|
if spring
|
13
13
|
Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
|
14
|
-
gem
|
15
|
-
require
|
14
|
+
gem "spring", spring.version
|
15
|
+
require "spring/binstub"
|
16
16
|
end
|
17
17
|
end
|
data/config/webpacker.yml
CHANGED
@@ -13,7 +13,7 @@ default: &default
|
|
13
13
|
|
14
14
|
# Additional paths webpack should lookup modules
|
15
15
|
# ['app/assets', 'engine/foo/app/assets']
|
16
|
-
|
16
|
+
additional_paths: []
|
17
17
|
|
18
18
|
# Reload manifest.json on all requests so we reload latest compiled packs
|
19
19
|
cache_manifest: false
|
data/lib/avo.rb
CHANGED
@@ -10,6 +10,10 @@ module Avo
|
|
10
10
|
IN_DEVELOPMENT = ENV["AVO_IN_DEVELOPMENT"] == "1"
|
11
11
|
PACKED = !IN_DEVELOPMENT
|
12
12
|
|
13
|
+
class LicenseVerificationTemperedError < StandardError; end
|
14
|
+
|
15
|
+
class LicenseInvalidError < StandardError; end
|
16
|
+
|
13
17
|
class << self
|
14
18
|
def webpacker
|
15
19
|
@webpacker ||= ::Webpacker::Instance.new(
|
@@ -17,6 +21,15 @@ module Avo
|
|
17
21
|
config_path: ROOT_PATH.join("config/webpacker.yml")
|
18
22
|
)
|
19
23
|
end
|
24
|
+
|
25
|
+
def manifester
|
26
|
+
@manifester ||= ::Manifester::Instance.new(
|
27
|
+
root_path: ROOT_PATH,
|
28
|
+
public_output_dir: "avo-packs",
|
29
|
+
cache_manifest: Rails.env.production?,
|
30
|
+
fallback_to_webpacker: -> { Avo::IN_DEVELOPMENT || Rails.env.test?}
|
31
|
+
)
|
32
|
+
end
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
data/lib/avo/app.rb
CHANGED
@@ -26,12 +26,16 @@ module Avo
|
|
26
26
|
self.request = request
|
27
27
|
self.context = context
|
28
28
|
|
29
|
+
self.license = Licensing::LicenseManager.new(Licensing::HQ.new(request).response).license
|
30
|
+
|
29
31
|
# Set the current host for ActiveStorage
|
30
|
-
|
32
|
+
begin
|
33
|
+
ActiveStorage::Current.host = request.base_url
|
34
|
+
rescue => exception
|
35
|
+
Rails.logger.debug "[Avo] Failed to set ActiveStorage::Current.host, #{exception.inspect}"
|
36
|
+
end
|
31
37
|
|
32
38
|
init_resources
|
33
|
-
|
34
|
-
self.license = Licensing::LicenseManager.new(Licensing::HQ.new(request).response).license
|
35
39
|
end
|
36
40
|
|
37
41
|
def cache_store
|
data/lib/avo/configuration.rb
CHANGED
@@ -21,6 +21,7 @@ module Avo
|
|
21
21
|
attr_accessor :context
|
22
22
|
attr_accessor :display_breadcrumbs
|
23
23
|
attr_accessor :initial_breadcrumbs
|
24
|
+
attr_accessor :home_path
|
24
25
|
|
25
26
|
def initialize
|
26
27
|
@root_path = "/avo"
|
@@ -54,6 +55,7 @@ module Avo
|
|
54
55
|
add_breadcrumb I18n.t("avo.home").humanize, avo.root_path
|
55
56
|
}
|
56
57
|
@display_breadcrumbs = true
|
58
|
+
@home_path = nil
|
57
59
|
end
|
58
60
|
|
59
61
|
def locale_tag
|
@@ -81,6 +83,10 @@ module Avo
|
|
81
83
|
def set_initial_breadcrumbs(&block)
|
82
84
|
@initial_breadcrumbs = block if block.present?
|
83
85
|
end
|
86
|
+
|
87
|
+
def namespace
|
88
|
+
root_path.delete "/"
|
89
|
+
end
|
84
90
|
end
|
85
91
|
|
86
92
|
def self.configuration
|
@@ -33,6 +33,7 @@ module Avo
|
|
33
33
|
attr_accessor :meta
|
34
34
|
attr_accessor :panel_name
|
35
35
|
attr_accessor :link_to_resource
|
36
|
+
attr_accessor :options
|
36
37
|
|
37
38
|
class_attribute :field_name_attribute
|
38
39
|
|
@@ -67,7 +68,8 @@ module Avo
|
|
67
68
|
default: nil,
|
68
69
|
visible: true,
|
69
70
|
meta: {},
|
70
|
-
panel_name: nil
|
71
|
+
panel_name: nil,
|
72
|
+
options: {}
|
71
73
|
}
|
72
74
|
|
73
75
|
# Set the values in the following order
|
@@ -3,11 +3,6 @@ require "json"
|
|
3
3
|
module Avo
|
4
4
|
module Fields
|
5
5
|
class KeyValueField < BaseField
|
6
|
-
attr_reader :key_label
|
7
|
-
attr_reader :value_label
|
8
|
-
attr_reader :action_text
|
9
|
-
attr_reader :disable_adding_rows
|
10
|
-
|
11
6
|
def initialize(name, **args, &block)
|
12
7
|
@defaults = {
|
13
8
|
partial_name: "key-value-field"
|
@@ -38,13 +33,7 @@ module Avo
|
|
38
33
|
[:"#{id}", "#{id}": {}]
|
39
34
|
end
|
40
35
|
|
41
|
-
def
|
42
|
-
value.to_json
|
43
|
-
rescue
|
44
|
-
{}
|
45
|
-
end
|
46
|
-
|
47
|
-
def options
|
36
|
+
def hydrate_field(fields, model, resource, view)
|
48
37
|
{
|
49
38
|
key_label: @key_label,
|
50
39
|
value_label: @value_label,
|
@@ -55,18 +44,6 @@ module Avo
|
|
55
44
|
disable_deleting_rows: @disable_deleting_rows
|
56
45
|
}
|
57
46
|
end
|
58
|
-
|
59
|
-
def fill_field(model, key, value)
|
60
|
-
begin
|
61
|
-
new_value = JSON.parse(value)
|
62
|
-
rescue
|
63
|
-
new_value = {}
|
64
|
-
end
|
65
|
-
|
66
|
-
model[key] = new_value
|
67
|
-
|
68
|
-
model
|
69
|
-
end
|
70
47
|
end
|
71
48
|
end
|
72
49
|
end
|
@@ -12,10 +12,9 @@ module Avo
|
|
12
12
|
|
13
13
|
@always_show = args[:always_show].present? ? args[:always_show] : false
|
14
14
|
@height = args[:height].present? ? args[:height].to_s : "auto"
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
{
|
15
|
+
@spell_checker = args[:spell_checker].present? ? args[:spell_checker] : false
|
16
|
+
@options = {
|
17
|
+
spell_checker: @spell_checker,
|
19
18
|
always_show: @always_show,
|
20
19
|
height: @height
|
21
20
|
}
|
data/lib/avo/licensing/h_q.rb
CHANGED
@@ -3,8 +3,8 @@ module Avo
|
|
3
3
|
class HQ
|
4
4
|
attr_accessor :current_request
|
5
5
|
|
6
|
-
ENDPOINT = "https://avohq.io/api/v1/licenses/check" unless const_defined?(:ENDPOINT)
|
7
|
-
CACHE_KEY = "avo.hq.response" unless const_defined?(:CACHE_KEY)
|
6
|
+
ENDPOINT = "https://avohq.io/api/v1/licenses/check".freeze unless const_defined?(:ENDPOINT)
|
7
|
+
CACHE_KEY = "avo.hq.response".freeze unless const_defined?(:CACHE_KEY)
|
8
8
|
REQUEST_TIMEOUT = 5 unless const_defined?(:REQUEST_TIMEOUT) # seconds
|
9
9
|
|
10
10
|
def initialize(current_request)
|
@@ -54,7 +54,7 @@ module Avo
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def perform_request
|
57
|
-
|
57
|
+
::Rails.logger.debug "[Avo] Performing request to avohq.io API to check license availability." if Rails.env.development?
|
58
58
|
|
59
59
|
HTTParty.post ENDPOINT, body: payload.to_json, headers: {'Content-type': "application/json"}, timeout: REQUEST_TIMEOUT
|
60
60
|
end
|
@@ -4,11 +4,13 @@ module Avo
|
|
4
4
|
attr_accessor :id
|
5
5
|
attr_accessor :response
|
6
6
|
attr_accessor :valid
|
7
|
+
attr_accessor :payload
|
7
8
|
|
8
9
|
def initialize(response)
|
9
10
|
@response = response
|
10
11
|
@id = response["id"]
|
11
12
|
@valid = response["valid"]
|
13
|
+
@payload = response["payload"]
|
12
14
|
end
|
13
15
|
|
14
16
|
def valid?
|
data/lib/avo/version.rb
CHANGED
@@ -12,10 +12,11 @@ module Generators
|
|
12
12
|
|
13
13
|
TEMPLATES = {
|
14
14
|
sidebar: "app/views/avo/sidebar/_sidebar.html.erb",
|
15
|
-
logo: "app/views/avo/partials/
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
logo: "app/views/avo/partials/_logo.html.erb",
|
16
|
+
head: "app/views/avo/partials/_head.html.erb",
|
17
|
+
header: "app/views/avo/partials/_header.html.erb",
|
18
|
+
footer: "app/views/avo/partials/_footer.html.erb",
|
19
|
+
scripts: "app/views/avo/partials/_scripts.html.erb"
|
19
20
|
}
|
20
21
|
|
21
22
|
def handle
|
@@ -6,10 +6,10 @@ module Generators
|
|
6
6
|
source_root File.expand_path("templates", __dir__)
|
7
7
|
|
8
8
|
namespace "avo:locales"
|
9
|
-
desc "
|
9
|
+
desc "Add Avo locale files to your project."
|
10
10
|
|
11
11
|
def create_files
|
12
|
-
|
12
|
+
directory File.join(__dir__, "templates", "locales"), "config/locales"
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -10,9 +10,6 @@ module Generators
|
|
10
10
|
def create
|
11
11
|
template "resource/resource.tt", "app/avo/resources/#{resource_name}.rb"
|
12
12
|
template "resource/controller.tt", "app/controllers/avo/#{controller_name}.rb"
|
13
|
-
|
14
|
-
# Show a warning if the model doesn't exists
|
15
|
-
say("We couldn't find the #{class_name} model in your codebase. You should have one present for Avo to display the resource.", :yellow) unless current_models.include? class_name
|
16
13
|
end
|
17
14
|
|
18
15
|
def resource_class
|
@@ -20,7 +17,7 @@ module Generators
|
|
20
17
|
end
|
21
18
|
|
22
19
|
def controller_class
|
23
|
-
"Avo::#{
|
20
|
+
"Avo::#{class_name.camelize.pluralize}Controller"
|
24
21
|
end
|
25
22
|
|
26
23
|
def resource_name
|
@@ -1,13 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class <%= class_name.camelize %> < Action
|
4
|
-
self.name = '<%= name.underscore.humanize %>'
|
1
|
+
class <%= class_name.camelize %> < Avo::BaseAction
|
2
|
+
self.name = '<%= name.underscore.humanize %>'
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
end
|
10
|
-
end
|
4
|
+
def handle(models:, fields:)
|
5
|
+
models.each do |model|
|
6
|
+
# Do something with your models.
|
11
7
|
end
|
12
8
|
end
|
13
9
|
end
|
@@ -29,10 +29,10 @@ Avo.configure do |config|
|
|
29
29
|
# }
|
30
30
|
|
31
31
|
## == Localization ==
|
32
|
+
# config.locale = 'en-US'
|
32
33
|
|
33
34
|
## == Customization ==
|
34
35
|
# config.app_name = 'Avocadelicious'
|
35
|
-
# config.locale = 'en-US'
|
36
36
|
# config.timezone = 'UTC'
|
37
37
|
# config.currency = 'USD'
|
38
38
|
# config.per_page = 24
|
@@ -43,4 +43,13 @@ Avo.configure do |config|
|
|
43
43
|
# config.full_width_container = false
|
44
44
|
# config.full_width_index_view = false
|
45
45
|
# config.cache_resources_on_index_view = true
|
46
|
+
|
47
|
+
# Where should the user be redirected when he hits the `/<%= options[:path] %>` url
|
48
|
+
# config.home_path = nil
|
49
|
+
|
50
|
+
## == Breadcrumbs ==
|
51
|
+
# config.display_breadcrumbs = true
|
52
|
+
# config.set_initial_breadcrumbs do
|
53
|
+
# add_breadcrumb "Home", '/<%= options[:path] %>'
|
54
|
+
# end
|
46
55
|
end
|