lib/docusign_rest/client.rb in docusign_rest-0.3.5 vs lib/docusign_rest/client.rb in docusign_rest-0.3.6
- old
+ new
@@ -271,10 +271,19 @@
'locked' => tab[:locked]
}
end
end
+ def get_radio_signer_tabs(tabs)
+ Array(tabs).map do |tab|
+ {
+ 'documentId' => tab[:document_id],
+ 'groupName' => tab[:group_name],
+ 'radios' => tab[:radios],
+ }
+ end
+ end
# TODO (2014-02-03) jonk => document
def get_event_notification(event_notification)
return {} unless event_notification
{
@@ -661,16 +670,17 @@
recipientId: signer[:recipient_id],
roleName: signer[:role_name],
clientUserId: signer[:client_id] || signer[:email],
requireSignOnPaper: signer[:require_sign_on_paper] || false,
tabs: {
- textTabs: get_signer_tabs(signer[:text_tabs]),
- checkboxTabs: get_signer_tabs(signer[:checkbox_tabs]),
- numberTabs: get_signer_tabs(signer[:number_tabs]),
- fullNameTabs: get_signer_tabs(signer[:fullname_tabs]),
- dateTabs: get_signer_tabs(signer[:date_tabs]),
- signHereTabs: get_sign_here_tabs(signer[:sign_here_tabs])
+ textTabs: get_signer_tabs(signer[:text_tabs]),
+ radioGroupTabs: get_radio_signer_tabs(signer[:radio_group_tabs]),
+ checkboxTabs: get_signer_tabs(signer[:checkbox_tabs]),
+ numberTabs: get_signer_tabs(signer[:number_tabs]),
+ fullNameTabs: get_signer_tabs(signer[:fullname_tabs]),
+ dateTabs: get_signer_tabs(signer[:date_tabs]),
+ signHereTabs: get_sign_here_tabs(signer[:sign_here_tabs])
}
}
signers_array << signers_hash
end
template_hash = {sequence: sequence, recipients: { signers: signers_array }}
@@ -961,9 +971,26 @@
request = initialize_net_http_multipart_post_request(
uri, post_body, file_params, headers(options[:headers])
)
+ response = http.request(request)
+ generate_log(request, response, uri)
+ JSON.parse(response.body)
+ end
+
+ # Public fetches custom fields for a document
+ #
+ # options[:envelope_id] - ID of the envelope which you want to send
+ # options[:document_id] - ID of the envelope which you want to send
+ #
+ # Returns the custom fields Hash.
+ def get_document_tabs(options)
+ content_type = { 'Content-Type' => 'application/json' }
+ uri = build_uri("/accounts/#{acct_id}/envelopes/#{options[:envelope_id]}/documents/#{options[:document_id]}/tabs")
+
+ http = initialize_net_http_ssl(uri)
+ request = Net::HTTP::Get.new(uri.request_uri, headers(content_type))
response = http.request(request)
generate_log(request, response, uri)
JSON.parse(response.body)
end