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