lib/avo/base_action.rb in avo-2.19.0 vs lib/avo/base_action.rb in avo-2.20.0
- old
+ new
@@ -17,10 +17,11 @@
attr_accessor :response
attr_accessor :model
attr_accessor :resource
attr_accessor :user
+ attr_reader :arguments
delegate :view, to: :class
delegate :context, to: ::Avo::App
delegate :current_user, to: ::Avo::App
delegate :params, to: ::Avo::App
@@ -54,15 +55,16 @@
return name if name.present?
self.class.to_s.demodulize.underscore.humanize(keep_id_suffix: true)
end
- def initialize(model: nil, resource: nil, user: nil, view: nil)
+ def initialize(model: nil, resource: nil, user: nil, view: nil, arguments: {})
self.class.model = model if model.present?
self.class.resource = resource if resource.present?
self.class.user = user if user.present?
self.class.view = view if view.present?
+ @arguments = arguments
self.class.message ||= I18n.t("avo.are_you_sure_you_want_to_run_this_option")
self.class.confirm_button_label ||= I18n.t("avo.run")
self.class.cancel_button_label ||= I18n.t("avo.cancel")
@@ -130,10 +132,11 @@
params: params,
parent_model: parent_model,
parent_resource: parent_resource,
resource: self.class.resource,
view: self.class.view,
+ arguments: arguments
).handle
end
def param_id
self.class.to_s.demodulize.underscore.tr "/", "_"
@@ -144,10 +147,16 @@
self
end
def fail(text)
+ Rails.logger.warn "DEPRECATION WARNING: Action fail method is deprecated in favor of error method and will be removed from Avo version 3.0.0"
+
+ error text
+ end
+
+ def error(text)
add_message text, :error
self
end
@@ -157,9 +166,15 @@
self
end
def warn(text)
add_message text, :warning
+
+ self
+ end
+
+ def keep_modal_open
+ response[:keep_modal_open] = true
self
end
# Add a placeholder silent message from when a user wants to do a redirect action or something similar