tramway-admin 1.7.8.2 → 1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40fd11670e852d464d05f382575ea24c437fd73a7312bc5cd6d9ffc90b8dd1fa
4
- data.tar.gz: ab278a56968e3d64c0c7a3ce85704aebe148ac5e1ebd38f11590f18da8cb213a
3
+ metadata.gz: 68806279d5c90ebac0bcba3b6bdc22cda7db8ea1006710ef06ddf3c17d7b38f9
4
+ data.tar.gz: eec348a9bd8ff22c02428fbaee5a936d6645f5b32a64db89aabbc0b3d8f35808
5
5
  SHA512:
6
- metadata.gz: 3910b5b3fc7eb8f07300154872ae815bf5fb49e0f24e8ff1272815bfe04607102c14ec095a1988e20e135a1b464f99ac1c5d91543231632dad2c7e2fb3b5129f
7
- data.tar.gz: 8f2a3067b9c204a59d208ce645bdb69e9059aa4d36d1bbbf6d8e06aa0e36de9a5521859357e047a0eaaa06024ee0654088692070db91424260fef8be683e91ae
6
+ metadata.gz: 300ad1e390bee15a6fe10ab6e4cda43b346a6c63b6c82e1d4c16d0c232cb5ea570593e8e1f0e1c3fdcf0560ab224e672aa0b0b417247929a9fc5af5e63503f07
7
+ data.tar.gz: 9f78d9ef1b3a839a0ce7d9d648368f8d2a707099f770b22d3c100019fb49b0f88b63458e6da7f077e60c37be50c85ace1d76cd6df31c0600ffc6b8fe9256ef0e
@@ -3,15 +3,15 @@
3
3
  - if ::Tramway::Admin.customized_admin_navbar.present?
4
4
  = ::Tramway::Admin.customized_admin_navbar
5
5
  - else
6
- = link_to @application&.try(:title) || @application&.name || t('aplication.title'), ::Tramway::Admin::Engine.routes.url_helpers.root_path, class: 'navbar-brand'
6
+ = link_to @application&.try(:title) || @application&.public_name || t('aplication.title'), ::Tramway::Admin::Engine.routes.url_helpers.root_path, class: 'navbar-brand'
7
7
  %button.navbar-toggler.collapsed{ aria: { controls: :navbar, expanded: "false", label: 'Toggle Navigation' }, data: { target: "#navbar", toggle: :collapse }, type: :button }
8
8
  %span.navbar-toggler-icon
9
9
  .navbar-collapse.collapse#navbar
10
10
  - if signed_in?
11
11
  %ul.navbar-nav
12
- - ::Tramway::Admin.singleton_models_for(@application_engine)&.each do |model|
12
+ - ::Tramway::Admin.singleton_models_for(@application_engine || @application.name)&.each do |model|
13
13
  = model_menu_item model: model, route: ::Tramway::Admin::Engine.routes.url_helpers.singleton_path(model: model)
14
- - ::Tramway::Admin.available_models_for(@application_engine)&.each do |model|
14
+ - ::Tramway::Admin.available_models_for(@application_engine || @application.name)&.each do |model|
15
15
  = model_menu_item model: model, route: ::Tramway::Admin::Engine.routes.url_helpers.records_path(model: model, scope: decorator_class(model).collections.first)
16
16
  %ul.nav.navbar-nav.ml-auto
17
17
  - if signed_in?
@@ -1,3 +1,3 @@
1
- - title @application&.title
1
+ - title
2
2
  %h1
3
- = @application&.title
3
+ = @application&.try(:title) || @application&.name
@@ -13,18 +13,22 @@ module Tramway
13
13
  end
14
14
 
15
15
  def available_models_for(project)
16
- (@available_models[project.to_sym] || []) + "::Tramway::#{project.to_s.camelize}".constantize.dependencies.map do |dependency|
17
- if @available_models[dependency].present?
18
- @available_models[dependency]
19
- else
20
- error = Tramway::Error.new(
21
- plugin: :admin,
22
- method: :available_models_for,
23
- message: "There is no dependency `#{dependency}` for plugin: #{project}. Please, check file `tramway-#{project}/lib/tramway/#{project}/#{project}.rb`"
24
- )
25
- raise error
26
- end
27
- end.flatten.compact
16
+ if project_is_engine?(project)
17
+ get_models_by_key(@available_models, project) + engine_class(project).dependencies.map do |dependency|
18
+ if @available_models[dependency].present?
19
+ @available_models[dependency]
20
+ else
21
+ error = Tramway::Error.new(
22
+ plugin: :admin,
23
+ method: :available_models_for,
24
+ message: "There is no dependency `#{dependency}` for plugin: #{project}. Please, check file `tramway-#{project}/lib/tramway/#{project}/#{project}.rb`"
25
+ )
26
+ raise error
27
+ end
28
+ end.flatten.compact
29
+ else
30
+ get_models_by_key(@available_models, project)
31
+ end
28
32
  end
29
33
 
30
34
  def available_models
@@ -43,9 +47,13 @@ module Tramway
43
47
  end
44
48
 
45
49
  def singleton_models_for(project)
46
- (@singleton_models[project.to_sym] || []) + "::Tramway::#{project.to_s.camelize}".constantize.dependencies.map do |dependency|
47
- @singleton_models[dependency]
48
- end.flatten.compact
50
+ if project_is_engine?(project)
51
+ get_models_by_key(@singleton_models, project) + engine_class(project).dependencies.map do |dependency|
52
+ @singleton_models[dependency]
53
+ end.flatten.compact
54
+ else
55
+ get_models_by_key(singleton_models, project)
56
+ end
49
57
  end
50
58
 
51
59
  def singleton_models
@@ -65,6 +73,19 @@ module Tramway
65
73
  def customized_admin_navbar
66
74
  @customized_admin_navbar
67
75
  end
76
+
77
+ def engine_class(project)
78
+ class_name = "::Tramway::#{project.to_s.camelize}"
79
+ class_name.constantize if self.const_defined?(class_name)
80
+ end
81
+
82
+ def project_is_engine?(project)
83
+ engine_class(project)
84
+ end
85
+
86
+ def get_models_by_key(checked_models, project)
87
+ checked_models && checked_models != [] && checked_models[project.to_sym] || []
88
+ end
68
89
  end
69
90
  end
70
91
  end
@@ -1,5 +1,5 @@
1
1
  module Tramway
2
2
  module Admin
3
- VERSION = '1.7.8.2'
3
+ VERSION = '1.8'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.8.2
4
+ version: '1.8'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov