tramway-admin 1.23.0.2 → 1.23.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 +4 -4
- data/app/assets/javascripts/tramway/admin/application.js.coffee +3 -0
- data/app/controllers/tramway/admin/application_controller.rb +1 -0
- data/lib/tramway/admin.rb +7 -2
- data/lib/tramway/admin/records_models.rb +9 -2
- data/lib/tramway/admin/singleton_models.rb +8 -1
- data/lib/tramway/admin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e829ed2d89e8d5fd1473c6e9ee5b62e0575f5c75d60a7093847c6528c7dfa380
|
4
|
+
data.tar.gz: 0641cb8bb91d91f751d0aba568d0c31915ecf4832474889b0d791680bb4f9af4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee3bfebb363dcbad9d0beee9ff640d7dbecec7c6894bd462c084cf5c5e2b3505cd54c6dc56481d33855b50889abded2274471a94ab1c04daf0a156a52eba6896
|
7
|
+
data.tar.gz: 6ff5398fd1251c97811667d05075d317f35ef668ed63a04a968c11c230ae7599957d17ba6213fcf81b1c6c975eb8efbcbb44b012317aead899418c5647ac79d5
|
@@ -5,6 +5,7 @@ require 'tramway/helpers/class_name_helpers'
|
|
5
5
|
module Tramway
|
6
6
|
module Admin
|
7
7
|
class ApplicationController < ::Tramway::Core::ApplicationController
|
8
|
+
include Tramway::ClassNameHelpers
|
8
9
|
include Tramway::AuthManagement
|
9
10
|
include RecordRoutesHelper
|
10
11
|
before_action :authenticate_admin!
|
data/lib/tramway/admin.rb
CHANGED
@@ -31,11 +31,16 @@ module Tramway
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def get_models_by_key(checked_models, project, role)
|
34
|
-
checked_models && checked_models != [] && checked_models[project][role] || []
|
34
|
+
checked_models && checked_models != [] && checked_models[project][role]&.keys || []
|
35
35
|
end
|
36
36
|
|
37
37
|
def models_array(models_type:, role:)
|
38
|
-
|
38
|
+
# FIXME projects[1] WHAT DA FUCK?!!!!
|
39
|
+
instance_variable_get("@#{models_type}_models")&.map { |projects| projects[1][role]&.keys }&.flatten || []
|
40
|
+
end
|
41
|
+
|
42
|
+
def action_is_available?(project:, role:, model:, action:)
|
43
|
+
@singleton_models[project][role][model][action]
|
39
44
|
end
|
40
45
|
end
|
41
46
|
end
|
@@ -4,8 +4,15 @@ module Tramway::Admin::RecordsModels
|
|
4
4
|
def set_available_models(*models, project:, role: :admin)
|
5
5
|
@available_models ||= {}
|
6
6
|
@available_models[project] ||= {}
|
7
|
-
@available_models[project][role] ||=
|
8
|
-
|
7
|
+
@available_models[project][role] ||= {}
|
8
|
+
models.each do |model|
|
9
|
+
case model.class
|
10
|
+
when Class
|
11
|
+
@available_models[project][role].merge! model => [ :index, :show, :update, :create, :destroy ]
|
12
|
+
when Hash
|
13
|
+
@available_models[project][role].merge! model
|
14
|
+
end
|
15
|
+
end
|
9
16
|
@available_models = @available_models.with_indifferent_access
|
10
17
|
end
|
11
18
|
|
@@ -5,7 +5,14 @@ module Tramway::Admin::SingletonModels
|
|
5
5
|
@singleton_models ||= {}
|
6
6
|
@singleton_models[project] ||= {}
|
7
7
|
@singleton_models[project][role] ||= []
|
8
|
-
|
8
|
+
models.each do |model|
|
9
|
+
case model.class
|
10
|
+
when Class
|
11
|
+
@available_models[project][role] << { model => [ :index, :show, :update, :create, :destroy ] }
|
12
|
+
when Hash
|
13
|
+
@available_models[project][role] << model
|
14
|
+
end
|
15
|
+
end
|
9
16
|
@singleton_models = @singleton_models.with_indifferent_access
|
10
17
|
end
|
11
18
|
|
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.23.0.
|
4
|
+
version: 1.23.0.3
|
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-02-
|
11
|
+
date: 2020-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bootstrap-kaminari-views
|