-
Notifications
You must be signed in to change notification settings - Fork 8
Customize
alpaca-tc edited this page Dec 20, 2017
·
2 revisions
module AdminScript
class ExpireUserSession < AdminScript::Base
self.description = 'Your description message'
# Define as a method
def description
"Update time to #{Time.now}"
end
def success_message
'it will be displayed when script succeed'
end
def failed_message
'it will be displayed when script fails'
end
end
end
module AdminScript
class UserScript < AdminScript::Base
attribute :id, :integer
def perform
return false unless invalid?
self.location_url = url_helpers.user_path(id)
# Do something
true
end
# Define as a method
def location_url
url_helpers.user_path(id)
end
end
end
Create custom view for AdminScript::UserScript
# app/views/admin_script/admin_scripts/_user_script.html.slim
javascript:
$(document).on('ready page:load', function() {
$('[href="#expire"]').on('click', function() {
$('input[name="admin_script[id]"]').val('')
});
});
.form-group
- if f.object.id
= link_to user_path(f.object.id), user_path(f.object.id)
= f.number_field :id, class: 'form-control'
= link_to('Expire', '#expire')
Example of locales
# config/locales/admin_script/en.yml
en:
activemodel:
models:
admin_script/base: AdminScript
attributes:
admin_script/base:
description: Description
admin_script:
admin_scripts:
index:
title: Listing of AdminScripts
open: Open
edit:
title: 'AdminScript - %{id}'
perform: Perform
confirm: Are you sure?
update:
successfully_performed: Successfully performed
failed_performing: Failed performing
# config/locales/models/admin_script/expire_user_session/en.yml
en:
activemodel:
attributes:
models:
admin_script/expire_user_session:
id: User ID
errors:
models:
admin_script/expire_user_session:
attributes:
id:
invalid: is invalid User ID
= link_to 'Expire user session', admin_script.admin_script_path(AdminScript::ExpireUserSession, admin_script: { id: @user.id }), data: { method: :patch }