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.2 KiB

13 years ago
class SoasController < ApplicationController
active_scaffold :soa do |conf|
13 years ago
conf.columns = [:name, :type, :content, :ttl, :prio, :change_date, :authentication_token]
conf.create.columns = [:contact, :ttl]
13 years ago
conf.update.columns = [:contact, :ttl]
13 years ago
conf.columns[:change_date].list_ui = :timestamp
conf.columns[:ttl].options = {:i18n_number => {:delimiter => ''}}
13 years ago
conf.actions.exclude :delete, :show
13 years ago
end
before_filter :ensure_nested_under_domain
protected
def beginning_of_chain
13 years ago
(nested_via_records? ? nested.parent_scope.soa_records : super).readonly(false)
end
# override, we make our own sti logic
def new_model
record = beginning_of_chain.new
before_create_save(record)
record
end
def before_create_save(record)
record.domain = nested_parent_record
record.user = record.domain_user
end
# override to close create form after success
def render_parent?
nested_singular_association? # || params[:parent_sti]
end
def after_update_save(record)
unless @record.domain.ns_records.any? {|ns_record| @record.primary_ns == ns_record.content}
flash.now[:warning] = "SOA record's primary NS is no longer among this domain's NS records"
end
end
13 years ago
end