groupdocs 2.2.0 → 2.3.0
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.
- checksums.yaml +7 -0
- data/.travis.yml +9 -9
- data/CHANGELOG.md +482 -477
- data/Gemfile +3 -3
- data/LICENSE.txt +21 -21
- data/README.md +94 -94
- data/Rakefile +9 -9
- data/examples/README.md +12 -12
- data/examples/api-samples/Gemfile +5 -5
- data/examples/api-samples/Gemfile.lock +49 -49
- data/examples/api-samples/README.md +23 -23
- data/examples/api-samples/public/css/style.css +229 -229
- data/examples/api-samples/public/docs/annotation-sample.html +167 -167
- data/examples/api-samples/public/docs/docco.css +500 -500
- data/examples/api-samples/public/docs/envelope-sample.html +374 -374
- data/examples/api-samples/public/docs/sample01.html +181 -181
- data/examples/api-samples/public/docs/sample02.html +199 -199
- data/examples/api-samples/public/docs/sample03.html +318 -318
- data/examples/api-samples/public/docs/sample04.html +217 -217
- data/examples/api-samples/public/docs/sample05.html +296 -296
- data/examples/api-samples/public/docs/sample06.html +347 -347
- data/examples/api-samples/public/docs/sample07.html +209 -209
- data/examples/api-samples/public/docs/sample08.html +277 -277
- data/examples/api-samples/public/docs/sample09.html +314 -314
- data/examples/api-samples/public/docs/sample10.html +270 -270
- data/examples/api-samples/public/docs/sample11.html +462 -462
- data/examples/api-samples/public/docs/sample12.html +199 -199
- data/examples/api-samples/public/docs/sample13.html +201 -201
- data/examples/api-samples/public/docs/sample14.html +204 -204
- data/examples/api-samples/public/docs/sample15.html +182 -182
- data/examples/api-samples/public/docs/sample16.html +234 -234
- data/examples/api-samples/public/docs/sample17.html +309 -309
- data/examples/api-samples/public/docs/sample18.html +721 -721
- data/examples/api-samples/public/docs/sample19.html +631 -631
- data/examples/api-samples/public/docs/sample20.html +230 -230
- data/examples/api-samples/public/docs/sample21.html +790 -790
- data/examples/api-samples/public/docs/sample22.html +408 -408
- data/examples/api-samples/public/docs/sample25.html +550 -550
- data/examples/api-samples/public/templates/base-simple_source.html +191 -191
- data/examples/api-samples/public/templates/testdocument.html +100 -100
- data/examples/api-samples/public/templates/welcome.htm +137 -137
- data/examples/api-samples/samples/annotation-sample.rb +56 -56
- data/examples/api-samples/samples/envelope-sample.rb +133 -133
- data/examples/api-samples/samples/sample01.rb +44 -44
- data/examples/api-samples/samples/sample02.rb +50 -50
- data/examples/api-samples/samples/sample03.rb +79 -79
- data/examples/api-samples/samples/sample04.rb +54 -54
- data/examples/api-samples/samples/sample05.rb +83 -83
- data/examples/api-samples/samples/sample06.rb +86 -86
- data/examples/api-samples/samples/sample07.rb +59 -59
- data/examples/api-samples/samples/sample08.rb +76 -76
- data/examples/api-samples/samples/sample09.rb +85 -85
- data/examples/api-samples/samples/sample10.rb +70 -70
- data/examples/api-samples/samples/sample11.rb +132 -132
- data/examples/api-samples/samples/sample12.rb +48 -48
- data/examples/api-samples/samples/sample13.rb +49 -49
- data/examples/api-samples/samples/sample14.rb +54 -54
- data/examples/api-samples/samples/sample15.rb +43 -43
- data/examples/api-samples/samples/sample16.rb +57 -57
- data/examples/api-samples/samples/sample17.rb +70 -70
- data/examples/api-samples/samples/sample18.rb +190 -190
- data/examples/api-samples/samples/sample19.rb +188 -188
- data/examples/api-samples/samples/sample20.rb +68 -68
- data/examples/api-samples/samples/sample21.rb +212 -212
- data/examples/api-samples/samples/sample22.rb +109 -109
- data/examples/api-samples/samples/sample25.rb +127 -127
- data/examples/api-samples/views/_others_samples.haml +233 -233
- data/examples/api-samples/views/annotation_sample.haml +63 -63
- data/examples/api-samples/views/envelope_sample.haml +72 -72
- data/examples/api-samples/views/index.haml +235 -235
- data/examples/api-samples/views/layout.haml +3 -3
- data/examples/api-samples/views/sample01.haml +63 -63
- data/examples/api-samples/views/sample02.haml +52 -52
- data/examples/api-samples/views/sample03.haml +87 -87
- data/examples/api-samples/views/sample04.haml +55 -55
- data/examples/api-samples/views/sample05.haml +86 -86
- data/examples/api-samples/views/sample06.haml +58 -58
- data/examples/api-samples/views/sample07.haml +52 -52
- data/examples/api-samples/views/sample08.haml +100 -100
- data/examples/api-samples/views/sample09.haml +95 -95
- data/examples/api-samples/views/sample10.haml +93 -93
- data/examples/api-samples/views/sample11.haml +140 -140
- data/examples/api-samples/views/sample12.haml +68 -68
- data/examples/api-samples/views/sample13.haml +64 -64
- data/examples/api-samples/views/sample14.haml +60 -60
- data/examples/api-samples/views/sample15.haml +51 -51
- data/examples/api-samples/views/sample16.haml +50 -50
- data/examples/api-samples/views/sample17.haml +54 -54
- data/examples/api-samples/views/sample18.haml +143 -143
- data/examples/api-samples/views/sample19.haml +92 -92
- data/examples/api-samples/views/sample20.haml +54 -54
- data/examples/api-samples/views/sample21.haml +123 -123
- data/examples/api-samples/views/sample22.haml +106 -106
- data/examples/api-samples/views/sample25.haml +101 -101
- data/examples/api-samples/views/sample31.haml +2 -2
- data/examples/api-samples/web.rb +20 -20
- data/examples/viewer/Gemfile +5 -5
- data/examples/viewer/app.rb +52 -52
- data/groupdocs.gemspec +31 -31
- data/lib/groupdocs.rb +62 -62
- data/lib/groupdocs/api.rb +6 -6
- data/lib/groupdocs/api/entity.rb +112 -112
- data/lib/groupdocs/api/helpers.rb +11 -11
- data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
- data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
- data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
- data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
- data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
- data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
- data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
- data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
- data/lib/groupdocs/api/request.rb +91 -91
- data/lib/groupdocs/datasource.rb +249 -249
- data/lib/groupdocs/datasource/field.rb +39 -39
- data/lib/groupdocs/document.rb +1550 -1550
- data/lib/groupdocs/document/annotation.rb +421 -421
- data/lib/groupdocs/document/annotation/reply.rb +173 -173
- data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
- data/lib/groupdocs/document/change.rb +56 -56
- data/lib/groupdocs/document/field.rb +53 -53
- data/lib/groupdocs/document/metadata.rb +32 -32
- data/lib/groupdocs/document/rectangle.rb +18 -18
- data/lib/groupdocs/document/view.rb +36 -36
- data/lib/groupdocs/errors.rb +8 -8
- data/lib/groupdocs/job.rb +468 -468
- data/lib/groupdocs/questionnaire.rb +530 -530
- data/lib/groupdocs/questionnaire/collector.rb +335 -335
- data/lib/groupdocs/questionnaire/execution.rb +181 -181
- data/lib/groupdocs/questionnaire/page.rb +43 -43
- data/lib/groupdocs/questionnaire/question.rb +108 -108
- data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
- data/lib/groupdocs/signature.rb +380 -380
- data/lib/groupdocs/signature/contact.rb +181 -181
- data/lib/groupdocs/signature/envelope.rb +747 -747
- data/lib/groupdocs/signature/envelope/log.rb +20 -20
- data/lib/groupdocs/signature/field.rb +286 -286
- data/lib/groupdocs/signature/field/location.rb +71 -71
- data/lib/groupdocs/signature/form.rb +804 -804
- data/lib/groupdocs/signature/list.rb +92 -92
- data/lib/groupdocs/signature/recipient.rb +79 -79
- data/lib/groupdocs/signature/role.rb +54 -54
- data/lib/groupdocs/signature/shared.rb +6 -6
- data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
- data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
- data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
- data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
- data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
- data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
- data/lib/groupdocs/signature/template.rb +124 -124
- data/lib/groupdocs/storage.rb +44 -44
- data/lib/groupdocs/storage/file.rb +432 -432
- data/lib/groupdocs/storage/folder.rb +288 -288
- data/lib/groupdocs/storage/package.rb +48 -48
- data/lib/groupdocs/storage/provider.rb +32 -32
- data/lib/groupdocs/subscription.rb +323 -323
- data/lib/groupdocs/subscription/limit.rb +20 -20
- data/lib/groupdocs/user.rb +955 -930
- data/lib/groupdocs/version.rb +3 -3
- data/spec/groupdocs/api/entity_spec.rb +55 -55
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
- data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
- data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
- data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
- data/spec/groupdocs/api/request_spec.rb +112 -112
- data/spec/groupdocs/datasource/field_spec.rb +29 -29
- data/spec/groupdocs/datasource_spec.rb +145 -145
- data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
- data/spec/groupdocs/document/annotation_spec.rb +234 -234
- data/spec/groupdocs/document/change_spec.rb +39 -39
- data/spec/groupdocs/document/field_spec.rb +28 -28
- data/spec/groupdocs/document/metadata_spec.rb +21 -21
- data/spec/groupdocs/document/rectangle_spec.rb +14 -14
- data/spec/groupdocs/document/view_spec.rb +33 -33
- data/spec/groupdocs/document_spec.rb +859 -859
- data/spec/groupdocs/errors_spec.rb +7 -7
- data/spec/groupdocs/job_spec.rb +323 -323
- data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
- data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
- data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
- data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
- data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
- data/spec/groupdocs/questionnaire_spec.rb +295 -295
- data/spec/groupdocs/signature/contact_spec.rb +142 -142
- data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
- data/spec/groupdocs/signature/envelope_spec.rb +384 -384
- data/spec/groupdocs/signature/field/location_spec.rb +40 -40
- data/spec/groupdocs/signature/field_spec.rb +235 -235
- data/spec/groupdocs/signature/form_spec.rb +205 -205
- data/spec/groupdocs/signature/list_spec.rb +87 -87
- data/spec/groupdocs/signature/recipient_spec.rb +26 -26
- data/spec/groupdocs/signature/role_spec.rb +47 -47
- data/spec/groupdocs/signature/template_spec.rb +80 -80
- data/spec/groupdocs/signature_spec.rb +194 -194
- data/spec/groupdocs/storage/file_spec.rb +303 -303
- data/spec/groupdocs/storage/folder_spec.rb +270 -270
- data/spec/groupdocs/storage/package_spec.rb +38 -38
- data/spec/groupdocs/storage/provider_spec.rb +21 -21
- data/spec/groupdocs/storage_spec.rb +27 -27
- data/spec/groupdocs/subscription/limit_spec.rb +16 -16
- data/spec/groupdocs/subscription_spec.rb +74 -74
- data/spec/groupdocs/user_spec.rb +257 -257
- data/spec/groupdocs_spec.rb +63 -63
- data/spec/spec_helper.rb +73 -73
- data/spec/support/json/annotation_access_set.json +11 -11
- data/spec/support/json/annotation_collaborators_get.json +16 -16
- data/spec/support/json/annotation_collaborators_set.json +16 -16
- data/spec/support/json/annotation_create.json +12 -12
- data/spec/support/json/annotation_list.json +32 -32
- data/spec/support/json/annotation_marker_move.json +10 -10
- data/spec/support/json/annotation_move.json +8 -8
- data/spec/support/json/annotation_remove.json +9 -9
- data/spec/support/json/annotation_replies_create.json +9 -9
- data/spec/support/json/annotation_replies_get.json +25 -25
- data/spec/support/json/annotation_reviewers_get.json +18 -18
- data/spec/support/json/comparison_changes.json +46 -46
- data/spec/support/json/comparison_compare.json +8 -8
- data/spec/support/json/comparison_document.json +10 -10
- data/spec/support/json/contact_add.json +12 -12
- data/spec/support/json/contacts_get.json +19 -19
- data/spec/support/json/contacts_import.json +8 -8
- data/spec/support/json/datasource_add.json +8 -8
- data/spec/support/json/datasource_get.json +22 -22
- data/spec/support/json/datasource_remove.json +8 -8
- data/spec/support/json/datasource_update.json +8 -8
- data/spec/support/json/delete_account.json +9 -9
- data/spec/support/json/document_access_info_get.json +14 -14
- data/spec/support/json/document_convert.json +8 -8
- data/spec/support/json/document_datasource.json +10 -10
- data/spec/support/json/document_fields.json +34 -34
- data/spec/support/json/document_formats.json +8 -8
- data/spec/support/json/document_metadata.json +15 -15
- data/spec/support/json/document_page_images_get.json +20 -20
- data/spec/support/json/document_questionnaire_create.json +9 -9
- data/spec/support/json/document_questionnaires.json +23 -23
- data/spec/support/json/document_sharers_remove.json +8 -8
- data/spec/support/json/document_sharers_set.json +16 -16
- data/spec/support/json/document_thumbnails.json +24 -24
- data/spec/support/json/document_views.json +32 -32
- data/spec/support/json/envelope_get.json +46 -46
- data/spec/support/json/envelope_logs.json +16 -16
- data/spec/support/json/envelope_recipient_add.json +26 -26
- data/spec/support/json/envelopes_all.json +48 -48
- data/spec/support/json/envelopes_resources.json +31 -31
- data/spec/support/json/file_compress.json +8 -8
- data/spec/support/json/file_copy.json +14 -14
- data/spec/support/json/file_delete.json +5 -5
- data/spec/support/json/file_move.json +14 -14
- data/spec/support/json/file_upload.json +8 -8
- data/spec/support/json/folder_create.json +8 -8
- data/spec/support/json/folder_delete.json +5 -5
- data/spec/support/json/folder_list.json +22 -22
- data/spec/support/json/folder_move.json +8 -8
- data/spec/support/json/folder_sharers_get.json +16 -16
- data/spec/support/json/folder_sharers_remove.json +8 -8
- data/spec/support/json/folder_sharers_set.json +16 -16
- data/spec/support/json/form_get.json +21 -21
- data/spec/support/json/forms_all.json +23 -23
- data/spec/support/json/job_add_url.json +8 -8
- data/spec/support/json/job_create.json +8 -8
- data/spec/support/json/job_documents.json +40 -40
- data/spec/support/json/job_file_add.json +8 -8
- data/spec/support/json/job_get.json +30 -30
- data/spec/support/json/job_update.json +7 -7
- data/spec/support/json/jobs_get.json +58 -58
- data/spec/support/json/list_add.json +12 -12
- data/spec/support/json/lists_get.json +19 -19
- data/spec/support/json/package_create.json +7 -7
- data/spec/support/json/questionnaire_collector.json +17 -17
- data/spec/support/json/questionnaire_collectors.json +38 -38
- data/spec/support/json/questionnaire_collectors_add.json +10 -10
- data/spec/support/json/questionnaire_create.json +10 -10
- data/spec/support/json/questionnaire_datasources.json +26 -26
- data/spec/support/json/questionnaire_execution_add.json +9 -9
- data/spec/support/json/questionnaire_execution_status_set.json +8 -8
- data/spec/support/json/questionnaire_execution_update.json +8 -8
- data/spec/support/json/questionnaire_executions.json +28 -28
- data/spec/support/json/questionnaire_get.json +17 -17
- data/spec/support/json/questionnaire_remove.json +8 -8
- data/spec/support/json/questionnaire_update.json +8 -8
- data/spec/support/json/questionnaires_get.json +40 -40
- data/spec/support/json/sign_documents.json +16 -16
- data/spec/support/json/signature_create.json +12 -12
- data/spec/support/json/signature_field_add.json +25 -25
- data/spec/support/json/signature_fields_get.json +27 -27
- data/spec/support/json/signature_roles_get.json +17 -17
- data/spec/support/json/signatures_get.json +19 -19
- data/spec/support/json/storage_info.json +10 -10
- data/spec/support/json/subscription_plan_get.json +9 -9
- data/spec/support/json/subscription_plans_get.json +17 -17
- data/spec/support/json/template_get.json +35 -35
- data/spec/support/json/template_get_documents.json +15 -15
- data/spec/support/json/template_get_recipients.json +20 -20
- data/spec/support/json/templates_all.json +37 -37
- data/spec/support/json/templates_get.json +21 -21
- data/spec/support/json/update_account.json +10 -10
- data/spec/support/json/user_area.json +67 -67
- data/spec/support/json/user_embed_key.json +38 -38
- data/spec/support/json/user_get_embed_key.json +67 -67
- data/spec/support/json/user_login.json +67 -67
- data/spec/support/json/user_profile_get.json +24 -24
- data/spec/support/json/user_providers.json +31 -31
- data/spec/support/json/user_roles.json +25 -25
- data/spec/support/json/user_users_get.json +27 -27
- data/spec/support/shared_examples/api/entity.rb +39 -39
- data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
- data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
- data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
- data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
- metadata +35 -55
@@ -1,144 +1,144 @@
|
|
1
|
-
module GroupDocs
|
2
|
-
class Signature
|
3
|
-
#
|
4
|
-
# Envelope and template entities share the same set of methods.
|
5
|
-
#
|
6
|
-
# @see GroupDocs::Signature::Envelope
|
7
|
-
# @see GroupDocs::Signature::Form
|
8
|
-
# @see GroupDocs::Signature::Template
|
9
|
-
#
|
10
|
-
module EntityMethods
|
11
|
-
|
12
|
-
def self.included(klass)
|
13
|
-
klass.extend ClassMethods
|
14
|
-
end
|
15
|
-
|
16
|
-
module ClassMethods
|
17
|
-
#
|
18
|
-
# Returns template, envelope or form by its identifier.
|
19
|
-
#
|
20
|
-
# @param [String] id
|
21
|
-
# @param [Hash] access Access credentials
|
22
|
-
# @option access [String] :client_id
|
23
|
-
# @option access [String] :private_key
|
24
|
-
# @return [GroupDocs::Signature::Template, GroupDocs::Signature::Envelope, GroupDocs::Signature::Form]
|
25
|
-
#
|
26
|
-
def get!(id, access = {})
|
27
|
-
class_name = self.name.split('::').last.downcase
|
28
|
-
|
29
|
-
json = Api::Request.new do |request|
|
30
|
-
request[:access] = access
|
31
|
-
request[:method] = :GET
|
32
|
-
request[:path] = "/signature/{{client_id}}/#{class_name}s/#{id}"
|
33
|
-
end.execute!
|
34
|
-
new(json[class_name.to_sym])
|
35
|
-
end
|
36
|
-
end # ClassMethods
|
37
|
-
|
38
|
-
#
|
39
|
-
# Creates template or envelope.
|
40
|
-
#
|
41
|
-
# @example Create new template
|
42
|
-
# template = GroupDocs::Signature::Template.new
|
43
|
-
# template.name = "Template"
|
44
|
-
# template.email_subject = "Sing this!"
|
45
|
-
# template.create!
|
46
|
-
#
|
47
|
-
# @example Create new envelope
|
48
|
-
# envelope = GroupDocs::Signature::Envelope.new
|
49
|
-
# envelope.name = "Envelope"
|
50
|
-
# envelope.email_subject = "Sing this!"
|
51
|
-
# envelope.create!
|
52
|
-
#
|
53
|
-
# @param [Hash] options Hash of options
|
54
|
-
# @option options [String] :template_id Template GUID to use
|
55
|
-
# @option options [String] :envelope_id Envelope GUID to use
|
56
|
-
# @param [Hash] access Access credentials
|
57
|
-
# @option access [String] :client_id
|
58
|
-
# @option access [String] :private_key
|
59
|
-
#
|
60
|
-
def create!(options = {}, access = {})
|
61
|
-
template_id = options.delete(:template_id)
|
62
|
-
envelope_id = options.delete(:envelope_id)
|
63
|
-
options[:templateId] = template_id if template_id
|
64
|
-
options[:envelopeId] = envelope_id if envelope_id
|
65
|
-
|
66
|
-
api = Api::Request.new do |request|
|
67
|
-
request[:access] = access
|
68
|
-
request[:method] = :POST
|
69
|
-
request[:path] = "/signature/{{client_id}}/#{class_name}"
|
70
|
-
request[:request_body] = to_hash
|
71
|
-
end
|
72
|
-
api.add_params(options.merge(:name => name))
|
73
|
-
json = api.execute!
|
74
|
-
|
75
|
-
self.id = json[class_name.to_sym][:id]
|
76
|
-
end
|
77
|
-
|
78
|
-
#
|
79
|
-
# Modifies template, envelope or form.
|
80
|
-
#
|
81
|
-
# @example Modify template
|
82
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
83
|
-
# template.name = "Template"
|
84
|
-
# template.email_subject = "Sing this!"
|
85
|
-
# template.modify!
|
86
|
-
#
|
87
|
-
# @example Modify envelope
|
88
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
89
|
-
# envelope.name = "Envelope"
|
90
|
-
# envelope.email_subject = "Sing this!"
|
91
|
-
# envelope.modify!
|
92
|
-
#
|
93
|
-
# @param [Hash] access Access credentials
|
94
|
-
# @option access [String] :client_id
|
95
|
-
# @option access [String] :private_key
|
96
|
-
#
|
97
|
-
def modify!(access = {})
|
98
|
-
Api::Request.new do |request|
|
99
|
-
request[:access] = access
|
100
|
-
request[:method] = :POST
|
101
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
102
|
-
request[:request_body] = to_hash
|
103
|
-
end.execute!
|
104
|
-
end
|
105
|
-
|
106
|
-
#
|
107
|
-
# Renames template, envelope or form.
|
108
|
-
#
|
109
|
-
# @param [String] name New template name
|
110
|
-
# @param [Hash] access Access credentials
|
111
|
-
# @option access [String] :client_id
|
112
|
-
# @option access [String] :private_key
|
113
|
-
#
|
114
|
-
def rename!(name, access = {})
|
115
|
-
api = Api::Request.new do |request|
|
116
|
-
request[:access] = access
|
117
|
-
request[:method] = :PUT
|
118
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
119
|
-
end
|
120
|
-
key = (class_name == 'form' ? :new_name : :name )
|
121
|
-
api.add_params(key => name)
|
122
|
-
api.execute!
|
123
|
-
|
124
|
-
self.name = name
|
125
|
-
end
|
126
|
-
|
127
|
-
#
|
128
|
-
# Deletes template, envelope or form.
|
129
|
-
#
|
130
|
-
# @param [Hash] access Access credentials
|
131
|
-
# @option access [String] :client_id
|
132
|
-
# @option access [String] :private_key
|
133
|
-
#
|
134
|
-
def delete!(access = {})
|
135
|
-
Api::Request.new do |request|
|
136
|
-
request[:access] = access
|
137
|
-
request[:method] = :DELETE
|
138
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
139
|
-
end.execute!
|
140
|
-
end
|
141
|
-
|
142
|
-
end # EntityMethods
|
143
|
-
end # Signature
|
144
|
-
end # GroupDocs
|
1
|
+
module GroupDocs
|
2
|
+
class Signature
|
3
|
+
#
|
4
|
+
# Envelope and template entities share the same set of methods.
|
5
|
+
#
|
6
|
+
# @see GroupDocs::Signature::Envelope
|
7
|
+
# @see GroupDocs::Signature::Form
|
8
|
+
# @see GroupDocs::Signature::Template
|
9
|
+
#
|
10
|
+
module EntityMethods
|
11
|
+
|
12
|
+
def self.included(klass)
|
13
|
+
klass.extend ClassMethods
|
14
|
+
end
|
15
|
+
|
16
|
+
module ClassMethods
|
17
|
+
#
|
18
|
+
# Returns template, envelope or form by its identifier.
|
19
|
+
#
|
20
|
+
# @param [String] id
|
21
|
+
# @param [Hash] access Access credentials
|
22
|
+
# @option access [String] :client_id
|
23
|
+
# @option access [String] :private_key
|
24
|
+
# @return [GroupDocs::Signature::Template, GroupDocs::Signature::Envelope, GroupDocs::Signature::Form]
|
25
|
+
#
|
26
|
+
def get!(id, access = {})
|
27
|
+
class_name = self.name.split('::').last.downcase
|
28
|
+
|
29
|
+
json = Api::Request.new do |request|
|
30
|
+
request[:access] = access
|
31
|
+
request[:method] = :GET
|
32
|
+
request[:path] = "/signature/{{client_id}}/#{class_name}s/#{id}"
|
33
|
+
end.execute!
|
34
|
+
new(json[class_name.to_sym])
|
35
|
+
end
|
36
|
+
end # ClassMethods
|
37
|
+
|
38
|
+
#
|
39
|
+
# Creates template or envelope.
|
40
|
+
#
|
41
|
+
# @example Create new template
|
42
|
+
# template = GroupDocs::Signature::Template.new
|
43
|
+
# template.name = "Template"
|
44
|
+
# template.email_subject = "Sing this!"
|
45
|
+
# template.create!
|
46
|
+
#
|
47
|
+
# @example Create new envelope
|
48
|
+
# envelope = GroupDocs::Signature::Envelope.new
|
49
|
+
# envelope.name = "Envelope"
|
50
|
+
# envelope.email_subject = "Sing this!"
|
51
|
+
# envelope.create!
|
52
|
+
#
|
53
|
+
# @param [Hash] options Hash of options
|
54
|
+
# @option options [String] :template_id Template GUID to use
|
55
|
+
# @option options [String] :envelope_id Envelope GUID to use
|
56
|
+
# @param [Hash] access Access credentials
|
57
|
+
# @option access [String] :client_id
|
58
|
+
# @option access [String] :private_key
|
59
|
+
#
|
60
|
+
def create!(options = {}, access = {})
|
61
|
+
template_id = options.delete(:template_id)
|
62
|
+
envelope_id = options.delete(:envelope_id)
|
63
|
+
options[:templateId] = template_id if template_id
|
64
|
+
options[:envelopeId] = envelope_id if envelope_id
|
65
|
+
|
66
|
+
api = Api::Request.new do |request|
|
67
|
+
request[:access] = access
|
68
|
+
request[:method] = :POST
|
69
|
+
request[:path] = "/signature/{{client_id}}/#{class_name}"
|
70
|
+
request[:request_body] = to_hash
|
71
|
+
end
|
72
|
+
api.add_params(options.merge(:name => name))
|
73
|
+
json = api.execute!
|
74
|
+
|
75
|
+
self.id = json[class_name.to_sym][:id]
|
76
|
+
end
|
77
|
+
|
78
|
+
#
|
79
|
+
# Modifies template, envelope or form.
|
80
|
+
#
|
81
|
+
# @example Modify template
|
82
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
83
|
+
# template.name = "Template"
|
84
|
+
# template.email_subject = "Sing this!"
|
85
|
+
# template.modify!
|
86
|
+
#
|
87
|
+
# @example Modify envelope
|
88
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
89
|
+
# envelope.name = "Envelope"
|
90
|
+
# envelope.email_subject = "Sing this!"
|
91
|
+
# envelope.modify!
|
92
|
+
#
|
93
|
+
# @param [Hash] access Access credentials
|
94
|
+
# @option access [String] :client_id
|
95
|
+
# @option access [String] :private_key
|
96
|
+
#
|
97
|
+
def modify!(access = {})
|
98
|
+
Api::Request.new do |request|
|
99
|
+
request[:access] = access
|
100
|
+
request[:method] = :POST
|
101
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
102
|
+
request[:request_body] = to_hash
|
103
|
+
end.execute!
|
104
|
+
end
|
105
|
+
|
106
|
+
#
|
107
|
+
# Renames template, envelope or form.
|
108
|
+
#
|
109
|
+
# @param [String] name New template name
|
110
|
+
# @param [Hash] access Access credentials
|
111
|
+
# @option access [String] :client_id
|
112
|
+
# @option access [String] :private_key
|
113
|
+
#
|
114
|
+
def rename!(name, access = {})
|
115
|
+
api = Api::Request.new do |request|
|
116
|
+
request[:access] = access
|
117
|
+
request[:method] = :PUT
|
118
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
119
|
+
end
|
120
|
+
key = (class_name == 'form' ? :new_name : :name )
|
121
|
+
api.add_params(key => name)
|
122
|
+
api.execute!
|
123
|
+
|
124
|
+
self.name = name
|
125
|
+
end
|
126
|
+
|
127
|
+
#
|
128
|
+
# Deletes template, envelope or form.
|
129
|
+
#
|
130
|
+
# @param [Hash] access Access credentials
|
131
|
+
# @option access [String] :client_id
|
132
|
+
# @option access [String] :private_key
|
133
|
+
#
|
134
|
+
def delete!(access = {})
|
135
|
+
Api::Request.new do |request|
|
136
|
+
request[:access] = access
|
137
|
+
request[:method] = :DELETE
|
138
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
|
139
|
+
end.execute!
|
140
|
+
end
|
141
|
+
|
142
|
+
end # EntityMethods
|
143
|
+
end # Signature
|
144
|
+
end # GroupDocs
|
@@ -1,354 +1,354 @@
|
|
1
|
-
module GroupDocs
|
2
|
-
class Signature
|
3
|
-
#
|
4
|
-
# Envelope and template entities share the same set of field methods.
|
5
|
-
#
|
6
|
-
# @see GroupDocs::Signature::Envelope
|
7
|
-
# @see GroupDocs::Signature::Form
|
8
|
-
# @see GroupDocs::Signature::Template
|
9
|
-
#
|
10
|
-
module FieldMethods
|
11
|
-
|
12
|
-
#
|
13
|
-
# Changed in release 1.5.8
|
14
|
-
#
|
15
|
-
# Returns an array of fields for document and recipient.
|
16
|
-
#
|
17
|
-
# @example Get fields from template
|
18
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
19
|
-
# document = template.documents!.first
|
20
|
-
# recipient = template.recipients!.first
|
21
|
-
# template.fields! document, recipient
|
22
|
-
#
|
23
|
-
# @example Get fields from envelope
|
24
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
25
|
-
# document = envelope.documents!.first
|
26
|
-
# recipient = envelope.recipients!.first
|
27
|
-
# envelope.fields! document, recipient
|
28
|
-
#
|
29
|
-
# @param [GroupDocs::Document] document
|
30
|
-
# @param [GroupDocs::Signature::Recipient] recipient
|
31
|
-
# @param [String] field_guid Field GUID
|
32
|
-
# @param [Hash] options
|
33
|
-
# @option options [Boolean] :public Defaults to false
|
34
|
-
# @param [Hash] access Access credentials
|
35
|
-
# @option access [String] :client_id
|
36
|
-
# @option access [String] :private_key
|
37
|
-
# @raise [ArgumentError] if document is not GroupDocs::Document
|
38
|
-
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
39
|
-
#
|
40
|
-
def fields!(document, recipient, options = {}, access = {})
|
41
|
-
|
42
|
-
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
43
|
-
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
44
|
-
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
45
|
-
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
46
|
-
|
47
|
-
client_id = client_id(options[:public])
|
48
|
-
api = Api::Request.new do |request|
|
49
|
-
request[:access] = access
|
50
|
-
request[:method] = :GET
|
51
|
-
request[:path] = "/signature/#{client_id}/#{class_name.pluralize}/#{id}/fields"
|
52
|
-
end
|
53
|
-
api.add_params(:document => document.file.guid, :recipient => recipient.id, :field => options[:field] )
|
54
|
-
json = api.execute!
|
55
|
-
|
56
|
-
json[:fields].map do |field|
|
57
|
-
Signature::Field.new(field)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
#
|
62
|
-
# Adds field for document and recipient.
|
63
|
-
#
|
64
|
-
# @example Add field to template
|
65
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
66
|
-
# field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
|
67
|
-
# field.location = { location_x: 0.1, location_y: 0.1, page: 1 }
|
68
|
-
# field.name = "Signer"
|
69
|
-
# document = template.documents!.first
|
70
|
-
# recipient = template.recipients!.first
|
71
|
-
# template.add_field! field, document, recipient
|
72
|
-
#
|
73
|
-
# @example Add field to envelope
|
74
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
75
|
-
# field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
|
76
|
-
# field.name = "Signer"
|
77
|
-
# field.location = { location_x: 0.1, location_y: 0.1, page: 1 }
|
78
|
-
# document = envelope.documents!.first
|
79
|
-
# recipient = envelope.recipients!.first
|
80
|
-
# envelope.add_field! field, document, recipient
|
81
|
-
#
|
82
|
-
# @param [GroupDocs::Signature::Field] field
|
83
|
-
# @param [GroupDocs::Document] document
|
84
|
-
# @param [GroupDocs::Signature::Recipient] recipient
|
85
|
-
# @param [Hash] options
|
86
|
-
# @option options [Boolean] :force_new_field Set to true to force new field create
|
87
|
-
# @param [Hash] access Access credentials
|
88
|
-
# @option access [String] :client_id
|
89
|
-
# @option access [String] :private_key
|
90
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
91
|
-
# @raise [ArgumentError] if document is not GroupDocs::Document
|
92
|
-
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
93
|
-
# @raise [ArgumentError] if field does not specify location
|
94
|
-
#
|
95
|
-
def add_field!(field, document, recipient, opts = {}, access = {})
|
96
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
97
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
98
|
-
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
99
|
-
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
100
|
-
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
101
|
-
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
102
|
-
field.location or raise ArgumentError,
|
103
|
-
"You have to specify field location, received: #{field.location.inspect}"
|
104
|
-
|
105
|
-
opts[:force_new_field] = true if opts[:force_new_field].nil?
|
106
|
-
payload = field.to_hash # field itself
|
107
|
-
payload.merge!(field.location.to_hash) # location should added in plain view (i.e. not "location": {...})
|
108
|
-
payload.merge!(:forceNewField => opts[:force_new_field]) # create new field flag
|
109
|
-
|
110
|
-
Api::Request.new do |request|
|
111
|
-
request[:access] = access
|
112
|
-
request[:method] = :POST
|
113
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipient/#{recipient.id}/field/#{field.id}"
|
114
|
-
request[:request_body] = payload
|
115
|
-
end.execute!
|
116
|
-
end
|
117
|
-
|
118
|
-
#
|
119
|
-
# Modifies document field.
|
120
|
-
#
|
121
|
-
# @example Modify template field
|
122
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
123
|
-
# document = template.documents!.first
|
124
|
-
# recipient = template.recipients!.first
|
125
|
-
# field = template.fields!(document, recipient).first
|
126
|
-
# field.name = "Field"
|
127
|
-
# template.modify_field! field, document
|
128
|
-
#
|
129
|
-
# @example Modify envelope field
|
130
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
131
|
-
# document = envelope.documents!.first
|
132
|
-
# recipient = envelope.recipients!.first
|
133
|
-
# field = envelope.fields!(document, recipient).first
|
134
|
-
# field.name = "Field"
|
135
|
-
# envelope.modify_field! field, document
|
136
|
-
#
|
137
|
-
# @param [GroupDocs::Signature::Field] field
|
138
|
-
# @param [GroupDocs::Document] document
|
139
|
-
# @param [Hash] access Access credentials
|
140
|
-
# @option access [String] :client_id
|
141
|
-
# @option access [String] :private_key
|
142
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
143
|
-
# @raise [ArgumentError] if document is not GroupDocs::Document
|
144
|
-
#
|
145
|
-
def modify_field!(field, document, recipient, access = {})
|
146
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
147
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
148
|
-
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
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}"
|
152
|
-
|
153
|
-
# prepare payload
|
154
|
-
payload = field.to_hash # field itself
|
155
|
-
payload.delete(:locations) # remove locations array
|
156
|
-
payload.merge!(field.locations.first.to_hash) # location should added in plain view (i.e. not "locations": [{...}])
|
157
|
-
|
158
|
-
Api::Request.new do |request|
|
159
|
-
request[:access] = access
|
160
|
-
request[:method] = :PUT
|
161
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipientGuid/#{recipient.id}field/#{field.id}"
|
162
|
-
request[:request_body] = payload
|
163
|
-
end.execute!
|
164
|
-
end
|
165
|
-
|
166
|
-
#
|
167
|
-
# Assigns document field to new recipient.
|
168
|
-
#
|
169
|
-
# @example Assign template field
|
170
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
171
|
-
# document = template.documents!.first
|
172
|
-
# recipient_one = template.recipients![0]
|
173
|
-
# recipient_two = template.recipients![1]
|
174
|
-
# field = template.fields!(document, recipient).first
|
175
|
-
# template.assign_field! field, document, recipient_one, recipient_two
|
176
|
-
#
|
177
|
-
# @example Assign envelope field
|
178
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
179
|
-
# document = envelope.documents!.first
|
180
|
-
# recipient_one = envelope.recipients![0]
|
181
|
-
# recipient_two = envelope.recipients![1]
|
182
|
-
# field = envelope.fields!(document, recipient).first
|
183
|
-
# envelope.assign_field! field, document, recipient_one, recipient_two
|
184
|
-
#
|
185
|
-
# @param [GroupDocs::Signature::Field] field
|
186
|
-
# @param [GroupDocs::Document] document
|
187
|
-
# @param [GroupDocs::Signature::Recipient] assign_from
|
188
|
-
# @param [GroupDocs::Signature::Recipient] assign_to
|
189
|
-
# @param [Hash] access Access credentials
|
190
|
-
# @option access [String] :client_id
|
191
|
-
# @option access [String] :private_key
|
192
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
193
|
-
# @raise [ArgumentError] if document is not GroupDocs::Document
|
194
|
-
#
|
195
|
-
def assign_field!(field, document, assign_from, assign_to, access = {})
|
196
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
197
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
198
|
-
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
199
|
-
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
200
|
-
assign_from.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
201
|
-
"Assign from should be GroupDocs::Signature::Recipient object, received: #{assign_from.inspect}"
|
202
|
-
assign_to.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
203
|
-
"Assign to should be GroupDocs::Signature::Recipient object, received: #{assign_to.inspect}"
|
204
|
-
|
205
|
-
Api::Request.new do |request|
|
206
|
-
request[:access] = access
|
207
|
-
request[:method] = :POST
|
208
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/field/#{field.id}"
|
209
|
-
request[:request_body] = { :currentRecipientId => assign_from.id, :newRecipientId => assign_to.id }
|
210
|
-
end.execute!
|
211
|
-
end
|
212
|
-
|
213
|
-
#
|
214
|
-
# Deletes field.
|
215
|
-
#
|
216
|
-
# @example Delete field from template
|
217
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
218
|
-
# document = template.documents!.first
|
219
|
-
# recipient = template.recipients!.first
|
220
|
-
# field = template.fields!(document, recipient).first
|
221
|
-
# template.delete_field! field
|
222
|
-
#
|
223
|
-
# @example Delete field from envelope
|
224
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
225
|
-
# document = envelope.documents!.first
|
226
|
-
# recipient = envelope.recipients!.first
|
227
|
-
# field = envelope.fields!(document, recipient).first
|
228
|
-
# envelope.delete_field! field
|
229
|
-
#
|
230
|
-
# @param [GroupDocs::Signature::Field] field
|
231
|
-
# @param [Hash] access Access credentials
|
232
|
-
# @option access [String] :client_id
|
233
|
-
# @option access [String] :private_key
|
234
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
235
|
-
#
|
236
|
-
def delete_field!(field, access = {})
|
237
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
238
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
239
|
-
|
240
|
-
Api::Request.new do |request|
|
241
|
-
request[:access] = access
|
242
|
-
request[:method] = :DELETE
|
243
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/fields/#{field.id}"
|
244
|
-
end.execute!
|
245
|
-
end
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
#
|
251
|
-
# Modifies field location.
|
252
|
-
#
|
253
|
-
# @example Modify field location in template
|
254
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
255
|
-
# document = template.documents!.first
|
256
|
-
# recipient = template.recipients!.first
|
257
|
-
# field = template.fields!(document, recipient).first
|
258
|
-
# location = field.locations.first
|
259
|
-
# location.x = 0.123
|
260
|
-
# location.y = 0.123
|
261
|
-
# location.page = 2
|
262
|
-
# template.modify_field_location! location, field, document, recipient
|
263
|
-
#
|
264
|
-
# @example Modify field location in envelope
|
265
|
-
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
266
|
-
# document = envelope.documents!.first
|
267
|
-
# recipient = envelope.recipients!.first
|
268
|
-
# field = envelope.fields!(document, recipient).first
|
269
|
-
# location = field.locations.first
|
270
|
-
# location.x = 0.123
|
271
|
-
# location.y = 0.123
|
272
|
-
# location.page = 2
|
273
|
-
# envelope.modify_field_location! location, field, document, recipient
|
274
|
-
#
|
275
|
-
# @param [GroupDocs::Signature::Field::Location] location
|
276
|
-
# @param [GroupDocs::Signature::Field] field
|
277
|
-
# @param [GroupDocs::Document] document
|
278
|
-
# @param [GroupDocs::Signature::Recipient] recipient
|
279
|
-
# @param [Hash] access Access credentials
|
280
|
-
# @option access [String] :client_id
|
281
|
-
# @option access [String] :private_key
|
282
|
-
# @raise [ArgumentError] if location is not GroupDocs::Signature::Field::Location
|
283
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
284
|
-
# @raise [ArgumentError] if document is not GroupDocs::Document
|
285
|
-
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
286
|
-
#
|
287
|
-
def modify_field_location!(location, field, document, recipient, access = {})
|
288
|
-
location.is_a?(GroupDocs::Signature::Field::Location) or raise ArgumentError,
|
289
|
-
"Location should be GroupDocs::Signature::Field::Location object, received: #{location.inspect}"
|
290
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
291
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
292
|
-
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
293
|
-
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
294
|
-
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
295
|
-
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
296
|
-
|
297
|
-
Api::Request.new do |request|
|
298
|
-
request[:access] = access
|
299
|
-
request[:method] = :PUT
|
300
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipient/#{recipient.id}/fields/#{field.id}/locations/#{location.id}"
|
301
|
-
request[:request_body] = location.to_hash
|
302
|
-
end.execute!
|
303
|
-
end
|
304
|
-
|
305
|
-
#
|
306
|
-
# Deletes field location.
|
307
|
-
#
|
308
|
-
# @example Delete field location in template
|
309
|
-
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
310
|
-
# document = template.documents!.first
|
311
|
-
# recipient = template.recipients!.first
|
312
|
-
# field = template.fields!(document, recipient).first
|
313
|
-
# location = field.locations.first
|
314
|
-
# template.delete_field_location! location, field
|
315
|
-
#
|
316
|
-
# @example Delete field location in envelope
|
317
|
-
# envelope = GroupDocs::Signature::Envelop.get!("g94h5g84hj9g4gf23i40j")
|
318
|
-
# document = envelope.documents!.first
|
319
|
-
# recipient = envelope.recipients!.first
|
320
|
-
# field = envelope.fields!(document, recipient).first
|
321
|
-
# location = field.locations.first
|
322
|
-
# envelope.delete_field_location! location, field
|
323
|
-
#
|
324
|
-
# @example Delete field location in form
|
325
|
-
# form = GroupDocs::Signature::Form.get!("g94h5g84hj9g4gf23i40j")
|
326
|
-
# document = form.documents!.first
|
327
|
-
# field = form.fields!(document).first
|
328
|
-
# location = field.locations.first
|
329
|
-
# form.delete_field_location! location, field
|
330
|
-
#
|
331
|
-
# @param [GroupDocs::Signature::Field::Location] location
|
332
|
-
# @param [GroupDocs::Signature::Field] field
|
333
|
-
# @param [Hash] access Access credentials
|
334
|
-
# @option access [String] :client_id
|
335
|
-
# @option access [String] :private_key
|
336
|
-
# @raise [ArgumentError] if location is not GroupDocs::Signature::Field::Location
|
337
|
-
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
338
|
-
#
|
339
|
-
def delete_field_location!(location, field, access = {})
|
340
|
-
location.is_a?(GroupDocs::Signature::Field::Location) or raise ArgumentError,
|
341
|
-
"Location should be GroupDocs::Signature::Field::Location object, received: #{location.inspect}"
|
342
|
-
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
343
|
-
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
344
|
-
|
345
|
-
Api::Request.new do |request|
|
346
|
-
request[:access] = access
|
347
|
-
request[:method] = :DELETE
|
348
|
-
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/fields/#{field.id}/locations/#{location.id}"
|
349
|
-
end.execute!
|
350
|
-
end
|
351
|
-
|
352
|
-
end # FieldMethods
|
353
|
-
end # Signature
|
354
|
-
end # GroupDocs
|
1
|
+
module GroupDocs
|
2
|
+
class Signature
|
3
|
+
#
|
4
|
+
# Envelope and template entities share the same set of field methods.
|
5
|
+
#
|
6
|
+
# @see GroupDocs::Signature::Envelope
|
7
|
+
# @see GroupDocs::Signature::Form
|
8
|
+
# @see GroupDocs::Signature::Template
|
9
|
+
#
|
10
|
+
module FieldMethods
|
11
|
+
|
12
|
+
#
|
13
|
+
# Changed in release 1.5.8
|
14
|
+
#
|
15
|
+
# Returns an array of fields for document and recipient.
|
16
|
+
#
|
17
|
+
# @example Get fields from template
|
18
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
19
|
+
# document = template.documents!.first
|
20
|
+
# recipient = template.recipients!.first
|
21
|
+
# template.fields! document, recipient
|
22
|
+
#
|
23
|
+
# @example Get fields from envelope
|
24
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
25
|
+
# document = envelope.documents!.first
|
26
|
+
# recipient = envelope.recipients!.first
|
27
|
+
# envelope.fields! document, recipient
|
28
|
+
#
|
29
|
+
# @param [GroupDocs::Document] document
|
30
|
+
# @param [GroupDocs::Signature::Recipient] recipient
|
31
|
+
# @param [String] field_guid Field GUID
|
32
|
+
# @param [Hash] options
|
33
|
+
# @option options [Boolean] :public Defaults to false
|
34
|
+
# @param [Hash] access Access credentials
|
35
|
+
# @option access [String] :client_id
|
36
|
+
# @option access [String] :private_key
|
37
|
+
# @raise [ArgumentError] if document is not GroupDocs::Document
|
38
|
+
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
39
|
+
#
|
40
|
+
def fields!(document, recipient, options = {}, access = {})
|
41
|
+
|
42
|
+
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
43
|
+
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
44
|
+
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
45
|
+
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
46
|
+
|
47
|
+
client_id = client_id(options[:public])
|
48
|
+
api = Api::Request.new do |request|
|
49
|
+
request[:access] = access
|
50
|
+
request[:method] = :GET
|
51
|
+
request[:path] = "/signature/#{client_id}/#{class_name.pluralize}/#{id}/fields"
|
52
|
+
end
|
53
|
+
api.add_params(:document => document.file.guid, :recipient => recipient.id, :field => options[:field] )
|
54
|
+
json = api.execute!
|
55
|
+
|
56
|
+
json[:fields].map do |field|
|
57
|
+
Signature::Field.new(field)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
#
|
62
|
+
# Adds field for document and recipient.
|
63
|
+
#
|
64
|
+
# @example Add field to template
|
65
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
66
|
+
# field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
|
67
|
+
# field.location = { location_x: 0.1, location_y: 0.1, page: 1 }
|
68
|
+
# field.name = "Signer"
|
69
|
+
# document = template.documents!.first
|
70
|
+
# recipient = template.recipients!.first
|
71
|
+
# template.add_field! field, document, recipient
|
72
|
+
#
|
73
|
+
# @example Add field to envelope
|
74
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
75
|
+
# field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
|
76
|
+
# field.name = "Signer"
|
77
|
+
# field.location = { location_x: 0.1, location_y: 0.1, page: 1 }
|
78
|
+
# document = envelope.documents!.first
|
79
|
+
# recipient = envelope.recipients!.first
|
80
|
+
# envelope.add_field! field, document, recipient
|
81
|
+
#
|
82
|
+
# @param [GroupDocs::Signature::Field] field
|
83
|
+
# @param [GroupDocs::Document] document
|
84
|
+
# @param [GroupDocs::Signature::Recipient] recipient
|
85
|
+
# @param [Hash] options
|
86
|
+
# @option options [Boolean] :force_new_field Set to true to force new field create
|
87
|
+
# @param [Hash] access Access credentials
|
88
|
+
# @option access [String] :client_id
|
89
|
+
# @option access [String] :private_key
|
90
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
91
|
+
# @raise [ArgumentError] if document is not GroupDocs::Document
|
92
|
+
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
93
|
+
# @raise [ArgumentError] if field does not specify location
|
94
|
+
#
|
95
|
+
def add_field!(field, document, recipient, opts = {}, access = {})
|
96
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
97
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
98
|
+
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
99
|
+
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
100
|
+
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
101
|
+
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
102
|
+
field.location or raise ArgumentError,
|
103
|
+
"You have to specify field location, received: #{field.location.inspect}"
|
104
|
+
|
105
|
+
opts[:force_new_field] = true if opts[:force_new_field].nil?
|
106
|
+
payload = field.to_hash # field itself
|
107
|
+
payload.merge!(field.location.to_hash) # location should added in plain view (i.e. not "location": {...})
|
108
|
+
payload.merge!(:forceNewField => opts[:force_new_field]) # create new field flag
|
109
|
+
|
110
|
+
Api::Request.new do |request|
|
111
|
+
request[:access] = access
|
112
|
+
request[:method] = :POST
|
113
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipient/#{recipient.id}/field/#{field.id}"
|
114
|
+
request[:request_body] = payload
|
115
|
+
end.execute!
|
116
|
+
end
|
117
|
+
|
118
|
+
#
|
119
|
+
# Modifies document field.
|
120
|
+
#
|
121
|
+
# @example Modify template field
|
122
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
123
|
+
# document = template.documents!.first
|
124
|
+
# recipient = template.recipients!.first
|
125
|
+
# field = template.fields!(document, recipient).first
|
126
|
+
# field.name = "Field"
|
127
|
+
# template.modify_field! field, document
|
128
|
+
#
|
129
|
+
# @example Modify envelope field
|
130
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
131
|
+
# document = envelope.documents!.first
|
132
|
+
# recipient = envelope.recipients!.first
|
133
|
+
# field = envelope.fields!(document, recipient).first
|
134
|
+
# field.name = "Field"
|
135
|
+
# envelope.modify_field! field, document
|
136
|
+
#
|
137
|
+
# @param [GroupDocs::Signature::Field] field
|
138
|
+
# @param [GroupDocs::Document] document
|
139
|
+
# @param [Hash] access Access credentials
|
140
|
+
# @option access [String] :client_id
|
141
|
+
# @option access [String] :private_key
|
142
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
143
|
+
# @raise [ArgumentError] if document is not GroupDocs::Document
|
144
|
+
#
|
145
|
+
def modify_field!(field, document, recipient, access = {})
|
146
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
147
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
148
|
+
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
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}"
|
152
|
+
|
153
|
+
# prepare payload
|
154
|
+
payload = field.to_hash # field itself
|
155
|
+
payload.delete(:locations) # remove locations array
|
156
|
+
payload.merge!(field.locations.first.to_hash) # location should added in plain view (i.e. not "locations": [{...}])
|
157
|
+
|
158
|
+
Api::Request.new do |request|
|
159
|
+
request[:access] = access
|
160
|
+
request[:method] = :PUT
|
161
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipientGuid/#{recipient.id}field/#{field.id}"
|
162
|
+
request[:request_body] = payload
|
163
|
+
end.execute!
|
164
|
+
end
|
165
|
+
|
166
|
+
#
|
167
|
+
# Assigns document field to new recipient.
|
168
|
+
#
|
169
|
+
# @example Assign template field
|
170
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
171
|
+
# document = template.documents!.first
|
172
|
+
# recipient_one = template.recipients![0]
|
173
|
+
# recipient_two = template.recipients![1]
|
174
|
+
# field = template.fields!(document, recipient).first
|
175
|
+
# template.assign_field! field, document, recipient_one, recipient_two
|
176
|
+
#
|
177
|
+
# @example Assign envelope field
|
178
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
179
|
+
# document = envelope.documents!.first
|
180
|
+
# recipient_one = envelope.recipients![0]
|
181
|
+
# recipient_two = envelope.recipients![1]
|
182
|
+
# field = envelope.fields!(document, recipient).first
|
183
|
+
# envelope.assign_field! field, document, recipient_one, recipient_two
|
184
|
+
#
|
185
|
+
# @param [GroupDocs::Signature::Field] field
|
186
|
+
# @param [GroupDocs::Document] document
|
187
|
+
# @param [GroupDocs::Signature::Recipient] assign_from
|
188
|
+
# @param [GroupDocs::Signature::Recipient] assign_to
|
189
|
+
# @param [Hash] access Access credentials
|
190
|
+
# @option access [String] :client_id
|
191
|
+
# @option access [String] :private_key
|
192
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
193
|
+
# @raise [ArgumentError] if document is not GroupDocs::Document
|
194
|
+
#
|
195
|
+
def assign_field!(field, document, assign_from, assign_to, access = {})
|
196
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
197
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
198
|
+
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
199
|
+
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
200
|
+
assign_from.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
201
|
+
"Assign from should be GroupDocs::Signature::Recipient object, received: #{assign_from.inspect}"
|
202
|
+
assign_to.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
203
|
+
"Assign to should be GroupDocs::Signature::Recipient object, received: #{assign_to.inspect}"
|
204
|
+
|
205
|
+
Api::Request.new do |request|
|
206
|
+
request[:access] = access
|
207
|
+
request[:method] = :POST
|
208
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/field/#{field.id}"
|
209
|
+
request[:request_body] = { :currentRecipientId => assign_from.id, :newRecipientId => assign_to.id }
|
210
|
+
end.execute!
|
211
|
+
end
|
212
|
+
|
213
|
+
#
|
214
|
+
# Deletes field.
|
215
|
+
#
|
216
|
+
# @example Delete field from template
|
217
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
218
|
+
# document = template.documents!.first
|
219
|
+
# recipient = template.recipients!.first
|
220
|
+
# field = template.fields!(document, recipient).first
|
221
|
+
# template.delete_field! field
|
222
|
+
#
|
223
|
+
# @example Delete field from envelope
|
224
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
225
|
+
# document = envelope.documents!.first
|
226
|
+
# recipient = envelope.recipients!.first
|
227
|
+
# field = envelope.fields!(document, recipient).first
|
228
|
+
# envelope.delete_field! field
|
229
|
+
#
|
230
|
+
# @param [GroupDocs::Signature::Field] field
|
231
|
+
# @param [Hash] access Access credentials
|
232
|
+
# @option access [String] :client_id
|
233
|
+
# @option access [String] :private_key
|
234
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
235
|
+
#
|
236
|
+
def delete_field!(field, access = {})
|
237
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
238
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
239
|
+
|
240
|
+
Api::Request.new do |request|
|
241
|
+
request[:access] = access
|
242
|
+
request[:method] = :DELETE
|
243
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/fields/#{field.id}"
|
244
|
+
end.execute!
|
245
|
+
end
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
#
|
251
|
+
# Modifies field location.
|
252
|
+
#
|
253
|
+
# @example Modify field location in template
|
254
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
255
|
+
# document = template.documents!.first
|
256
|
+
# recipient = template.recipients!.first
|
257
|
+
# field = template.fields!(document, recipient).first
|
258
|
+
# location = field.locations.first
|
259
|
+
# location.x = 0.123
|
260
|
+
# location.y = 0.123
|
261
|
+
# location.page = 2
|
262
|
+
# template.modify_field_location! location, field, document, recipient
|
263
|
+
#
|
264
|
+
# @example Modify field location in envelope
|
265
|
+
# envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
|
266
|
+
# document = envelope.documents!.first
|
267
|
+
# recipient = envelope.recipients!.first
|
268
|
+
# field = envelope.fields!(document, recipient).first
|
269
|
+
# location = field.locations.first
|
270
|
+
# location.x = 0.123
|
271
|
+
# location.y = 0.123
|
272
|
+
# location.page = 2
|
273
|
+
# envelope.modify_field_location! location, field, document, recipient
|
274
|
+
#
|
275
|
+
# @param [GroupDocs::Signature::Field::Location] location
|
276
|
+
# @param [GroupDocs::Signature::Field] field
|
277
|
+
# @param [GroupDocs::Document] document
|
278
|
+
# @param [GroupDocs::Signature::Recipient] recipient
|
279
|
+
# @param [Hash] access Access credentials
|
280
|
+
# @option access [String] :client_id
|
281
|
+
# @option access [String] :private_key
|
282
|
+
# @raise [ArgumentError] if location is not GroupDocs::Signature::Field::Location
|
283
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
284
|
+
# @raise [ArgumentError] if document is not GroupDocs::Document
|
285
|
+
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
|
286
|
+
#
|
287
|
+
def modify_field_location!(location, field, document, recipient, access = {})
|
288
|
+
location.is_a?(GroupDocs::Signature::Field::Location) or raise ArgumentError,
|
289
|
+
"Location should be GroupDocs::Signature::Field::Location object, received: #{location.inspect}"
|
290
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
291
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
292
|
+
document.is_a?(GroupDocs::Document) or raise ArgumentError,
|
293
|
+
"Document should be GroupDocs::Document object, received: #{document.inspect}"
|
294
|
+
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
|
295
|
+
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
|
296
|
+
|
297
|
+
Api::Request.new do |request|
|
298
|
+
request[:access] = access
|
299
|
+
request[:method] = :PUT
|
300
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/documents/#{document.file.guid}/recipient/#{recipient.id}/fields/#{field.id}/locations/#{location.id}"
|
301
|
+
request[:request_body] = location.to_hash
|
302
|
+
end.execute!
|
303
|
+
end
|
304
|
+
|
305
|
+
#
|
306
|
+
# Deletes field location.
|
307
|
+
#
|
308
|
+
# @example Delete field location in template
|
309
|
+
# template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
|
310
|
+
# document = template.documents!.first
|
311
|
+
# recipient = template.recipients!.first
|
312
|
+
# field = template.fields!(document, recipient).first
|
313
|
+
# location = field.locations.first
|
314
|
+
# template.delete_field_location! location, field
|
315
|
+
#
|
316
|
+
# @example Delete field location in envelope
|
317
|
+
# envelope = GroupDocs::Signature::Envelop.get!("g94h5g84hj9g4gf23i40j")
|
318
|
+
# document = envelope.documents!.first
|
319
|
+
# recipient = envelope.recipients!.first
|
320
|
+
# field = envelope.fields!(document, recipient).first
|
321
|
+
# location = field.locations.first
|
322
|
+
# envelope.delete_field_location! location, field
|
323
|
+
#
|
324
|
+
# @example Delete field location in form
|
325
|
+
# form = GroupDocs::Signature::Form.get!("g94h5g84hj9g4gf23i40j")
|
326
|
+
# document = form.documents!.first
|
327
|
+
# field = form.fields!(document).first
|
328
|
+
# location = field.locations.first
|
329
|
+
# form.delete_field_location! location, field
|
330
|
+
#
|
331
|
+
# @param [GroupDocs::Signature::Field::Location] location
|
332
|
+
# @param [GroupDocs::Signature::Field] field
|
333
|
+
# @param [Hash] access Access credentials
|
334
|
+
# @option access [String] :client_id
|
335
|
+
# @option access [String] :private_key
|
336
|
+
# @raise [ArgumentError] if location is not GroupDocs::Signature::Field::Location
|
337
|
+
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
|
338
|
+
#
|
339
|
+
def delete_field_location!(location, field, access = {})
|
340
|
+
location.is_a?(GroupDocs::Signature::Field::Location) or raise ArgumentError,
|
341
|
+
"Location should be GroupDocs::Signature::Field::Location object, received: #{location.inspect}"
|
342
|
+
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
|
343
|
+
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
|
344
|
+
|
345
|
+
Api::Request.new do |request|
|
346
|
+
request[:access] = access
|
347
|
+
request[:method] = :DELETE
|
348
|
+
request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}/fields/#{field.id}/locations/#{location.id}"
|
349
|
+
end.execute!
|
350
|
+
end
|
351
|
+
|
352
|
+
end # FieldMethods
|
353
|
+
end # Signature
|
354
|
+
end # GroupDocs
|