kadmin 1.0.7 → 1.0.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: fbf1d95b7f00f351e61cddfbef2de92dd0fb430d178601cab3dda443361d3fd9
4
- data.tar.gz: 8a2a628316d861856b54b2667485dad1a97db402751a4ed6ba802a7eb5635eb2
3
+ metadata.gz: 6b77f3984bbb1305f00fd24d9e4f2ee58e5f816b4d46fe6f53ee4282e96182f1
4
+ data.tar.gz: 9cc07fbdde13d24818c964979cf0a87a4a57a4db38bb1be2a7502d024a0f69c8
5
5
  SHA512:
6
- metadata.gz: 2caa4660e15c6f21803c8b47b7c7bd78d34777e589a440d115d85f1d67d148373f646a7f4ee6005887b5d460625917b50c4ea33ed7b439b3c186f4b070927eb2
7
- data.tar.gz: 8cffec59ad655d1858aa4fbaa42d86f5135edc04432584f7cc16fda537677ba13a48bc82a1a4b4e9799e77751a83ad61f97b956454c378ffa16c6903ab1856f2
6
+ metadata.gz: c6244cd45d2ad12cff9051a5fdb51c3052116944c4e5b2f5c2490ed4ec73e6a9f3d052705c0c1c05b494215c52a2f521f679374fdba6420a192bb9e5b0af15bf
7
+ data.tar.gz: 5995dc8d92e23f4bb4447f03f9731ba8d8f74691eefbd67abea43d2d1c1b84222e8585640ec778db58e1f7092f3c8e8534c3d830d8d485567be74a3053b51b48
@@ -68,9 +68,16 @@ module Kadmin
68
68
  end
69
69
 
70
70
  def organization
71
- if authorized_user.present?
72
- @organization ||= Kadmin::Organization.find_by!(name: authorized_user.organization)
71
+ return @organization if authorized_user.blank?
72
+ return @organization if @organization.present?
73
+
74
+ if session[Kadmin::AuthController::SESSION_ORG_OVERWRITE_KEY] && authorized_user.admin?
75
+ @organization = Kadmin::Organization.find_by!(name: session[AuthController::SESSION_ORG_OVERWRITE_KEY])
76
+ else
77
+ @organization = Kadmin::Organization.find_by!(name: authorized_user.organization)
73
78
  end
79
+
80
+ return @organization
74
81
  rescue ActiveRecord::RecordNotFound
75
82
  render plain: "Forbidden - organization #{authorized_user.organization} not found in DB", status: :forbidden
76
83
  end
@@ -1,6 +1,7 @@
1
1
  module Kadmin
2
2
  class AuthController < Kadmin::ApplicationController
3
3
  SESSION_KEY = 'kadmin.user'.freeze
4
+ SESSION_ORG_OVERWRITE_KEY = 'kadmin.org_overwrite'.freeze
4
5
 
5
6
  # Don't try to authenticate user on the authentication controller...
6
7
  skip_before_action :authorize
@@ -63,7 +64,7 @@ module Kadmin
63
64
  # POST /change_organization
64
65
  def change_organization
65
66
  if authorized_user&.admin?
66
- authorized_user.organization = Kadmin::Organization.find(params[:organization_id]).name
67
+ session[SESSION_ORG_OVERWRITE_KEY] = Kadmin::Organization.find(params[:organization_id]).name
67
68
  end
68
69
  redirect_to :dash
69
70
  end
@@ -22,7 +22,7 @@
22
22
  <div class="header-block header-block-nav">
23
23
  <ul class="nav-profile">
24
24
  <% if logged_in? %>
25
- <% if false && authorized_user.admin? %>
25
+ <% if authorized_user.admin? %>
26
26
  <%= form_tag(Kadmin::Engine.routes.url_helpers.auth_change_organization_path) do -%>
27
27
  <%= select_tag('organization_id', options_from_collection_for_select(Kadmin::Organization.all, :id, :name, @organization.id), onchange: "this.form.submit();", class: 'form-control')%>
28
28
  <% end -%>
@@ -1,3 +1,3 @@
1
1
  module Kadmin
2
- VERSION = '1.0.7'.freeze
2
+ VERSION = '1.0.8'.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.7
4
+ version: 1.0.8
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-12-06 00:00:00.000000000 Z
13
+ date: 2018-12-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails