groupdocs 1.5.8 → 1.5.9

Sign up to get free protection for your applications and to get access to all the features.
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,23 +1,20 @@
1
- # GET request
1
+ #GET request
2
2
  get '/sample36' do
3
3
  haml :sample36
4
4
  end
5
5
 
6
-
7
-
8
-
9
- # POST request
6
+ #POST request
10
7
  post '/sample36' do
11
- # Set variables
8
+ #Set variables
12
9
  set :client_id, params[:clientId]
13
10
  set :private_key, params[:privateKey]
14
11
  set :envelope, params[:envelopeGuid]
15
12
  set :base_path, params[:basePath]
16
13
 
17
- # Set download path
14
+ #Set download path
18
15
  downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
19
16
 
20
- # Remove all files from download directory or create folder if it not there
17
+ #Remove all files from download directory or create folder if it not there
21
18
  if File.directory?(downloads_path)
22
19
  Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
23
20
  else
@@ -26,20 +23,27 @@ post '/sample36' do
26
23
 
27
24
 
28
25
  begin
29
- # Check required variables
26
+ #Check required variables
30
27
  raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
31
28
 
32
- if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
29
+ #Prepare base path
30
+ if settings.base_path.empty?
31
+ base_path = 'https://api.groupdocs.com'
32
+ elsif settings.base_path.match('/v2.0')
33
+ base_path = settings.base_path.split('/v2.0')[0]
34
+ else
35
+ base_path = settings.base_path
36
+ end
33
37
 
34
- # Configure your access to API server
38
+ #Configure your access to API server
35
39
  GroupDocs.configure do |groupdocs|
36
40
  groupdocs.client_id = settings.client_id
37
41
  groupdocs.private_key = settings.private_key
38
- # Optionally specify API server and version
39
- groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
42
+ #Optionally specify API server and version
43
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
40
44
  end
41
45
 
42
- # Get envelope from GroupDocs Storage
46
+ #Get envelope from GroupDocs Storage
43
47
  envelope = GroupDocs::Signature::Envelope.get!(settings.envelope)
44
48
 
45
49
  #Download signed files
@@ -53,6 +57,6 @@ post '/sample36' do
53
57
  err = e.message
54
58
  end
55
59
 
56
- # set variables for template
60
+ #Set variables for template
57
61
  haml :sample36, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :envelopeGuid => settings.envelope, :message => message, :err => err}
58
62
  end
@@ -1,72 +1,27 @@
1
- # Route the handler url "/sample37"
1
+ #Route the handler url "/sample37"
2
2
  get '/sample37' do
3
3
  haml :sample37
4
4
  end
5
5
 
6
- # GET request
6
+ #GET request
7
7
 
8
- # Route the handler url "/sample37/signature_callback". The block function for callback with server
8
+ #Route the handler url "/sample37/signature_callback". The block function for callback with server
9
9
  post '/sample37/signature_callback' do
10
- # Get data json from callback
11
- data = JSON.parse(request.body.read)
12
- begin
13
-
14
- raise 'Empty params!' if data.empty?
15
-
16
- # Set variables from data json
17
- source_id = data['SourceId']
18
- event_type = data['EventType']
19
-
20
- # Set variables
21
- client_id = nil
22
- private_key = nil
23
-
24
- return if event_type != 'JobCompleted'
25
-
26
- # Set download path
27
- downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
28
-
29
- # Get private key and client_id from file user_info.txt
30
- if File.exist?("#{File.dirname(__FILE__)}/../public/user_info.txt")
31
- contents = File.read("#{File.dirname(__FILE__)}/../public/user_info.txt")
32
- contents = contents.split(' ')
33
- client_id = contents[0]
34
- private_key = contents[1]
35
- end
36
-
37
- # Get Envelope instance
38
- envelope = GroupDocs::Signature::Envelope.get!(source_id, {:client_id => client_id, :private_key => private_key})
39
-
40
- # Get document by envelope
41
- envelope.signed_documents!(downloads_path, {:client_id => client_id, :private_key => private_key})
42
-
43
-
44
- rescue Exception => e
45
- err = e.message
46
- end
47
- end
48
-
49
-
50
- # Route the handler url "/sample37/check"
51
-
52
- get '/sample37/check' do
53
-
54
- # Check is there download directory
55
10
  unless File.directory?("#{File.dirname(__FILE__)}/../public/downloads")
56
11
  return 'Directory was not found.'
57
12
  end
58
13
 
59
- # Get file name from download directory
14
+ #Get file name from download directory
60
15
  name = nil
61
-
16
+
62
17
  i = 0
63
18
 
64
- # Checking, if file exist
19
+ #Checking, if file exist
65
20
  while i<10 do
66
- sleep(5)
67
- Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
68
- name = file if file != '.' && file != '..'
69
- end
21
+ sleep(5)
22
+ Dir.entries("#{File.dirname(__FILE__)}/../public/downloads").each do |file|
23
+ name = file if file != '.' && file != '..'
24
+ end
70
25
  break if name
71
26
  i += 1
72
27
  end
@@ -74,15 +29,15 @@ get '/sample37/check' do
74
29
  name
75
30
  end
76
31
 
77
- # Route the handler url "/sample37/downloads"
32
+ #Route the handler url "/sample37/downloads"
78
33
  get '/sample37/downloads/:filename' do |filename|
79
- # Send file with header to download it
34
+ #Send file with header to download it
80
35
  send_file "#{File.dirname(__FILE__)}/../public/downloads/#{filename}", :filename => filename, :type => 'Application/octet-stream'
81
36
  end
82
37
 
83
- # Route the handler url "/sample37". The function block creates new envelope
38
+ #Route the handler url "/sample37". The function block creates new envelope
84
39
  post '/sample37' do
85
- # Set variables from form
40
+ #Set variables from form
86
41
  set :client_id, params[:clientId]
87
42
  set :private_key, params[:privateKey]
88
43
  set :email, params[:email]
@@ -94,10 +49,10 @@ post '/sample37' do
94
49
  set :url, params[:url]
95
50
  set :source, params[:source]
96
51
 
97
- # Set download path
52
+ #Set download path
98
53
  downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
99
54
 
100
- # Remove all files from download directory or create folder if it not there
55
+ #Remove all files from download directory or create folder if it not there
101
56
  if File.directory?(downloads_path)
102
57
  Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
103
58
  else
@@ -105,124 +60,131 @@ post '/sample37' do
105
60
  end
106
61
 
107
62
  begin
108
- # Check required variables
63
+ #Check required variables
109
64
  raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.name.empty? or settings.lastName.empty?
110
65
 
111
- if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
66
+ #Prepare base path
67
+ if settings.base_path.empty?
68
+ base_path = 'https://api.groupdocs.com'
69
+ elsif settings.base_path.match('/v2.0')
70
+ base_path = settings.base_path.split('/v2.0')[0]
71
+ else
72
+ base_path = settings.base_path
73
+ end
112
74
 
113
- # Configure your access to API server
75
+ #Configure your access to API server
114
76
  GroupDocs.configure do |groupdocs|
115
77
  groupdocs.client_id = settings.client_id
116
78
  groupdocs.private_key = settings.private_key
117
79
  # Optionally specify API server and version
118
- groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
80
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
119
81
  end
120
82
 
121
- # Write client and private key to the file for callback job
83
+ #Write client and private key to the file for callback job
122
84
  if settings.callback
123
85
  out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
124
- # white space is required
86
+ #White space is required
125
87
  out_file.write("#{settings.client_id} ")
126
88
  out_file.write("#{settings.private_key}")
127
89
  out_file.close
128
90
  end
129
91
 
130
92
  file = nil
131
- # get document by file GUID
93
+ #Get document by file GUID
132
94
  case settings.source
133
95
  when 'guid'
134
- # Create instance of File
96
+ #Create instance of File
135
97
  file = GroupDocs::Storage::File.new({:guid => settings.fileId}).to_document.metadata!()
136
98
  file = file.last_view.document.file.to_document
137
99
  when 'local'
138
- # construct path
100
+ #Construct path
139
101
  file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
140
102
 
141
- # open file
103
+ #Open file
142
104
  File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
143
- # make a request to API using client_id and private_key
144
- file = GroupDocs::Storage::File.upload!(file_path, {}).to_document
105
+ #Make a request to API using client_id and private_key
106
+ file = GroupDocs::Storage::File.upload!(file_path).to_document
107
+
145
108
  when 'url'
146
- # Upload file from defined url
109
+ #Upload file from defined url
147
110
  file = GroupDocs::Storage::File.upload_web!(settings.url).to_document
148
111
  else
149
112
  raise 'Wrong GUID source.'
150
113
  end
151
114
 
152
115
  name = file.name
153
- # create envelope using user id and entered by user name
116
+ #Create envelope using user id and entered by user name
154
117
  envelope = GroupDocs::Signature::Envelope.new
155
118
  envelope.name = file.name
156
119
  envelope.email_subject = 'Sing this!'
157
120
  envelope.create!({})
158
121
 
159
- # Add uploaded document to envelope
122
+ #Add uploaded document to envelope
160
123
  envelope.add_document!(file, {})
161
124
 
162
- # Get role list for current user
125
+ #Get role list for current user
163
126
  roles = GroupDocs::Signature::Role.get!({})
164
127
 
165
- # Create new recipient
128
+ #Create new recipient
166
129
  recipient = GroupDocs::Signature::Recipient.new
167
130
  recipient.email = settings.email
168
131
  recipient.first_name = settings.name
169
132
  recipient.last_name = settings.lastName
170
133
  recipient.role_id = roles.detect { |role| role.name == 'Signer' }.id
171
134
 
172
- # Add recipient to envelope
173
- add = envelope.add_recipient!(recipient)
174
-
175
- # Get recipient id
176
- recipient.id = add[:recipient][:id]
135
+ #Add recipient to envelope
136
+ recipient = envelope.add_recipient!(recipient)
177
137
 
178
- # Get document id
138
+ #Get document id
179
139
  document = envelope.documents!
180
140
 
181
141
 
182
- # Get field and add the location to field
142
+ #Get field and add the location to field
183
143
  field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
184
144
  field.location = {:location_x => 0.15, :location_y => 0.73, :location_w => 150, :location_h => 50, :page => 1}
185
145
  field.name = 'EMPLOYEE SIGNATURE'
186
146
 
187
- # Add field to envelope
147
+ #Add field to envelope
188
148
  envelope.add_field!(field, document[0], recipient)
189
149
 
190
150
 
191
151
 
192
- # Send envelop
152
+ #Send envelop
193
153
  envelope.send!({:callbackUrl => settings.callback})
194
154
 
195
- # Write client and private key to the file for callback job
155
+ #Write client and private key to the file for callback job
196
156
  if settings.callback
197
157
  out_file = File.new("#{File.dirname(__FILE__)}/../public/user_info.txt", 'w')
198
- # white space is required
158
+ #White space is required
199
159
  out_file.write("#{settings.client_id} ")
200
160
  out_file.write("#{settings.private_key}")
201
161
  out_file.write("#{envelope.id}")
202
162
  out_file.close
203
163
  end
204
164
 
205
- #Get url from request
206
- case settings.base_path
207
-
165
+ #Prepare to sign url
166
+ iframe = "/signature2/signembed/#{envelope.id}/#{recipient.id}"
167
+ # Construct result string
168
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
169
+ #Generate iframe URL
170
+ case base_path
208
171
  when 'https://stage-api-groupdocs.dynabic.com'
209
- url = "http://stage-apps-groupdocs.dynabic.com/signature/signembed/#{envelope.id}/#{recipient.id}"
172
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
210
173
  when 'https://dev-api-groupdocs.dynabic.com'
211
- url = "http://dev-apps-groupdocs.dynabic.com/signature/signembed/#{envelope.id}/#{recipient.id}"
174
+ iframe = "https://dev-apps.groupdocs.com#{url}"
212
175
  else
213
- url = "https://apps.groupdocs.com/signature/signembed/#{envelope.id}/#{recipient.id}"
176
+ iframe = "https://apps.groupdocs.com#{url}"
214
177
  end
215
178
 
179
+ #Make iframe
180
+ iframe = "<iframe id='downloadframe' src='#{iframe}' width='800' height='1000'></iframe>"
216
181
 
217
- iframe = GroupDocs::Api::Request.new(:path => url).prepare_and_sign_url
218
- # Make iframe
219
- iframe = "<iframe src='#{iframe}' frameborder='0' width='720' height='600'></iframe>"
220
182
  message = "<p>File was uploaded to GroupDocs. Here you can see your <strong>#{name}</strong> file in the GroupDocs Embedded Viewer.</p>"
221
183
  rescue Exception => e
222
184
  err = e.message
223
185
  end
224
186
 
225
- # Set variables for template
187
+ #Set variables for template
226
188
  haml :sample37, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :email => settings.email, :name => settings.name, :lastName => settings.lastName, :iframe => iframe, :massage => message, :err => err, :callback => settings.callback,}
227
189
  end
228
190
 
@@ -1,14 +1,11 @@
1
- # GET request
1
+ #GET request
2
2
  get '/sample38' do
3
3
  haml :sample38
4
4
  end
5
5
 
6
-
7
-
8
-
9
- # POST request
6
+ #POST request
10
7
  post '/sample38' do
11
- # Set variables
8
+ #Set variables
12
9
  set :client_id, params[:clientId]
13
10
  set :private_key, params[:privateKey]
14
11
  set :email, params[:email]
@@ -18,46 +15,52 @@ post '/sample38' do
18
15
  set :first_name, params[:firstName]
19
16
  set :last_name, params[:lastName]
20
17
  set :base_path, params[:basePath]
21
- #raise params.to_yaml
22
- # Set download path
18
+
19
+ #Set download path
23
20
  downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
24
21
 
25
- # Remove all files from download directory or create folder if it not there
22
+ #Remove all files from download directory or create folder if it not there
26
23
  if File.directory?(downloads_path)
27
24
  Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
28
25
  else
29
26
  Dir::mkdir(downloads_path)
30
27
  end
31
28
 
32
-
33
29
  begin
34
- # Check required variables
35
- #raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name?
30
+ #Check required variables
31
+ raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
36
32
 
37
- if settings.base_path.empty? then settings.base_path = 'https://api.groupdocs.com' end
33
+ #Prepare base path
34
+ if settings.base_path.empty?
35
+ base_path = 'https://api.groupdocs.com'
36
+ elsif settings.base_path.match('/v2.0')
37
+ base_path = settings.base_path.split('/v2.0')[0]
38
+ else
39
+ base_path = settings.base_path
40
+ end
38
41
 
39
- # Configure your access to API server
42
+ #Configure your access to API server
40
43
  GroupDocs.configure do |groupdocs|
41
44
  groupdocs.client_id = settings.client_id
42
45
  groupdocs.private_key = settings.private_key
43
- # Optionally specify API server and version
44
- groupdocs.api_server = settings.base_path # default is 'https://api.groupdocs.com'
46
+ #Optionally specify API server and version
47
+ groupdocs.api_server = base_path # default is 'https://api.groupdocs.com'
45
48
  end
46
-
47
- # Get document by file GUID
49
+ file = nil
50
+ #Get document by file GUID
48
51
  case settings.source
49
52
  when 'guid'
50
- # Create instance of File
53
+ #Create instance of File
51
54
  file = GroupDocs::Storage::File.new({:guid => settings.file_id})
52
55
  when 'local'
53
- # Construct path
56
+ #Construct path
54
57
  file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
55
- # Open file
58
+ #Open file
56
59
  File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
57
- # Make a request to API using client_id and private_key
60
+ #Make a request to API using client_id and private_key
58
61
  file = GroupDocs::Storage::File.upload!(file_path, {})
59
62
  when 'url'
60
- # Upload file from defined url
63
+ #Upload file from defined url
61
64
  file = GroupDocs::Storage::File.upload_web!(settings.url)
62
65
  else
63
66
  raise 'Wrong GUID source.'
@@ -69,53 +72,58 @@ post '/sample38' do
69
72
  users = user.users!
70
73
  users.map do |user|
71
74
  email = user.primary_email
72
- # Check whether there is a user with entered email
75
+ #Check whether there is a user with entered email
73
76
  if settings.email == email
74
- # Get user GUID
77
+ #Get user GUID
75
78
  userGuid = user.guid
76
79
  break
77
80
  end
78
81
  end
79
- # Check is user with entered email was founded in GroupDocs account, if not user will be created
82
+ #Check is user with entered email was founded in GroupDocs account, if not user will be created
80
83
  if userGuid.nil?
81
84
  userNew = GroupDocs::User.new
82
- # Set email as entered email
85
+ #Set email as entered email
83
86
  userNew.primary_email = settings.email
84
- # Set nick name as entered first name
87
+ #Set nick name as entered first name
85
88
  userNew.nickname = settings.email
86
- # Set first name as entered first name
89
+ #Set first name as entered first name
87
90
  userNew.firstname = settings.first_name
88
- # Set last name as entered last name
91
+ #Set last name as entered last name
89
92
  userNew.lastname = settings.last_name
90
- # Set roles
93
+ #Set roles
91
94
  userNew.roles = [{:id => '3', :name => 'User'}]
92
95
 
93
- # Update account
96
+ #Update account
94
97
  new_user = GroupDocs::User.update_account!(userNew)
95
98
 
96
99
  guid = new_user.guid
97
- # Create array with entered email for set_collaborators! method
100
+ #Create array with entered email for set_collaborators! method
98
101
  emails = [settings.email]
99
102
  document = file.to_document
100
- # Make request to Ant api for set new user as annotation collaborator
103
+ #Make request to Ant api for set new user as annotation collaborator
101
104
  addCollaborator = document.set_collaborators!(emails)
102
105
  getCollaborator = document.collaborators!
103
106
  getCollaborator.each do |reviewer|
104
107
  reviewer.access_rights = %w(view)
105
108
  end
106
109
  setReviewers = document.set_reviewers! getCollaborator
110
+
107
111
  if setReviewers
108
- case settings.base_path
112
+ #Add user GUID as "uid" parameter to the iframe URL
113
+ iframe = "/document-annotation2/embed/#{file.guid}?&uid=#{guid}&download=true"
114
+ # Construct result string
115
+ url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
116
+ #Generate iframe URL
117
+ case base_path
109
118
  when 'https://stage-api-groupdocs.dynabic.com'
110
- iframe = "https://stage-api-groupdocs.dynabic.com/document-annotation2/embed/#{file.guid}?&uid=#{guid}&download=true"
119
+ iframe = "https://stage-api-groupdocs.dynabic.com#{url}"
111
120
  when 'https://dev-api-groupdocs.dynabic.com'
112
- iframe = "https://dev-apps.groupdocs.com//document-annotation2/embed/#{file.guid}?&uid=#{guid}&download=true"
121
+ iframe = "https://dev-apps.groupdocs.com#{url}"
113
122
  else
114
- iframe = "https://apps.groupdocs.com//document-annotation2/embed/#{file.guid}?&uid=#{guid}&download=true"
123
+ iframe = "https://apps.groupdocs.com#{url}"
115
124
  end
116
- # Construct result string
117
- url = GroupDocs::Api::Request.new(:path => iframe).prepare_and_sign_url
118
- iframe = "<iframe src='#{url}' width='800' height='1000'></iframe>"
125
+
126
+ iframe = "<iframe src='#{iframe}' width='800' height='1000'></iframe>"
119
127
  end
120
128
  end
121
129
 
@@ -123,6 +131,6 @@ post '/sample38' do
123
131
  err = e.message
124
132
  end
125
133
 
126
- # set variables for template
127
- haml :sample38, :locals => {:userId => settings.client_id, :fileId => file.guid, :privateKey => settings.private_key, :iframe => iframe, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :err => err}
134
+ #Set variables for template
135
+ haml :sample38, :locals => {:userId => settings.client_id, :fileId => settings.file_id, :privateKey => settings.private_key, :iframe => iframe, :email => settings.email, :firstName => settings.first_name, :lastName => settings.last_name, :err => err}
128
136
  end