tramway-admin 1.29.1 → 1.29.1.1

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: 00672d9c37c12d6db9a756f2c1b638db56573a8bac4c70800587ad7e0b940791
4
- data.tar.gz: 016fd98a4e239d12b24f583a5e2c06f555a85eccfa93fef877c51539289c8071
3
+ metadata.gz: ed575a82aacf123ee4caeaab6eddf14ed35594decc07fd44789d4c0ee03d0a8b
4
+ data.tar.gz: 6098b5fe7138b6e9b102ac3e6ac87855d80e63540207a87398e4942ed476ca66
5
5
  SHA512:
6
- metadata.gz: ce14fecc444d493d0b2edb9ff0014a9c392f81cf14bb01da2be6d398427a48d595a1d7609c605fb82f255ca4b8466833aa3923745429a2c78d4058de58b73d48
7
- data.tar.gz: 275b6d832b5be2f9a894e111b8faf8faea832687482eb779b0a778b23898640142f3b998f4b90869e51bc1d6019f4b829ca8a6ec3c0d5fcb10d19518a303a51d
6
+ metadata.gz: 918f43cc0f9a3e7c3fad73769f22a6c03a9ff344e6c28c42439f54248cd890fe6f62894b12d2ee40c8bede75d79951ea6e2ac6fb525e5f5b798dd48c99d1a5f9
7
+ data.tar.gz: 81248e831e6ffa7698d4606bcde6310cc196ce5261c9c1dd729a0ace116f2a20ef8fea0d4ff5983609111240b5d84aae74e85d3eb9b99b2f149dac70f7017849
@@ -18,7 +18,7 @@
18
18
  = model_menu_item model: model, route: ::Tramway::Admin::Engine.routes.url_helpers.singleton_path(model: model)
19
19
  - when :record
20
20
  = model_menu_item model: model, route: ::Tramway::Admin::Engine.routes.url_helpers.records_path(model: model, scope: decorator_class(model).collections.first), pluralize: plural(model.model_name).capitalize
21
- - when Symbol
21
+ - when Symbol, String
22
22
  = dropdown t("admin.navbar.links.#{item.keys.first}") do
23
23
  - item.values.first.each do |sub_item|
24
24
  - if sub_item == :divider
@@ -39,11 +39,11 @@ module Tramway
39
39
  error = Tramway::Error.new(
40
40
  plugin: :admin,
41
41
  method: :get_models_by_key,
42
- message: "Looks like you have not create at least one instance of #{Tramway::Core.application.model_class} model"
42
+ message: "Looks like you have not create at least one instance of #{Tramway::Core.application.model_class} model OR Tramway Application Model is nil"
43
43
  )
44
44
  raise error.message
45
45
  end
46
- checked_models && checked_models != [] && checked_models[project][role]&.keys || []
46
+ checked_models && checked_models[project]&.dig(role)&.keys || []
47
47
  end
48
48
 
49
49
  def models_array(models_type:, role:)
@@ -1,31 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tramway::Admin::Navbar
4
- def navbar_structure(*links)
5
- @navbar_structure ||= links
4
+ def navbar_structure(*links, project:)
5
+ @navbar_structure ||= {}
6
+ @navbar_structure.merge! project => links
6
7
  end
7
8
 
8
9
  def navbar_items_for(project, role:)
9
- @singleton_models_for = singleton_models_for(project, role: role)
10
- @available_models_for = available_models_for(project, role: role)
11
- navbar_structure.map do |item|
10
+ project = project.underscore.to_sym
11
+ @navbar_structure[project]&.map do |item|
12
12
  if item.is_a? Class
13
- should_be_in_navbar_as item
13
+ should_be_in_navbar_as item, project, role
14
14
  elsif item.is_a? Hash
15
15
  sub_items = item.values.first.map do |sub_item|
16
- should_be_in_navbar_as sub_item
16
+ should_be_in_navbar_as sub_item, project, role
17
17
  end.compact
18
18
  { item.keys.first => sub_items } if sub_items.any?
19
19
  end
20
- end.compact
20
+ end&.compact || []
21
21
  end
22
22
 
23
23
  private
24
24
 
25
- def should_be_in_navbar_as(item)
26
- if @singleton_models_for.include?(item)
25
+ def should_be_in_navbar_as(item, project, role)
26
+ if singleton_models_for(project, role: role).include?(item)
27
27
  { item => :singleton }
28
- elsif @available_models_for.include?(item)
28
+ elsif available_models_for(project, role: role).include?(item)
29
29
  { item => :record }
30
30
  elsif item.is_a? Symbol
31
31
  :divider
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Admin
5
- VERSION = '1.29.1'
5
+ VERSION = '1.29.1.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.1
4
+ version: 1.29.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-10 00:00:00.000000000 Z
11
+ date: 2020-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bootstrap-kaminari-views