kadmin 1.0.2 → 1.0.3

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: 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