You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
12 years ago
|
class Users::AsController < UsersController
|
||
13 years ago
|
active_scaffold :a do |conf|
|
||
13 years ago
|
conf.columns = [:name, :type, :content, :ttl, :prio, :change_date, :authentication_token]
|
||
13 years ago
|
conf.create.columns = [:name, :content, :ttl,]
|
||
|
conf.update.columns = [:name, :content, :ttl]
|
||
13 years ago
|
conf.columns[:content].label = 'IP v4'
|
||
13 years ago
|
conf.columns[:content].description = 'Ex. "10.10.5.12"'
|
||
13 years ago
|
conf.columns[:change_date].list_ui = :timestamp
|
||
13 years ago
|
conf.columns[:ttl].options = {:i18n_number => {:delimiter => ''}}
|
||
13 years ago
|
conf.actions.exclude :show
|
||
13 years ago
|
conf.action_links.add 'new_token', label: 'New Token', method: :put,
|
||
|
type: :member, position: false, confirm: 'Are you sure?'
|
||
13 years ago
|
end
|
||
13 years ago
|
include RecordsControllerCommon
|
||
13 years ago
|
|
||
13 years ago
|
def new_token
|
||
|
process_action_link_action do |record|
|
||
|
record.instance_variable_set(:@readonly, false)
|
||
|
record.generate_token
|
||
|
update_save(no_record_param_update: true)
|
||
|
if successful?
|
||
|
flash[:info] = "Token was updated successfully to #{record.authentication_token}"
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
13 years ago
|
protected
|
||
|
|
||
|
# override to use :mx_records instead of :records assoc
|
||
|
def beginning_of_chain
|
||
13 years ago
|
(nested_via_records? ? nested.parent_scope.a_records : super).readonly(false)
|
||
13 years ago
|
end
|
||
|
|
||
|
# override, we make our own sti logic
|
||
|
def new_model
|
||
13 years ago
|
record = beginning_of_chain.new
|
||
|
record.name = nested_parent_record.name
|
||
|
record.content = client_remote_ip if client_remote_ip.present?
|
||
|
before_create_save(record)
|
||
|
record
|
||
|
end
|
||
13 years ago
|
end
|