root/lib/cyborghood-clerk/interface/_commands/_dns/info.rb @ master
6012d347 | Marc Dequènes (Duck) | node 'INFO', :case_insensitive => true do
|
|
on_request do |request|
|
|||
task 'dns_list_managed_zones' do
|
|||
logger.warn "User: #{request.env.user}"
|
|||
# do later requests using provided token
|
|||
9f407d69 | Marc Dequènes (Duck) | # TODO: check is not empty
|
|
6012d347 | Marc Dequènes (Duck) | set_user request.env.user
|
|
# cannot search directly 'person/<user>' until LdapShadows is used,
|
|||
# then searching the user DN first
|
|||
ask "Librarian", :user_info, Proc.new{ "/Records/Persons/#{user}" }
|
|||
on_error do
|
|||
logger.warn "FUCK"
|
|||
request.reply.errors << "Internal error"
|
|||
request.send_reply
|
|||
end
|
|||
on_success do
|
|||
unless results[:user_info]
|
|||
logger.warn "User not found!"
|
|||
else
|
|||
ask "Librarian", :managed_zones, "/Records/DnsDomains/?", :manager => "#{results[:user_info][:dn]}"
|
|||
on_success do
|
|||
logger.info "COIN"
|
|||
# request.reply.results[<key>] fail with: wrong number of arguments (2 for 1)
|
|||
msg = results[:managed_zones].empty? ?
|
|||
_("You do not manage any zone.") :
|
|||
_("You are manager of the following zones: %{zone_list}.",
|
|||
:zone_list => results[:managed_zones].keys.join(', '))
|
|||
request.reply.results = msg.translate(request.env.preferred_locales)
|
|||
logger.info "COIN END"
|
|||
request.send_reply
|
|||
end
|
|||
end
|
|||
end
|
|||
end # task dns_list_managed_zones
|
|||
end
|
|||
end
|