-
Notifications
You must be signed in to change notification settings - Fork 167
/
utility.rb
52 lines (52 loc) · 2.14 KB
/
utility.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
module DocusignRest
class Utility
# Public takes a path to redirect to and breaks the redirect out of an iFrame
#
# This can be used after embedded signing is either successful or not and has
# been redirected to a controller action (like docusign_response for instance)
# where the return from the signing process can be evaluated. If successful
# use this to redirect to one place, otherwise redirect to another place. You
# can use params[:event] to evaluate whether or not the signing was successful
#
# path - a relative or absolute path or rails helper can be passed in
#
# Example
#
# class SomeController < ApplicationController
#
# # the view corresponding to this action has the iFrame in it with the
# # @url as it's src. @envelope_response is populated from either:
# # @envelope_response = client.create_envelope_from_document
# # or
# # @envelope_response = client.create_envelope_from_template
# def embedded_signing
# client = DocusignRest::Client.new
# @url = client.get_recipient_view(
# envelope_id: @envelope_response["envelopeId"],
# name: current_user.display_name,
# email: current_user.email,
# return_url: "http://localhost:3000/docusign_response"
# )
# end
#
# def docusign_response
# utility = DocusignRest::Utility.new
#
# if params[:event] == "signing_complete"
# flash[:notice] = "Thanks! Successfully signed"
# render :text => utility.breakout_path(posts_path), content_type: 'text/html'
# else
# flash[:notice] = "You chose not to sign the document."
# render :text => utility.breakout_path(logout_path), content_type: 'text/html'
# end
# end
#
# end
#
# Returns a string of HTML including some JS to redirect to the passed in
# path but in the iFrame's parent.
def breakout_path(path)
"<html><body><script type='text/javascript' charset='utf-8'>parent.location.href = '#{path}';</script></body></html>"
end
end
end