kadmin 1.0.2 → 1.0.3

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: f56c7b735666074f5e864e1d5c116ff1e64c645abb8eb96c7a04751975832b87
4
- data.tar.gz: e70fc7a5ce5f0755713dbf4353d2688f3f53c686f47a9f915167cb81c89d2ab7
3
+ metadata.gz: 51c3cae4ed7c833aa663c74fa0ab036f3976c273869df2613721499d4d297d12
4
+ data.tar.gz: ddf52353bb65ec10d8865ad6e18535d4dcf02bdb7dfbfd93f8da6405f6f4ccf6
5
5
  SHA512:
6
- metadata.gz: fa823ecd24ecfeae42ecd2783c0cce6c796412adde662c362c5fec7c4e1254d44d210114474566d941ca23411689eab72c491de353d28a6b08633355359a97d3
7
- data.tar.gz: e881dc85cb13f0c828c2042d96ef754c5b1a4ac12bb81136fb9027617db811049a61e6f05bed00d04c29415a48873a4fac4d5aa7e45ac155bb0c5015c0f0feac
6
+ metadata.gz: 4237584dd64f1e5c1f76adb2c1f1b465075742a12b05786e62f46a5f77b8b54e35cc99d38f68289d6f3b5e41e85998c7486580e1e98491c763ea4de79670586a
7
+ data.tar.gz: 5529f972678b909a6288796de6c0b8c829412c8835df306040ccf109961f061d55c56e77139a15cd8decc57096175c68a7da17f414da489618f0e1d6422e1eaf
@@ -21,8 +21,9 @@
21
21
  <header class="header">
22
22
  <div class="header-block header-block-nav">
23
23
  <ul class="nav-profile">
24
- <% if logged_in? %>
25
- <%= link_to(t('kadmin.authorization.logout'), Kadmin::Engine.routes.url_helpers.auth_logout_path) %>
24
+ <% if logged_in? %>
25
+ <li><%= authorized_user.organization %></li>
26
+ <li><%= link_to(t('kadmin.authorization.logout'), Kadmin::Engine.routes.url_helpers.auth_logout_path) %></li>
26
27
  <% end %>
27
28
  </ul>
28
29
  </div>
@@ -37,7 +38,7 @@
37
38
  <% if (!Kadmin::Auth.config.enabled? || logged_in?) && !Kadmin.config.navbar_items.empty? %>
38
39
  <nav class="menu">
39
40
  <ul class="nav metismenu" id="sidebar-menu">
40
- <% Kadmin.config.navbar_items.each do |item| %>
41
+ <% Kadmin.config.navbar_items_for_user(authorized_user).each do |item| %>
41
42
  <%= item.present(self).render %>
42
43
  <% end %>
43
44
  </ul>
@@ -6,6 +6,7 @@ module Kadmin
6
6
  def initialize(email, options = {})
7
7
  @email = email
8
8
  @organization = options[:organization]
9
+ @accept = options[:accept]
9
10
  end
10
11
 
11
12
  def authorized?(_request)
@@ -15,7 +16,6 @@ module Kadmin
15
16
  def admin?
16
17
  return true
17
18
  end
18
-
19
19
  end
20
20
  end
21
21
  end
@@ -20,7 +20,7 @@ module Kadmin
20
20
 
21
21
  def load_users!
22
22
  file = Rails.root.join('config', 'admin_users.yml')
23
- if File.exists?(file) && File.readable?(file)
23
+ if File.exist?(file) && File.readable?(file)
24
24
  definitions = YAML.load_file(file.to_s)
25
25
  definitions.each do |definition|
26
26
  email = definition['email']
@@ -27,5 +27,14 @@ module Kadmin
27
27
  @navbar_items.insert(index || @navbar_items.size, item)
28
28
  end
29
29
  end
30
+
31
+ # filter available nav sections with the user's accept string
32
+ def navbar_items_for_user(user)
33
+ return [] if user.blank? # no user, no links
34
+ return @navbar_items if user.accept.blank? # no accept array -> everything is accepted
35
+ return @navbar_items.select do |navbar_item|
36
+ user.accept.any? { |accept_string| navbar_item.text =~ /#{accept_string.to_s.split('_').first}/i }
37
+ end
38
+ end
30
39
  end
31
40
  end
@@ -1,3 +1,3 @@
1
1
  module Kadmin
2
- VERSION = '1.0.2'.freeze
2
+ VERSION = '1.0.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kadmin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Pepin-Perreault
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-10-10 00:00:00.000000000 Z
13
+ date: 2018-10-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails