Project

General

Profile

Download (1.36 KB) Statistics
| Branch: | Tag: | Revision:
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
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
(2-2/2)