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 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