tramway-admin 1.7.8.2 → 1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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