groupdocs 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. data/CHANGELOG.md +34 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +3 -0
  4. data/examples/api-samples/public/docs/sample01.html +23 -23
  5. data/examples/api-samples/public/docs/sample02.html +27 -27
  6. data/examples/api-samples/public/docs/sample03.html +81 -69
  7. data/examples/api-samples/public/docs/sample04.html +29 -29
  8. data/examples/api-samples/public/docs/sample05.html +48 -48
  9. data/examples/api-samples/public/docs/sample06.html +47 -46
  10. data/examples/api-samples/public/docs/sample07.html +35 -35
  11. data/examples/api-samples/public/docs/sample08.html +45 -45
  12. data/examples/api-samples/public/docs/sample09.html +57 -57
  13. data/examples/api-samples/public/docs/sample10.html +41 -41
  14. data/examples/api-samples/public/docs/sample11.html +96 -118
  15. data/examples/api-samples/public/docs/sample12.html +29 -50
  16. data/examples/api-samples/public/docs/sample13.html +36 -44
  17. data/examples/api-samples/public/docs/sample14.html +29 -29
  18. data/examples/api-samples/public/docs/sample15.html +24 -24
  19. data/examples/api-samples/public/docs/sample16.html +32 -32
  20. data/examples/api-samples/public/docs/sample17.html +38 -38
  21. data/examples/api-samples/public/docs/sample18.html +105 -101
  22. data/examples/api-samples/public/docs/sample19.html +101 -101
  23. data/examples/api-samples/public/docs/sample20.html +42 -42
  24. data/examples/api-samples/public/docs/sample21.html +109 -109
  25. data/examples/api-samples/public/docs/sample22.html +56 -56
  26. data/examples/api-samples/public/docs/sample23.html +39 -39
  27. data/examples/api-samples/public/docs/sample24.html +36 -36
  28. data/examples/api-samples/public/docs/sample25.html +67 -67
  29. data/examples/api-samples/public/docs/sample26.html +23 -23
  30. data/examples/api-samples/public/docs/sample27.html +72 -72
  31. data/examples/api-samples/public/docs/sample28.html +46 -45
  32. data/examples/api-samples/public/docs/sample29.html +30 -30
  33. data/examples/api-samples/public/docs/sample30.html +30 -30
  34. data/examples/api-samples/public/docs/sample31.html +114 -114
  35. data/examples/api-samples/public/docs/sample32.html +96 -96
  36. data/examples/api-samples/public/docs/sample33.html +56 -56
  37. data/examples/api-samples/public/docs/sample34.html +27 -27
  38. data/examples/api-samples/public/docs/sample35.html +134 -135
  39. data/examples/api-samples/public/docs/sample36.html +32 -32
  40. data/examples/api-samples/public/docs/sample37.html +103 -103
  41. data/examples/api-samples/public/docs/sample38.html +76 -76
  42. data/examples/api-samples/public/docs/sample39.html +136 -136
  43. data/examples/api-samples/public/docs/sample40.html +104 -104
  44. data/examples/api-samples/public/docs/sample41.html +137 -137
  45. data/examples/api-samples/public/docs/sample42.html +61 -61
  46. data/examples/api-samples/public/docs/sample43.html +72 -72
  47. data/examples/api-samples/public/docs/sample44.html +751 -0
  48. data/examples/api-samples/public/docs/sample45.html +236 -0
  49. data/examples/api-samples/public/templates/merge_field3_doc.docx +0 -0
  50. data/examples/api-samples/samples/sample01.rb +2 -2
  51. data/examples/api-samples/samples/sample02.rb +2 -2
  52. data/examples/api-samples/samples/sample03.rb +2 -2
  53. data/examples/api-samples/samples/sample04.rb +2 -2
  54. data/examples/api-samples/samples/sample05.rb +2 -2
  55. data/examples/api-samples/samples/sample06.rb +2 -2
  56. data/examples/api-samples/samples/sample07.rb +2 -2
  57. data/examples/api-samples/samples/sample08.rb +2 -2
  58. data/examples/api-samples/samples/sample09.rb +2 -2
  59. data/examples/api-samples/samples/sample10.rb +2 -2
  60. data/examples/api-samples/samples/sample11.rb +2 -2
  61. data/examples/api-samples/samples/sample12.rb +2 -2
  62. data/examples/api-samples/samples/sample13.rb +2 -2
  63. data/examples/api-samples/samples/sample14.rb +2 -2
  64. data/examples/api-samples/samples/sample15.rb +2 -2
  65. data/examples/api-samples/samples/sample16.rb +2 -2
  66. data/examples/api-samples/samples/sample17.rb +2 -2
  67. data/examples/api-samples/samples/sample18.rb +2 -2
  68. data/examples/api-samples/samples/sample19.rb +2 -2
  69. data/examples/api-samples/samples/sample20.rb +2 -2
  70. data/examples/api-samples/samples/sample21.rb +2 -2
  71. data/examples/api-samples/samples/sample22.rb +2 -2
  72. data/examples/api-samples/samples/sample23.rb +2 -2
  73. data/examples/api-samples/samples/sample24.rb +2 -2
  74. data/examples/api-samples/samples/sample25.rb +2 -2
  75. data/examples/api-samples/samples/sample26.rb +2 -2
  76. data/examples/api-samples/samples/sample27.rb +2 -2
  77. data/examples/api-samples/samples/sample28.rb +2 -2
  78. data/examples/api-samples/samples/sample29.rb +2 -2
  79. data/examples/api-samples/samples/sample30.rb +2 -2
  80. data/examples/api-samples/samples/sample31.rb +2 -2
  81. data/examples/api-samples/samples/sample32.rb +2 -2
  82. data/examples/api-samples/samples/sample33.rb +2 -2
  83. data/examples/api-samples/samples/sample34.rb +2 -2
  84. data/examples/api-samples/samples/sample35.rb +4 -4
  85. data/examples/api-samples/samples/sample36.rb +2 -2
  86. data/examples/api-samples/samples/sample37.rb +2 -2
  87. data/examples/api-samples/samples/sample38.rb +2 -2
  88. data/examples/api-samples/samples/sample39.rb +2 -2
  89. data/examples/api-samples/samples/sample40.rb +2 -2
  90. data/examples/api-samples/samples/sample41.rb +2 -2
  91. data/examples/api-samples/samples/sample42.rb +2 -2
  92. data/examples/api-samples/samples/sample43.rb +2 -2
  93. data/examples/api-samples/samples/sample44.rb +188 -0
  94. data/examples/api-samples/samples/sample45.rb +74 -0
  95. data/examples/api-samples/views/_others_samples.haml +47 -43
  96. data/examples/api-samples/views/index.haml +55 -44
  97. data/examples/api-samples/views/layout.haml +1 -6
  98. data/examples/api-samples/views/sample01.haml +62 -57
  99. data/examples/api-samples/views/sample02.haml +52 -46
  100. data/examples/api-samples/views/sample03.haml +78 -73
  101. data/examples/api-samples/views/sample04.haml +51 -45
  102. data/examples/api-samples/views/sample05.haml +77 -71
  103. data/examples/api-samples/views/sample06.haml +58 -52
  104. data/examples/api-samples/views/sample07.haml +51 -45
  105. data/examples/api-samples/views/sample08.haml +90 -84
  106. data/examples/api-samples/views/sample09.haml +86 -80
  107. data/examples/api-samples/views/sample10.haml +83 -77
  108. data/examples/api-samples/views/sample11.haml +124 -120
  109. data/examples/api-samples/views/sample12.haml +65 -59
  110. data/examples/api-samples/views/sample13.haml +62 -56
  111. data/examples/api-samples/views/sample14.haml +57 -51
  112. data/examples/api-samples/views/sample15.haml +49 -43
  113. data/examples/api-samples/views/sample16.haml +49 -43
  114. data/examples/api-samples/views/sample17.haml +53 -47
  115. data/examples/api-samples/views/sample18.haml +140 -134
  116. data/examples/api-samples/views/sample19.haml +87 -81
  117. data/examples/api-samples/views/sample20.haml +53 -47
  118. data/examples/api-samples/views/sample21.haml +115 -111
  119. data/examples/api-samples/views/sample22.haml +94 -88
  120. data/examples/api-samples/views/sample23.haml +83 -78
  121. data/examples/api-samples/views/sample24.haml +54 -48
  122. data/examples/api-samples/views/sample25.haml +89 -83
  123. data/examples/api-samples/views/sample26.haml +62 -57
  124. data/examples/api-samples/views/sample27.haml +114 -109
  125. data/examples/api-samples/views/sample28.haml +55 -49
  126. data/examples/api-samples/views/sample29.haml +67 -69
  127. data/examples/api-samples/views/sample30.haml +54 -48
  128. data/examples/api-samples/views/sample31.haml +106 -100
  129. data/examples/api-samples/views/sample32.haml +90 -84
  130. data/examples/api-samples/views/sample33.haml +60 -54
  131. data/examples/api-samples/views/sample34.haml +51 -46
  132. data/examples/api-samples/views/sample35.haml +84 -78
  133. data/examples/api-samples/views/sample36.haml +63 -58
  134. data/examples/api-samples/views/sample37.haml +122 -116
  135. data/examples/api-samples/views/sample38.haml +104 -98
  136. data/examples/api-samples/views/sample39.haml +6 -2
  137. data/examples/api-samples/views/sample40.haml +94 -89
  138. data/examples/api-samples/views/sample41.haml +127 -123
  139. data/examples/api-samples/views/sample42.haml +60 -54
  140. data/examples/api-samples/views/sample43.haml +81 -77
  141. data/examples/api-samples/views/sample44.haml +85 -0
  142. data/examples/api-samples/views/sample45.haml +85 -0
  143. data/groupdocs.gemspec +2 -0
  144. data/lib/groupdocs/datasource/field.rb +9 -0
  145. data/lib/groupdocs/document.rb +66 -4
  146. data/lib/groupdocs/document/annotation.rb +11 -6
  147. data/lib/groupdocs/document/editor.rb +53 -0
  148. data/lib/groupdocs/document/field.rb +16 -0
  149. data/lib/groupdocs/document/style.rb +30 -0
  150. data/lib/groupdocs/job.rb +24 -0
  151. data/lib/groupdocs/questionnaire.rb +2 -0
  152. data/lib/groupdocs/questionnaire/collector.rb +52 -0
  153. data/lib/groupdocs/questionnaire/collector_style.rb +54 -0
  154. data/lib/groupdocs/questionnaire/question.rb +9 -0
  155. data/lib/groupdocs/questionnaire/style/base_font.rb +17 -0
  156. data/lib/groupdocs/questionnaire/style/question_title.rb +17 -0
  157. data/lib/groupdocs/questionnaire/style/title.rb +17 -0
  158. data/lib/groupdocs/signature/envelope.rb +43 -8
  159. data/lib/groupdocs/signature/form.rb +113 -12
  160. data/lib/groupdocs/signature/recipient.rb +38 -3
  161. data/lib/groupdocs/signature/shared/field_methods.rb +4 -2
  162. data/lib/groupdocs/signature/template.rb +20 -1
  163. data/lib/groupdocs/storage/file.rb +3 -2
  164. data/lib/groupdocs/user.rb +148 -0
  165. data/lib/groupdocs/version.rb +1 -1
  166. data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +5 -5
  167. data/spec/groupdocs/document/annotation_spec.rb +1 -1
  168. data/spec/groupdocs/signature/envelope_spec.rb +1 -1
  169. data/spec/groupdocs/user_spec.rb +4 -4
  170. data/spec/support/shared_examples/signature/shared/field_methods.rb +5 -4
  171. metadata +18 -3
@@ -33,6 +33,15 @@ module GroupDocs
33
33
  # @attr [Array<GroupDocs::Questionnaire::Question::Conditions>] conditions
34
34
  attr_accessor :conditions
35
35
 
36
+ # added in release 1.7.0
37
+ #
38
+ # @attr [String] regionName
39
+ attr_accessor :regionName
40
+ ## @attr [String] hint
41
+ attr_accessor :hint
42
+ # @attr [Array<String>] dimension
43
+ attr_accessor :dimension
44
+
36
45
 
37
46
  # Human-readable accessors
38
47
  alias_accessor :default_answer, :def_answer
@@ -0,0 +1,17 @@
1
+ # added in release 1.7.0
2
+ module GroupDocs
3
+ class Questionnaire::QuestionnaireCollectorStyle::BaseFont < Api::Entity
4
+
5
+ # @attr [String] fontFamily
6
+ attr_accessor :fontFamily
7
+ # @attr [Int] fontSize
8
+ attr_accessor :fontSize
9
+ # @attr [String] color
10
+ attr_accessor :color
11
+ # @attr [Boolean] isBold
12
+ attr_accessor :isBold
13
+ # @attr [Boolean] isBold
14
+ attr_accessor :isItalic
15
+
16
+ end # Questionnaire::QuestionnaireCollectorStyle::BaseFont
17
+ end # GroupDocs
@@ -0,0 +1,17 @@
1
+ # added in release 1.7.0
2
+ module GroupDocs
3
+ class Questionnaire::QuestionnaireCollectorStyle::QuestionTitle < Api::Entity
4
+
5
+ # @attr [String] fontFamily
6
+ attr_accessor :fontFamily
7
+ # @attr [Int] fontSize
8
+ attr_accessor :fontSize
9
+ # @attr [String] color
10
+ attr_accessor :color
11
+ # @attr [Boolean] isBold
12
+ attr_accessor :isBold
13
+ # @attr [Boolean] isBold
14
+ attr_accessor :isItalic
15
+
16
+ end # Questionnaire::QuestionnaireCollectorStyle::QuestionTitle
17
+ end # GroupDocs
@@ -0,0 +1,17 @@
1
+ # added in release 1.7.0
2
+ module GroupDocs
3
+ class Questionnaire::QuestionnaireCollectorStyle::Title < Api::Entity
4
+
5
+ # @attr [String] fontFamily
6
+ attr_accessor :fontFamily
7
+ # @attr [Int] fontSize
8
+ attr_accessor :fontSize
9
+ # @attr [String] color
10
+ attr_accessor :color
11
+ # @attr [Boolean] isBold
12
+ attr_accessor :isBold
13
+ # @attr [Boolean] isBold
14
+ attr_accessor :isItalic
15
+
16
+ end # Questionnaire::QuestionnaireCollectorStyle::Title
17
+ end # GroupDocs
@@ -23,17 +23,21 @@ module GroupDocs
23
23
  include Signature::RecipientMethods
24
24
  extend Signature::ResourceMethods
25
25
 
26
+ #
27
+ # Changed in release 1.7.0
28
+ #
26
29
  #
27
30
  # Returns a list of all envelopes.
28
31
  #
29
32
  # @param [Hash] options Hash of options
30
33
  # @option options [Integer] :page Page to start with
31
34
  # @option options [Integer] :records How many items to list
32
- # @option options [Integer] :status_id Filter by status identifier
33
- # @option options [String] :document Filter by document GUID
34
- # @option options [String] :recipient Filter by recipient email
35
- # @option options [String] :date Filter by date
36
- # @option options [String] :name Filter by name
35
+ # @option options [Integer] :status_id Filter envelopes by status identifier
36
+ # @option options [String] :document Filter envelopes by document GUID
37
+ # @option options [String] :recipient Filter envelopes by recipient email
38
+ # @option options [String] :date Filter envelopes by date
39
+ # @option options [String] :name Filter envelopes by name
40
+ # @option options [String] :tag Filter envelopes by tag
37
41
  # @param [Hash] access Access credentials
38
42
  # @option access [String] :client_id
39
43
  # @option access [String] :private_key
@@ -92,8 +96,33 @@ module GroupDocs
92
96
  attr_accessor :envelopeExpireTime
93
97
  # @attr [Boolean] isDemo
94
98
  attr_accessor :isDemo
95
- # @attr [Symbol] status
96
- attr_accessor :status
99
+
100
+ # added in release 1.7.0
101
+ # @attr [String] updatedDateTime
102
+ attr_accessor :updatedDateTime
103
+ # @attr [Boolean] attachSignedDocument
104
+ attr_accessor :attachSignedDocument
105
+ # @attr [Boolean] includeViewLink
106
+ attr_accessor :includeViewLink
107
+ # @attr [Boolean] canBeCommented
108
+ attr_accessor :canBeCommented
109
+ # @attr [Boolean] inPersonSign
110
+ attr_accessor :inPersonSign
111
+ # @attr [String] ownerName
112
+ attr_accessor :ownerName
113
+ # @attr [Boolean] enableTypedSignature
114
+ attr_accessor :enableTypedSignature
115
+ # @attr [Boolean] enableUploadedSignature
116
+ attr_accessor :enableUploadedSignature
117
+ # @attr [Boolean] requireUserAuthForSign
118
+ attr_accessor :requireUserAuthForSign
119
+ # @attr [Boolean] requestUserAuthByPhoto
120
+ attr_accessor :requestUserAuthByPhoto
121
+ # @attr [Boolean] showRecipientCommentInSignedDocument
122
+ attr_accessor :showRecipientCommentInSignedDocument
123
+ # @attr [String] tags
124
+ attr_accessor :tags
125
+
97
126
 
98
127
  # Human-readable accessors
99
128
  alias_accessor :creation_date_time, :creationDateTime
@@ -290,10 +319,15 @@ module GroupDocs
290
319
  Signature::Field.new(json[:field])
291
320
  end
292
321
 
322
+ #
323
+ # Changed in release 1.7.0
293
324
  #
294
325
  # Signs envelope.
295
326
  #
296
327
  # @param [GroupDocs::Signature::Recipient] recipient
328
+ # @param [Hash] settings
329
+ # @option settings [String] :authData (required)
330
+ # @option settings [String] :comment (required)
297
331
  # @param [Hash] options
298
332
  # @option options [Boolean] :public Defaults to false
299
333
  # @param [Hash] access Access credentials
@@ -301,7 +335,7 @@ module GroupDocs
301
335
  # @option access [String] :private_key
302
336
  # @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
303
337
  #
304
- def sign!(recipient, options = {}, access = {})
338
+ def sign!(recipient, settings = {}, options = {}, access = {})
305
339
  recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
306
340
  "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
307
341
 
@@ -310,6 +344,7 @@ module GroupDocs
310
344
  request[:access] = access
311
345
  request[:method] = :PUT
312
346
  request[:path] = "/signature/#{client_id}/envelopes/#{id}/recipient/#{recipient.id}/sign"
347
+ request[:request_body] = settings
313
348
  end.execute!
314
349
  end
315
350
 
@@ -23,10 +23,11 @@ module GroupDocs
23
23
  # @param [Hash] options Hash of options
24
24
  # @option options [Integer] :page Page to start with
25
25
  # @option options [Integer] :records How many items to list
26
- # @option options [Integer] :status_id Filter by status identifier
27
- # @option options [String] :document Filter by document GUID
28
- # @option options [String] :date Filter by date
29
- # @option options [String] :name Filter by name
26
+ # @option options [Integer] :status_id Filter forms by status identifier
27
+ # @option options [String] :document Filter forms by document GUID
28
+ # @option options [String] :date Filter forms by date
29
+ # @option options [String] :name Filter forms by name
30
+ # @option options [String] :tag Filter forms by tag
30
31
  # @param [Hash] access Access credentials
31
32
  # @option access [String] :client_id
32
33
  # @option access [String] :private_key
@@ -265,7 +266,7 @@ module GroupDocs
265
266
  end
266
267
 
267
268
  #
268
- # Changed in release 1.5.8
269
+ # Changed in release 1.7.0
269
270
  #
270
271
  # Returns an array of fields for document per participant.
271
272
  #
@@ -277,14 +278,12 @@ module GroupDocs
277
278
  # @option access [String] :private_key
278
279
  # @raise [ArgumentError] if document is not GroupDocs::Document
279
280
  #
280
- def fields!(document, options = {}, access = {})
281
- document.is_a?(GroupDocs::Document) or raise ArgumentError,
282
- "Document should be GroupDocs::Document object, received: #{document.inspect}"
281
+ def fields!(options = {}, access = {})
283
282
 
284
283
  api = Api::Request.new do |request|
285
284
  request[:access] = access
286
285
  request[:method] = :GET
287
- request[:path] = "/signature/{{client_id}}/forms/#{id}/documents/#{document.file.guid}/fields"
286
+ request[:path] = "/signature/{{client_id}}/forms/#{id}/fields"
288
287
  end
289
288
  api.add_params(options)
290
289
  json = api.execute!
@@ -294,6 +293,7 @@ module GroupDocs
294
293
  end
295
294
  end
296
295
 
296
+
297
297
  #
298
298
  # Adds field for document.
299
299
  #
@@ -536,11 +536,14 @@ module GroupDocs
536
536
  end
537
537
 
538
538
  #
539
- # Changed in release 1.5.8
539
+ # Changed in release 1.7.0
540
540
  #
541
541
  # Public sign form.
542
542
  #
543
- # @param [String] form Form GUID
543
+ # @param [Hash] settings
544
+ # @option settings [String] :authData (required)
545
+ # @option settings [String] :comment (required)
546
+ # @param [String] filepath Path to file to be uploaded
544
547
  # @param [String] participant Participant GUID
545
548
  # @param [String] authentication Authentication signature
546
549
  # @param [String] participant_name Participant Name
@@ -549,11 +552,14 @@ module GroupDocs
549
552
  # @option access [String] :private_key
550
553
  # @return [Array]
551
554
  #
552
- def sign!( participant, authentication, participant_name, access = {})
555
+ def sign!( filepath, participant, authentication, participant_name, settings = {}, access = {})
553
556
  api = Api::Request.new do |request|
554
557
  request[:access] = access
555
558
  request[:method] = :PUT
556
559
  request[:path] = "/signature/public/forms/#{id}/participant/#{participant}/sign"
560
+ request[:request_body] = Object::File.new(filepath, 'rb')
561
+ request[:request_body] = settings
562
+
557
563
  end
558
564
  api.add_params(:participantAuthSignature => authentication, :name => participant_name)
559
565
  api.execute!
@@ -643,5 +649,100 @@ module GroupDocs
643
649
  filepath
644
650
  end
645
651
 
652
+ #
653
+ # Added in release 1.7.0
654
+ #
655
+ # Update Form Participant.
656
+ #
657
+ # @param [String] form Form GUID
658
+ # @param [String] participant Participant GUID
659
+ # @param [String] authentication Authentication signature
660
+ # @param [String] participant_name Participant Name
661
+ # @param [Hash] access Access credentials
662
+ # @option access [String] :client_id
663
+ # @option access [String] :private_key
664
+ # @return [Array]
665
+ #
666
+ def update_partipicant!(participant, email, access = {})
667
+ api = Api::Request.new do |request|
668
+ request[:access] = access
669
+ request[:method] = :PUT
670
+ request[:path] = "/signature/public/forms/#{id}/participant/#{participant}"
671
+ end
672
+ api.add_params(:email => email)
673
+ api.execute!
674
+ end
675
+
676
+ #
677
+ # Added in release 1.7.0
678
+ #
679
+ # Validate Particpiant Identity.
680
+ #
681
+ # @param [String] participant Participant GUID
682
+ # @param [String] code Code to be validated
683
+ # @param [Hash] access Access credentials
684
+ # @option access [String] :client_id
685
+ # @option access [String] :private_key
686
+ # @return [Array]
687
+ #
688
+ def validate_partipicant!(participant, code, access = {})
689
+ Api::Request.new do |request|
690
+ request[:access] = access
691
+ request[:method] = :GET
692
+ request[:path] = "/signature/public/forms/#{id}/participant/#{participant}/validationCode/#{code}"
693
+ end.execute!
694
+ end
695
+
696
+ #
697
+ # Added in release 1.7.0
698
+ #
699
+ # Get form fields for document in form per participant.
700
+ #
701
+ # @param [GroupDocs::Document] document
702
+ # @param [Hash] options
703
+ # @option options [String] :field Field GUID
704
+ # @param [Hash] access Access credentials
705
+ # @option access [String] :client_id
706
+ # @option access [String] :private_key
707
+ # @raise [ArgumentError] if document is not GroupDocs::Document
708
+ #
709
+ def document_fields!(document, options = {}, access = {})
710
+ document.is_a?(GroupDocs::Document) or raise ArgumentError,
711
+ "Document should be GroupDocs::Document object, received: #{document.inspect}"
712
+
713
+ api = Api::Request.new do |request|
714
+ request[:access] = access
715
+ request[:method] = :GET
716
+ request[:path] = "/signature/{{client_id}}/forms/#{id}/documents/#{document.file.guid}/fields"
717
+ end
718
+ api.add_params(options)
719
+ json = api.execute!
720
+
721
+ json[:fields].map do |field|
722
+ Signature::Field.new(field)
723
+ end
724
+ end
725
+
726
+ #
727
+ # Changed in release 1.7.0
728
+ #
729
+ # Get form audit logs
730
+ #
731
+ # @param [Hash] options
732
+ # @option options [String] :field Field GUID
733
+ # @param [Hash] access Access credentials
734
+ # @option access [String] :client_id
735
+ # @option access [String] :private_key
736
+ # @raise [ArgumentError] if document is not GroupDocs::Document
737
+ #
738
+ def get_logs!(access = {})
739
+
740
+ Api::Request.new do |request|
741
+ request[:access] = access
742
+ request[:method] = :GET
743
+ request[:path] = "/signature/{{client_id}}/forms/#{id}/logs"
744
+ end.execute!
745
+ end
746
+
646
747
  end # Signature::Form
647
748
  end # GroupDocs
@@ -27,10 +27,45 @@ module GroupDocs
27
27
  # @attr [Symbol] status
28
28
  attr_accessor :status
29
29
 
30
+ # added in release 1.7.0
31
+
32
+ # @attr [String] userGuid
33
+ attr_accessor :userGuid
34
+ # @attr [String] statusMessage
35
+ attr_accessor :statusMessage
36
+ # @attr [String] statusDateTime
37
+ attr_accessor :statusDateTime
38
+ # @attr [Double] delegatedRecipientId
39
+ attr_accessor :delegatedRecipientId
40
+ # @attr [String] signatureFingerprint
41
+ attr_accessor :signatureFingerprint
42
+ # @attr [String] signatureHost
43
+ attr_accessor :signatureHost
44
+ # @attr [String] signatureLocation
45
+ attr_accessor :signatureLocation
46
+ # @attr [String] signatureBrowser
47
+ attr_accessor :signatureBrowser
48
+ # @attr [String] embedUrl
49
+ attr_accessor :embedUrl
50
+ # @attr [String] comment
51
+ attr_accessor :comment
52
+
30
53
  # Human-readable accessors
31
- alias_accessor :first_name, :firstName
32
- alias_accessor :last_name, :lastName
33
- alias_accessor :role_id, :roleId
54
+ alias_accessor :first_name, :firstName
55
+ alias_accessor :last_name, :lastName
56
+ alias_accessor :role_id, :roleId
57
+
58
+ # added in release 1.7.0
59
+ alias_accessor :user_guid, :userGuid
60
+ alias_accessor :status_message, :statusMessage
61
+ alias_accessor :status_date_time, :statusDateTime
62
+ alias_accessor :delegated_recipient_id, :delegatedRecipientId
63
+ alias_accessor :signature_fingerprint, :signatureFingerprint
64
+ alias_accessor :signature_host, :signatureHost
65
+ alias_accessor :signature_location, :signatureLocation
66
+ alias_accessor :signature_browser, :signatureBrowser
67
+ alias_accessor :embed_url, :embedUrl
68
+
34
69
 
35
70
  #
36
71
  # Converts status to human-readable format.
@@ -142,11 +142,13 @@ module GroupDocs
142
142
  # @raise [ArgumentError] if field is not GroupDocs::Signature::Field
143
143
  # @raise [ArgumentError] if document is not GroupDocs::Document
144
144
  #
145
- def modify_field!(field, document, access = {})
145
+ def modify_field!(field, document, recipient, access = {})
146
146
  field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
147
147
  "Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
148
148
  document.is_a?(GroupDocs::Document) or raise ArgumentError,
149
149
  "Document should be GroupDocs::Document object, received: #{document.inspect}"
150
+ recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
151
+ "Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
150
152
 
151
153
  # prepare payload
152
154
  payload = field.to_hash # field itself
@@ -156,7 +158,7 @@ module GroupDocs
156
158
  Api::Request.new do |request|
157
159
  request[:access] = access
158
160
  request[:method] = :PUT
159
- request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/field/#{field.id}"
161
+ request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipientGuid/#{recipient.id}field/#{field.id}"
160
162
  request[:request_body] = payload
161
163
  end.execute!
162
164
  end
@@ -9,11 +9,18 @@ module GroupDocs
9
9
  extend Signature::ResourceMethods
10
10
 
11
11
  #
12
- # Returns a list of all templates.
12
+ # Changed in release 1.7.0
13
+ #
14
+ #
15
+ # Returns a list of all templates.
13
16
  #
14
17
  # @param [Hash] options Hash of options
15
18
  # @option options [Integer] :page Page to start with
16
19
  # @option options [Integer] :records How many items to list
20
+ # @option options [String] :documentGuid Fitler templates by document originalMD5
21
+ # @option options [String] :recipientName Filter templates by recipient nickname
22
+ # @option options [String] :name Filter templates by signatureTemplate name
23
+ # @option options [String] :tag Filter templates by tag
17
24
  # @param [Hash] access Access credentials
18
25
  # @option access [String] :client_id
19
26
  # @option access [String] :private_key
@@ -36,6 +43,16 @@ module GroupDocs
36
43
  # @attr [Integer] templateExpireTime
37
44
  attr_accessor :templateExpireTime
38
45
 
46
+ #added in release 1.7.0
47
+ # @attr [Double] fieldsCount
48
+ attr_accessor :fieldsCount
49
+ # @attr [Boolean] enableTypedSignature
50
+ attr_accessor :enableTypedSignature
51
+ # @attr [Boolean] enableUploadedSignature
52
+ attr_accessor :enableUploadedSignature
53
+ # @attr [String] tags
54
+ attr_accessor :tags
55
+
39
56
  # Human-readable accessors
40
57
  alias_accessor :template_expire_time, :templateExpireTime
41
58
 
@@ -101,5 +118,7 @@ module GroupDocs
101
118
  api.execute!
102
119
  end
103
120
 
121
+
122
+
104
123
  end # Signature::Template
105
124
  end # GroupDocs