tramway-admin 1.28.2.1 → 1.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/tramway/admin/application_controller.rb +3 -3
- data/app/helpers/tramway/admin/actions_helper.rb +16 -0
- data/app/helpers/tramway/admin/records_helper.rb +9 -9
- data/app/views/tramway/admin/shared/show/associations/_list.html.haml +3 -0
- 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: 01f0328f6e541ce9e16109272920c6878a90dc89577e21a85614f66c54ea29e9
|
4
|
+
data.tar.gz: c457d21a480b855835a3e55192ba771a2af6a28e8ba663910e2cad3e7e1b86d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63da1c38228db68cf4863e3461953a495141f99d2e8452f5c605d2150803dea6dd942196bb8ff57d36c3ec386570b52377708e119c2497f1aaa203d8137a33a7
|
7
|
+
data.tar.gz: 2944d285dd6ad080b573eb368b752cc47f1a4012cc2c6294c5e54bd72527a1d41a6c3d504bfa7407b7a2a66d6aab28252d22ccdce9ffeb69c86866aa05c25c66
|
@@ -84,11 +84,11 @@ module Tramway
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def form_given?
|
87
|
-
# FIXME add tramway error locales to the tramway admin gem
|
88
|
-
#Tramway::Error.raise_error(
|
87
|
+
# FIXME: add tramway error locales to the tramway admin gem
|
88
|
+
# Tramway::Error.raise_error(
|
89
89
|
# :tramway, :admin, :application_controller, :form_given, :model_not_included_to_tramway_admin,
|
90
90
|
# model: params[:model]
|
91
|
-
#)
|
91
|
+
# )
|
92
92
|
raise "Looks like model #{params[:model]} is not included to tramway-admin for `#{current_user.role}` role. Add it in the `config/initializers/tramway.rb`. This way `Tramway::Admin.set_available_models(#{params[:model]})`"
|
93
93
|
Tramway::Admin.forms.include? params[:form].underscore.sub(%r{^admin/}, '').sub(/_form$/, '')
|
94
94
|
end
|
@@ -11,6 +11,22 @@ module Tramway::Admin::ActionsHelper
|
|
11
11
|
)
|
12
12
|
end
|
13
13
|
|
14
|
+
def update_is_available?(association_object, _main_object)
|
15
|
+
::Tramway::Admin.action_is_available?(
|
16
|
+
association_object,
|
17
|
+
project: (@application_engine || @application.name),
|
18
|
+
model_name: association_object.model.class.name,
|
19
|
+
role: current_user.role,
|
20
|
+
action: :update
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# delete_button is in smart-buttons gem
|
25
|
+
|
26
|
+
def edit_button(url:, button_options:, &block)
|
27
|
+
link_to(url, **button_options) { yield }
|
28
|
+
end
|
29
|
+
|
14
30
|
def habtm_destroy_is_available?(association_object, main_object)
|
15
31
|
::Tramway::Admin.forms&.include?("#{main_object.model.class.to_s.underscore.pluralize}/remove_#{association_object.model.class.to_s.underscore}")
|
16
32
|
end
|
@@ -81,17 +81,17 @@ module Tramway::Admin
|
|
81
81
|
|
82
82
|
if association.options[:as].present? # polymorphic? conditiion
|
83
83
|
new_record_path model: association.class_name,
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
84
|
+
redirect: current_model_record_path(object.model),
|
85
|
+
association.options[:class_name].underscore => {
|
86
|
+
association.options[:as] => object.id,
|
87
|
+
association.type => object.class.model_name
|
88
|
+
}
|
89
89
|
else
|
90
90
|
new_record_path model: association.class_name,
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
redirect: current_model_record_path(object.model),
|
92
|
+
association.options[:class_name].underscore => {
|
93
|
+
as || object.model.class.name.underscore => object.id
|
94
|
+
}
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
@@ -10,6 +10,9 @@
|
|
10
10
|
- association_state_machines.each do |state_method|
|
11
11
|
= state_events_buttons association_object, state_method: state_method, model_param_name: :record, controller: 'tramway/admin/records', action: :update, parameters: { redirect: current_model_record_path(object.id), model: association_object.class.model_name }, button_options: { class: :smart_button }
|
12
12
|
%td
|
13
|
+
- if update_is_available? association_object, object
|
14
|
+
= edit_button url: edit_record_path(association_object.id, model: association.options[:class_name], redirect: current_model_record_path(object.id)), button_options: { class: 'btn btn-xs btn-warning edit' } do
|
15
|
+
= fa_icon 'pencil-alt'
|
13
16
|
- if destroy_is_available? association_object, object
|
14
17
|
= delete_button url: record_path(association_object.id, model: association.options[:class_name], redirect: current_model_record_path(object.id)), button_options: { class: 'btn btn-xs btn-danger delete' } do
|
15
18
|
= fa_icon 'trash-alt'
|
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.
|
4
|
+
version: '1.29'
|
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-
|
11
|
+
date: 2020-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bootstrap-kaminari-views
|