groupdocs 1.5.8 → 1.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. data/CHANGELOG.md +9 -0
  2. data/examples/api-samples/public/docs/sample01.html +34 -15
  3. data/examples/api-samples/public/docs/sample02.html +36 -15
  4. data/examples/api-samples/public/docs/sample03.html +55 -34
  5. data/examples/api-samples/public/docs/sample04.html +33 -14
  6. data/examples/api-samples/public/docs/sample05.html +51 -33
  7. data/examples/api-samples/public/docs/sample06.html +86 -40
  8. data/examples/api-samples/public/docs/sample07.html +32 -13
  9. data/examples/api-samples/public/docs/sample08.html +39 -20
  10. data/examples/api-samples/public/docs/sample09.html +93 -39
  11. data/examples/api-samples/public/docs/sample10.html +39 -21
  12. data/examples/api-samples/public/docs/sample11.html +133 -88
  13. data/examples/api-samples/public/docs/sample12.html +33 -14
  14. data/examples/api-samples/public/docs/sample13.html +14 -7
  15. data/examples/api-samples/public/docs/sample14.html +37 -18
  16. data/examples/api-samples/public/docs/sample15.html +29 -10
  17. data/examples/api-samples/public/docs/sample16.html +58 -25
  18. data/examples/api-samples/public/docs/sample17.html +71 -38
  19. data/examples/api-samples/public/docs/sample18.html +98 -71
  20. data/examples/api-samples/public/docs/sample19.html +74 -42
  21. data/examples/api-samples/public/docs/sample20.html +39 -21
  22. data/examples/api-samples/public/docs/sample21.html +113 -69
  23. data/examples/api-samples/public/docs/sample22.html +89 -43
  24. data/examples/api-samples/public/docs/sample23.html +50 -32
  25. data/examples/api-samples/public/docs/sample24.html +64 -31
  26. data/examples/api-samples/public/docs/sample25.html +107 -60
  27. data/examples/api-samples/public/docs/sample26.html +29 -10
  28. data/examples/api-samples/public/docs/sample27.html +107 -61
  29. data/examples/api-samples/public/docs/sample28.html +158 -9
  30. data/examples/api-samples/public/docs/sample29.html +13 -8
  31. data/examples/api-samples/public/docs/sample30.html +34 -15
  32. data/examples/api-samples/public/docs/sample31.html +107 -76
  33. data/examples/api-samples/public/docs/sample32.html +104 -40
  34. data/examples/api-samples/public/docs/sample33.html +85 -36
  35. data/examples/api-samples/public/docs/sample34.html +30 -11
  36. data/examples/api-samples/public/docs/sample35.html +90 -27
  37. data/examples/api-samples/public/docs/sample36.html +36 -16
  38. data/examples/api-samples/public/docs/sample37.html +144 -265
  39. data/examples/api-samples/public/docs/sample38.html +113 -64
  40. data/examples/api-samples/public/docs/sample39.html +118 -45
  41. data/examples/api-samples/public/docs/sample40.html +81 -46
  42. data/examples/api-samples/public/docs/sample41.html +562 -90
  43. data/examples/api-samples/public/docs/sample42.html +94 -39
  44. data/examples/api-samples/public/docs/sample43.html +669 -0
  45. data/examples/api-samples/samples/sample01.rb +17 -10
  46. data/examples/api-samples/samples/sample02.rb +21 -12
  47. data/examples/api-samples/samples/sample03.rb +35 -29
  48. data/examples/api-samples/samples/sample04.rb +19 -12
  49. data/examples/api-samples/samples/sample05.rb +24 -17
  50. data/examples/api-samples/samples/sample06.rb +38 -32
  51. data/examples/api-samples/samples/sample07.rb +19 -12
  52. data/examples/api-samples/samples/sample08.rb +22 -15
  53. data/examples/api-samples/samples/sample09.rb +31 -29
  54. data/examples/api-samples/samples/sample10.rb +22 -15
  55. data/examples/api-samples/samples/sample11.rb +78 -81
  56. data/examples/api-samples/samples/sample12.rb +19 -21
  57. data/examples/api-samples/samples/sample13.rb +19 -21
  58. data/examples/api-samples/samples/sample14.rb +18 -12
  59. data/examples/api-samples/samples/sample15.rb +17 -10
  60. data/examples/api-samples/samples/sample16.rb +25 -17
  61. data/examples/api-samples/samples/sample17.rb +31 -23
  62. data/examples/api-samples/samples/sample18.rb +60 -55
  63. data/examples/api-samples/samples/sample19.rb +48 -42
  64. data/examples/api-samples/samples/sample20.rb +20 -13
  65. data/examples/api-samples/samples/sample21.rb +62 -54
  66. data/examples/api-samples/samples/sample22.rb +37 -31
  67. data/examples/api-samples/samples/sample23.rb +24 -17
  68. data/examples/api-samples/samples/sample24.rb +29 -22
  69. data/examples/api-samples/samples/sample25.rb +47 -40
  70. data/examples/api-samples/samples/sample26.rb +16 -9
  71. data/examples/api-samples/samples/sample27.rb +46 -39
  72. data/examples/api-samples/samples/sample28.rb +42 -11
  73. data/examples/api-samples/samples/sample29.rb +13 -8
  74. data/examples/api-samples/samples/sample30.rb +19 -12
  75. data/examples/api-samples/samples/sample31.rb +63 -58
  76. data/examples/api-samples/samples/sample32.rb +45 -42
  77. data/examples/api-samples/samples/sample33.rb +36 -25
  78. data/examples/api-samples/samples/sample34.rb +16 -9
  79. data/examples/api-samples/samples/sample35.rb +66 -53
  80. data/examples/api-samples/samples/sample36.rb +19 -15
  81. data/examples/api-samples/samples/sample37.rb +61 -99
  82. data/examples/api-samples/samples/sample38.rb +51 -43
  83. data/examples/api-samples/samples/sample39.rb +78 -62
  84. data/examples/api-samples/samples/sample40.rb +48 -38
  85. data/examples/api-samples/samples/sample41.rb +189 -67
  86. data/examples/api-samples/samples/sample42.rb +37 -29
  87. data/examples/api-samples/samples/sample43.rb +127 -0
  88. data/examples/api-samples/views/_others_samples.haml +4 -2
  89. data/examples/api-samples/views/index.haml +4 -2
  90. data/examples/api-samples/views/sample11.haml +1 -1
  91. data/examples/api-samples/views/sample28.haml +8 -0
  92. data/examples/api-samples/views/sample31.haml +1 -6
  93. data/examples/api-samples/views/sample39.haml +7 -2
  94. data/examples/api-samples/views/sample41.haml +78 -33
  95. data/examples/api-samples/views/sample42.haml +0 -1
  96. data/examples/api-samples/views/sample43.haml +91 -0
  97. data/lib/groupdocs/api/helpers/access_rights_helper.rb +6 -5
  98. data/lib/groupdocs/api/helpers/url_helper.rb +2 -1
  99. data/lib/groupdocs/document.rb +3 -3
  100. data/lib/groupdocs/version.rb +1 -1
  101. metadata +5 -2
@@ -1,17 +1,17 @@
1
- # GET request
1
+ #GET request
2
2
  get '/sample39' do
3
3
  haml :sample39
4
4
  end
5
5
 
6
- # GET request
6
+ #GET request
7
7
  get '/popup' do
8
8
  haml :popup
9
9
  end
10
10
 
11
- # POST request
11
+ #POST request
12
12
  post '/sample39/signature_callback' do
13
13
  begin
14
- # Get callback request
14
+ #Get callback request
15
15
  data = JSON.parse(request.body.read)
16
16
 
17
17
  raise 'Empty params!' if data.empty?
@@ -19,14 +19,14 @@ post '/sample39/signature_callback' do
19
19
  client_id = nil
20
20
  private_key = nil
21
21
 
22
- # Get value of SourceId
22
+ #Get value of SourceId
23
23
  data.each do |key, value|
24
24
  if key == 'SourceId'
25
25
  source_id = value
26
26
  end
27
27
  end
28
28
 
29
- # Get private key and client_id from file user_info.txt
29
+ #Get private key and client_id from file user_info.txt
30
30
  if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
31
31
  contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
32
32
  contents = contents.split(' ')
@@ -34,18 +34,18 @@ post '/sample39/signature_callback' do
34
34
  private_key = contents.last
35
35
  end
36
36
 
37
- # Create Job instance
37
+ #Create Job instance
38
38
  job = GroupDocs::Signature::Envelope.new({:id => source_id})
39
39
 
40
- # Get document by job id
40
+ #Get document by job id
41
41
  documents = job.documents!({}, {:client_id => client_id, :private_key => private_key}).first
42
42
 
43
- # Get guid from file
43
+ #Get guid from file
44
44
  guid = documents.file.guid
45
45
 
46
- # Create new file callback_info.txt and write the guid document
46
+ #Create new file callback_info.txt and write the guid document
47
47
  out_file = File.new("#{File.dirname(__FILE__)}/../public/callback_info.txt", 'w')
48
- # White space is required
48
+ #White space is required
49
49
  out_file.write("#{guid}")
50
50
  out_file.close
51
51
 
@@ -54,7 +54,7 @@ post '/sample39/signature_callback' do
54
54
  end
55
55
  end
56
56
 
57
- # POST request
57
+ #POST request
58
58
  post '/sample39/check' do
59
59
  begin
60
60
  result = nil
@@ -62,7 +62,7 @@ post '/sample39/check' do
62
62
  for i in 1..10
63
63
  i +=1
64
64
 
65
- # Check is downloads folder exist
65
+ #Check is downloads folder exist
66
66
  if File.exist?("#{File.dirname(__FILE__)}/../public/callback_info.txt")
67
67
  result = File.read("#{File.dirname(__FILE__)}/../public/callback_info.txt")
68
68
  if result.nil? then break end
@@ -70,7 +70,7 @@ post '/sample39/check' do
70
70
  sleep(5)
71
71
  end
72
72
 
73
- # Check result
73
+ #Check result
74
74
  if result == 'Error'
75
75
  result = "File was not found. Looks like something went wrong."
76
76
  else
@@ -83,32 +83,30 @@ post '/sample39/check' do
83
83
  end
84
84
 
85
85
 
86
- # POST request
86
+ #POST request
87
87
  post '/sample39/postdata' do
88
88
 
89
89
  data = request.body.read
90
- # Decode ajax data
90
+ #Decode ajax data
91
91
  json_post_data = JSON.parse(data);
92
- # Get Client ID
92
+ #Get Client ID
93
93
  clientId = json_post_data['userId'];
94
- # Get Private Key
94
+ #Get Private Key
95
95
  privateKey = json_post_data['privateKey'];
96
96
  #Get document for sign
97
97
  documents = json_post_data['documents'];
98
- # Get signature file
98
+ #Get signature file
99
99
  signers = json_post_data['signers'];
100
- def strict_decode64(str)
101
- str.unpack("m0").first
102
- end
103
- # Documents local path
100
+
101
+ #Documents local path
104
102
  document_path = "#{File.dirname(__FILE__)}/../public/downloads/#{documents[0]['name']}"
105
103
  signer_path = "#{File.dirname(__FILE__)}/../public/downloads/#{signers[0]['name']}.png"
106
104
 
107
- # Get base64 string
105
+ #Get base64 string
108
106
  base64_documents = documents[0]['data'].split(',').last
109
107
  base64_signers = signers[0]['data'].split(',').last
110
108
 
111
- # Write to the files decode base64 strings
109
+ #Write to the files decode base64 strings
112
110
  File.open(document_path, 'wb') do |f|
113
111
  f.write(Base64.strict_decode64(base64_documents))
114
112
  end
@@ -117,40 +115,41 @@ post '/sample39/postdata' do
117
115
  f.write(Base64.strict_decode64(base64_signers))
118
116
  end
119
117
 
120
- # Set document for signing
118
+ #Set document for signing
121
119
  documents = GroupDocs::Storage::File.new(:name=>documents[0]['name'], :local_path=>document_path).to_document
122
- # Set signature
120
+ #Set signature
123
121
  signers = GroupDocs::Signature.new(:name=>signers[0]['name'], :image_path=>signer_path)
124
122
  signers.position = {top: 0.83319, left: 0.72171, width: 100, height: 40}
125
123
 
126
- # Make request to sign documnet
124
+ #Make request to sign documnet
127
125
  signDocument = GroupDocs::Document.sign_documents!([documents], [signers], {}, {:client_id=>clientId, :private_key=>privateKey})
128
126
  sleep(5)
129
- # Get the document guid
127
+ #Get the document guid
130
128
  document = GroupDocs::Signature.sign_document_status!(signDocument, {:client_id=>clientId, :private_key=>privateKey})
131
- # Get file GUID
129
+ #Get file GUID
132
130
  guid = document.guid
133
- # Create array with result data
131
+ #Create array with result data
134
132
  result = ['guid' => guid,'clientId' => clientId,'privateKey' => privateKey]
135
- # Decode array to json and return json string to ajax request
133
+ #Decode array to json and return json string to ajax request
136
134
  result.to_json
137
135
  end
138
136
 
139
137
 
140
- # POST request
138
+ #POST request
141
139
  post '/sample39' do
142
- # set variables
140
+ #Set variables
143
141
  set :client_id, params[:clientId]
144
142
  set :private_key, params[:privateKey]
145
143
  set :name, params[:name]
146
144
  set :email, params[:email]
147
145
  set :callback, params[:callbackUrl]
148
146
  set :last_name, params[:lastName]
147
+ set :base_path, params[:basePath]
149
148
 
150
- # Set download path
149
+ #Set download path
151
150
  downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
152
151
 
153
- # Remove all files from download directory or create folder if it not there
152
+ #Remove all files from download directory or create folder if it not there
154
153
  if File.directory?(downloads_path)
155
154
  Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
156
155
  else
@@ -158,80 +157,97 @@ post '/sample39' do
158
157
  end
159
158
 
160
159
  begin
161
- # check required variables
160
+ #Check required variables
162
161
  raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.name.empty? or settings.email.empty? or settings.last_name.empty?
163
162
 
164
- # Configure your access to API server
163
+ #Prepare base path
164
+ if settings.base_path.empty?
165
+ base_path = 'https://api.groupdocs.com'
166
+ elsif settings.base_path.match('/v2.0')
167
+ base_path = settings.base_path.split('/v2.0')[0]
168
+ else
169
+ base_path = settings.base_path
170
+ end
171
+
172
+ #Configure your access to API server
165
173
  GroupDocs.configure do |groupdocs|
166
174
  groupdocs.client_id = settings.client_id
167
175
  groupdocs.private_key = settings.private_key
176
+ #Optionally specify API server and version
177
+ groupdocs.api_server = base_path #Default is 'https://api.groupdocs.com'
178
+
168
179
  end
169
180
 
170
- # Write client and private key to the file for callback job
181
+ #Write client and private key to the file for callback job
171
182
  if settings.callback[0]
172
183
  out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
173
- # white space is required
184
+ #White space is required
174
185
  out_file.write("#{settings.client_id} ")
175
186
  out_file.write("#{settings.private_key}")
176
187
  out_file.close
177
188
  end
178
189
 
179
- # Construct path
190
+ #Construct path
180
191
  file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
181
- # Open file
192
+ #Open file
182
193
  File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
183
- # Make a request to API using client_id and private_key
194
+ #Make a request to API using client_id and private_key
184
195
  file = GroupDocs::Storage::File.upload!(file_path)
185
196
  document = file.to_document
186
197
 
187
198
 
188
- # create envelope using user id and entered by user name
199
+ #Create envelope using user id and entered by user name
189
200
  envelope = GroupDocs::Signature::Envelope.new
190
201
  envelope.name = file.name
191
202
  envelope.email_subject = 'Sing this!'
192
203
  envelope.create!
193
204
 
194
- # Add uploaded document to envelope
205
+ #Add uploaded document to envelope
195
206
  envelope.add_document!(document)
196
207
 
197
- # Get role list for current user
208
+ #Get role list for current user
198
209
  roles = GroupDocs::Signature::Role.get!
199
210
 
200
- # Create new recipient
211
+ #Create new recipient
201
212
  recipient = GroupDocs::Signature::Recipient.new
202
213
  recipient.email = settings.email
203
214
  recipient.first_name = settings.name
204
215
  recipient.last_name = settings.last_name
205
216
  recipient.role_id = roles.detect { |role| role.name == 'Signer' }.id
206
217
 
207
- # Add recipient to envelope
208
- add = envelope.add_recipient!(recipient)
209
-
210
- # Get recipient id
211
- recipient.id = add[:recipient][:id]
218
+ #Add recipient to envelope
219
+ recipient = envelope.add_recipient!(recipient)
212
220
 
213
- # Get document id
221
+ #Get document id
214
222
  document = envelope.documents!()
215
223
 
216
-
217
224
  # Get field and add the location to field
218
225
  field = GroupDocs::Signature::Field.get!().detect { |f| f.type == :signature }
219
226
  field.location = {:location_x => 0.15, :location_y => 0.73, :location_w => 150, :location_h => 50, :page => 1}
220
227
  field.name = 'EMPLOYEE SIGNATURE'
221
228
 
222
- # Add field to envelope
229
+ #Add field to envelope
223
230
  envelope.add_field!(field, document[0], recipient, {})
224
231
 
225
232
 
226
- # Send envelop
233
+ #Send envelop
227
234
  envelope.send!({:callbackUrl => settings.callback})
228
235
 
236
+ #Prepare to sign url
237
+ iframe = "/signature2/signembed/#{envelope.id}/#{recipient.id}"
238
+ # Construct result string
239
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
240
+ #Generate iframe URL
241
+ case base_path
242
+ when 'https://stage-api-groupdocs.dynabic.com'
243
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
244
+ when 'https://dev-api-groupdocs.dynabic.com'
245
+ iframe = "https://dev-apps.groupdocs.com#{url}"
246
+ else
247
+ iframe = "https://apps.groupdocs.com#{url}"
248
+ end
229
249
 
230
- #Get url from request
231
- url = "https://apps.groupdocs.com/signature/signembed/#{envelope.id}/#{recipient.id}"
232
-
233
- iframe = GroupDocs::Api::Request.new(:path => url).prepare_and_sign_url
234
- # Make iframe
250
+ #Make iframe
235
251
  iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
236
252
 
237
253
 
@@ -239,7 +255,7 @@ post '/sample39' do
239
255
  err = e.message
240
256
  end
241
257
 
242
- # set variables for template
258
+ #Set variables for template
243
259
  haml :sample39, :locals => {:userId => settings.client_id,
244
260
  :privateKey => settings.private_key,
245
261
  :callback => settings.callback,
@@ -1,16 +1,16 @@
1
- # GET request
1
+ #GET request
2
2
  get '/sample40' do
3
3
  haml :sample40
4
4
  end
5
5
 
6
- # POST request
6
+ #POST request
7
7
  post '/sample40/check_guid' do
8
8
  begin
9
9
  result = nil
10
10
  i = 0
11
11
  for i in 1..10
12
12
  i +=1
13
- # Check is downloads folder exist
13
+ #Check is downloads folder exist
14
14
  if File.exist?("#{File.dirname(__FILE__)}/../public/callback_info.txt")
15
15
  result = File.read("#{File.dirname(__FILE__)}/../public/callback_info.txt")
16
16
  if result != '' then break end
@@ -18,7 +18,7 @@ post '/sample40/check_guid' do
18
18
  sleep(5)
19
19
  end
20
20
 
21
- # Check result
21
+ #Check result
22
22
  if result == 'Error'
23
23
  result = "File was not found. Looks like something went wrong."
24
24
  else
@@ -31,20 +31,20 @@ post '/sample40/check_guid' do
31
31
  end
32
32
 
33
33
 
34
- # POST request
34
+ #POST request
35
35
  post '/sample40/callback' do
36
36
 
37
37
  source_id = ''
38
38
  client_id = ''
39
39
  private_key = ''
40
40
 
41
- # Get callback request
41
+ #Get callback request
42
42
  data = JSON.parse(request.body.read)
43
43
  begin
44
44
  participant = nil
45
45
  raise 'Empty params!' if data.empty?
46
46
 
47
- # Get value of SourceId
47
+ #Get value of SourceId
48
48
  data.each do |key, value|
49
49
  if key == 'SourceId'
50
50
  source_id = value
@@ -59,7 +59,7 @@ post '/sample40/callback' do
59
59
  end
60
60
  end
61
61
 
62
- # Get private key and client_id from file user_info.txt
62
+ #Get private key and client_id from file user_info.txt
63
63
  if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
64
64
  contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
65
65
  contents = contents.split(' ')
@@ -67,16 +67,16 @@ post '/sample40/callback' do
67
67
  private_key = contents[1]
68
68
  end
69
69
 
70
- # Create new Form
70
+ #Create new Form
71
71
  form = GroupDocs::Signature::Form.new({:id => source_id})
72
- # Create new Signature
72
+ #Create new Signature
73
73
  signature = GroupDocs::Signature.new()
74
74
  doc_info = signature.get_sign_form_participant!(form.id , participant, {:client_id => client_id, :private_key => private_key} )
75
75
 
76
76
  guid = doc_info[:documentGuid]
77
77
 
78
78
  out_file = File.new("#{File.dirname(__FILE__)}/../public/callback_info.txt", 'w')
79
- # white space is required
79
+ #White space is required
80
80
  out_file.write(guid)
81
81
  out_file.close
82
82
 
@@ -87,9 +87,9 @@ end
87
87
 
88
88
 
89
89
 
90
- # POST request
90
+ #POST request
91
91
  post '/sample40' do
92
- # set variables
92
+ #Set variables
93
93
  set :client_id, params[:clientId]
94
94
  set :private_key, params[:privateKey]
95
95
  set :form_guid, params[:formGuid]
@@ -98,23 +98,36 @@ post '/sample40' do
98
98
 
99
99
  begin
100
100
 
101
- # Check required variables
101
+ #Check required variables
102
102
  raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.form_guid.empty?
103
103
 
104
- if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
104
+ #Delete file callback_info.txt
105
+ if File.exist?("#{File.dirname(__FILE__)}/../public/callback_info.txt")
106
+ File.delete("#{File.dirname(__FILE__)}/../public/callback_info.txt")
107
+ end
108
+
109
+ #Prepare base path
110
+ if settings.base_path.empty?
111
+ base_path = 'https://api.groupdocs.com'
112
+ elsif settings.base_path.match('/v2.0')
113
+ base_path = settings.base_path.split('/v2.0')[0]
114
+ else
115
+ base_path = settings.base_path
116
+ end
105
117
 
106
- # Configure your access to API server
118
+ #Configure your access to API server
107
119
  GroupDocs.configure do |groupdocs|
108
120
  groupdocs.client_id = settings.client_id
109
121
  groupdocs.private_key = settings.private_key
110
- # Optionally specify API server and version
111
- groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
122
+ #Optionally specify API server and version
123
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
124
+
112
125
  end
113
126
 
114
- # Write client and private key to the file for callback job
127
+ #Write client and private key to the file for callback job
115
128
  if settings.callback
116
129
  out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
117
- # white space is required
130
+ #White space is required
118
131
  out_file.write("#{settings.client_id} ")
119
132
  out_file.write("#{settings.private_key} ")
120
133
  out_file.close
@@ -122,40 +135,37 @@ post '/sample40' do
122
135
 
123
136
  guid = settings.form_guid
124
137
 
125
- # Create new Form with guid
138
+ #Create new Form with guid
126
139
  form = GroupDocs::Signature::Form.new()
127
140
  form.name = "Test Form"
128
- # Get id with new Form
141
+ #Get id with new Form
129
142
  id = form.create!({:formId => guid})
130
- # Get Form
143
+ #Get Form
131
144
  form = GroupDocs::Signature::Form.get!(id)
132
- # Publish the Form
145
+ #Publish the Form
133
146
  form.publish!({:callbackUrl => settings.callback})
134
147
 
135
- # Get url from request
136
- case settings.base_path
137
-
148
+ #Prepare to sign url
149
+ iframe = "//signature2/forms/signembed/#{guid}"
150
+ # Construct result string
151
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
152
+ #Generate iframe URL
153
+ case base_path
138
154
  when 'https://stage-api-groupdocs.dynabic.com'
139
- url = "http://stage-apps-groupdocs.dynabic.com/signature2/forms/signembed/ #{guid}"
155
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
140
156
  when 'https://dev-api-groupdocs.dynabic.com'
141
- url = "http://dev-apps-groupdocs.dynabic.com/signature2/forms/signembed/ #{guid}"
157
+ iframe = "https://dev-apps.groupdocs.com#{url}"
142
158
  else
143
- url = "https://apps.groupdocs.com/signature2/forms/signembed/ #{guid}"
144
- end
145
- # Delete file callback_info.txt
146
- if File.exist?("#{File.dirname(__FILE__)}/../public/callback_info.txt")
147
- File.delete("#{File.dirname(__FILE__)}/../public/callback_info.txt")
159
+ iframe = "https://apps.groupdocs.com#{url}"
148
160
  end
149
161
 
150
- # Add the signature to url the request
151
- iframe = GroupDocs::Api::Request.new(:path => url).prepare_and_sign_url
152
- iframe = "<iframe width='100%' id='downloadframe' height='600' src='#{iframe}'></iframe>"
162
+ iframe = "<iframe src='#{iframe}' id='downloadframe' width='800' height='1000'></iframe>"
153
163
 
154
164
  rescue Exception => e
155
165
  err = e.message
156
166
  end
157
167
 
158
- # Set variables for template
168
+ #Set variables for template
159
169
  haml :sample40, :locals => {:userId => settings.client_id,
160
170
  :privateKey => settings.private_key,
161
171
  :callback => settings.callback,