cm-admin 1.5.28 → 1.5.29

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7935960984bf5a170dbb16e272ce951ab886ae16fcbb131d25fcbaafc31a8e82
4
- data.tar.gz: de1756f433cdb23fccf3daaee59e46b8436ca37cee29b5c34808a19d28211989
3
+ metadata.gz: 8633d5b2705caba1ed7329b20ac6bfad6e4ef045ded72027768fc615eca2aefe
4
+ data.tar.gz: 6c825574261c4552a5c94e9c9a3260267717c6521a974202abc832f1b3c893ef
5
5
  SHA512:
6
- metadata.gz: 315d9e2c449721ac68ae48fe238ad80035208b774c84e31c71f70bf9c4fb3f481ae0ff37d1e9fa76aaa9040106d59a202e7baea257cc2b603ecb7bd4cdc08efc
7
- data.tar.gz: 00577270ba1efaee074b670e339e80ee80692414b3ea7ecc2388951443d881bbbc3f5f56866baa4f0b7c907d8a1188f10dd6081fbafce27d268f37bbbb67c276
6
+ metadata.gz: db5ace7e6cb92376805d4d51cc6ce3cf15228b3756efaa2983e74be73b4d2a8861c30559adb58be2bc0d95c4208d920e4433386b4d604ec7149335f820bd0abd
7
+ data.tar.gz: 8767d826ba1d1d3b5f9950c5dfcbc4582a7a730b234c04c2aef5f956ca52807c0498373d1ffca23e9afc7a7175cae28249e93946cbc98e7c7772c4aa948fc6c8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cm-admin (1.5.28)
4
+ cm-admin (1.5.29)
5
5
  caxlsx_rails
6
6
  cocoon (~> 1.2.15)
7
7
  csv-importer (~> 0.8.2)
@@ -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 redirect_url, notice: "#{action_name.titleize} #{@ar_object.class.name.downcase} is successful" }
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
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = '1.5.28'
2
+ VERSION = '1.5.29'
3
3
  end
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.28
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-21 00:00:00.000000000 Z
13
+ date: 2024-06-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: caxlsx_rails