cm-admin 1.5.28 → 1.5.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/controllers/cm_admin/resource_controller.rb +5 -1
- data/lib/cm_admin/model.rb +2 -1
- data/lib/cm_admin/models/action.rb +3 -2
- data/lib/cm_admin/models/dsl_method.rb +4 -4
- data/lib/cm_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: 8633d5b2705caba1ed7329b20ac6bfad6e4ef045ded72027768fc615eca2aefe
|
4
|
+
data.tar.gz: 6c825574261c4552a5c94e9c9a3260267717c6521a974202abc832f1b3c893ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db5ace7e6cb92376805d4d51cc6ce3cf15228b3756efaa2983e74be73b4d2a8861c30559adb58be2bc0d95c4208d920e4433386b4d604ec7149335f820bd0abd
|
7
|
+
data.tar.gz: 8767d826ba1d1d3b5f9950c5dfcbc4582a7a730b234c04c2aef5f956ca52807c0498373d1ffca23e9afc7a7175cae28249e93946cbc98e7c7772c4aa948fc6c8
|
data/Gemfile.lock
CHANGED
@@ -62,6 +62,7 @@ module CmAdmin
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def cm_update(params)
|
65
|
+
@current_action = CmAdmin::Models::Action.find_by(@model, name: 'edit')
|
65
66
|
@ar_object = fetch_ar_object(@model.ar_model.name.classify.constantize, params[:id])
|
66
67
|
@ar_object.assign_attributes(resource_params(params))
|
67
68
|
resource_identifier
|
@@ -69,6 +70,7 @@ module CmAdmin
|
|
69
70
|
end
|
70
71
|
|
71
72
|
def cm_create(params)
|
73
|
+
@current_action = CmAdmin::Models::Action.find_by(@model, name: 'new')
|
72
74
|
@ar_object = @model.ar_model.name.classify.constantize.new(resource_params(params))
|
73
75
|
resource_identifier
|
74
76
|
resource_responder
|
@@ -206,13 +208,15 @@ module CmAdmin
|
|
206
208
|
if @ar_object.save
|
207
209
|
redirect_url = if params['referrer']
|
208
210
|
params['referrer']
|
211
|
+
elsif @current_action.redirect_to.present?
|
212
|
+
@current_action.redirect_to.call(@ar_object)
|
209
213
|
else
|
210
214
|
cm_admin.send("#{@model.name.underscore}_show_path", @ar_object)
|
211
215
|
end
|
212
216
|
if params['attachment_destroy_ids'].present?
|
213
217
|
ActiveStorage::Attachment.where(id: params['attachment_destroy_ids']).destroy_all
|
214
218
|
end
|
215
|
-
format.html { redirect_to
|
219
|
+
format.html { redirect_to redirect_url, allow_other_host: true, notice: "#{action_name.titleize} #{@ar_object.class.name.downcase} is successful" }
|
216
220
|
else
|
217
221
|
format.html { render '/cm_admin/main/new', notice: "#{action_name.titleize} #{@ar_object.class.name.downcase} is unsuccessful" }
|
218
222
|
end
|
data/lib/cm_admin/model.rb
CHANGED
@@ -26,6 +26,8 @@ module CmAdmin
|
|
26
26
|
include Pagy::Backend
|
27
27
|
include Models::Blocks
|
28
28
|
include Models::DslMethod
|
29
|
+
include CmAdmin::Engine.routes.url_helpers
|
30
|
+
|
29
31
|
attr_accessor :available_actions, :actions_set, :available_fields, :additional_permitted_fields,
|
30
32
|
:current_action, :params, :filters, :available_tabs, :icon_name, :bulk_actions
|
31
33
|
attr_reader :name, :ar_model, :is_visible_on_sidebar, :importer
|
@@ -50,7 +52,6 @@ module CmAdmin
|
|
50
52
|
end
|
51
53
|
|
52
54
|
class << self
|
53
|
-
|
54
55
|
def find_by(search_hash)
|
55
56
|
CmAdmin.config.cm_admin_models.find { |x| x.name == search_hash[:name] }
|
56
57
|
end
|
@@ -7,7 +7,7 @@ module CmAdmin
|
|
7
7
|
attr_accessor :name, :display_name, :verb, :layout_type, :layout, :partial, :path, :page_title, :page_description,
|
8
8
|
:child_records, :is_nested_field, :nested_table_name, :parent, :display_if, :route_type, :code_block,
|
9
9
|
:display_type, :action_type, :redirection_url, :sort_direction, :sort_column, :icon_name, :scopes, :view_type,
|
10
|
-
:kanban_attr, :model_name
|
10
|
+
:kanban_attr, :model_name, :redirect_to
|
11
11
|
|
12
12
|
VALID_SORT_DIRECTION = Set[:asc, :desc].freeze
|
13
13
|
|
@@ -44,11 +44,12 @@ module CmAdmin
|
|
44
44
|
self.kanban_attr = {}
|
45
45
|
end
|
46
46
|
|
47
|
-
def set_values(page_title, page_description, partial, view_type=:table)
|
47
|
+
def set_values(page_title, page_description, partial, redirect_to = nil, view_type=:table)
|
48
48
|
self.page_title = page_title
|
49
49
|
self.page_description = page_description
|
50
50
|
self.partial = partial
|
51
51
|
self.view_type = view_type
|
52
|
+
self.redirect_to = redirect_to
|
52
53
|
end
|
53
54
|
|
54
55
|
def controller_action_name
|
@@ -15,15 +15,15 @@ module CmAdmin
|
|
15
15
|
yield
|
16
16
|
end
|
17
17
|
|
18
|
-
def cm_edit(page_title: nil,page_description: nil, partial: nil, &block)
|
18
|
+
def cm_edit(page_title: nil, page_description: nil, partial: nil, redirect_to: nil, &block)
|
19
19
|
@current_action = CmAdmin::Models::Action.find_by(self, name: 'edit')
|
20
|
-
@current_action.set_values(page_title, page_description, partial)
|
20
|
+
@current_action.set_values(page_title, page_description, partial, redirect_to)
|
21
21
|
yield
|
22
22
|
end
|
23
23
|
|
24
|
-
def cm_new(page_title: nil,page_description: nil, partial: nil, &block)
|
24
|
+
def cm_new(page_title: nil, page_description: nil, partial: nil, redirect_to: nil, &block)
|
25
25
|
@current_action = CmAdmin::Models::Action.find_by(self, name: 'new')
|
26
|
-
@current_action.set_values(page_title, page_description, partial)
|
26
|
+
@current_action.set_values(page_title, page_description, partial, redirect_to)
|
27
27
|
yield
|
28
28
|
end
|
29
29
|
|
data/lib/cm_admin/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cm-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sajinmp
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-06-
|
13
|
+
date: 2024-06-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: caxlsx_rails
|