onlyoffice_api 0.7
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/lib/onlyoffice_api.rb +65 -0
- data/lib/teamlab/config.rb +39 -0
- data/lib/teamlab/modules/calendar.rb +111 -0
- data/lib/teamlab/modules/community.rb +20 -0
- data/lib/teamlab/modules/community/community_blogs.rb +54 -0
- data/lib/teamlab/modules/community/community_bookmarks.rb +60 -0
- data/lib/teamlab/modules/community/community_events.rb +50 -0
- data/lib/teamlab/modules/community/community_forums.rb +70 -0
- data/lib/teamlab/modules/community/community_wiki.rb +66 -0
- data/lib/teamlab/modules/crm.rb +32 -0
- data/lib/teamlab/modules/crm/crm_cases.rb +72 -0
- data/lib/teamlab/modules/crm/crm_common.rb +42 -0
- data/lib/teamlab/modules/crm/crm_contacts.rb +243 -0
- data/lib/teamlab/modules/crm/crm_files.rb +44 -0
- data/lib/teamlab/modules/crm/crm_history.rb +42 -0
- data/lib/teamlab/modules/crm/crm_invoices.rb +123 -0
- data/lib/teamlab/modules/crm/crm_opportunities.rb +93 -0
- data/lib/teamlab/modules/crm/crm_organisation.rb +14 -0
- data/lib/teamlab/modules/crm/crm_tags.rb +54 -0
- data/lib/teamlab/modules/crm/crm_tasks.rb +62 -0
- data/lib/teamlab/modules/crm/crm_user_fields.rb +34 -0
- data/lib/teamlab/modules/feed.rb +23 -0
- data/lib/teamlab/modules/files.rb +256 -0
- data/lib/teamlab/modules/group.rb +53 -0
- data/lib/teamlab/modules/group/group_helper.rb +15 -0
- data/lib/teamlab/modules/mail.rb +32 -0
- data/lib/teamlab/modules/mail/mail_accounts.rb +55 -0
- data/lib/teamlab/modules/mail/mail_alerts.rb +14 -0
- data/lib/teamlab/modules/mail/mail_contacts.rb +14 -0
- data/lib/teamlab/modules/mail/mail_conversations.rb +54 -0
- data/lib/teamlab/modules/mail/mail_folders.rb +18 -0
- data/lib/teamlab/modules/mail/mail_helpcenter.rb +10 -0
- data/lib/teamlab/modules/mail/mail_images.rb +18 -0
- data/lib/teamlab/modules/mail/mail_messages.rb +74 -0
- data/lib/teamlab/modules/mail/mail_settings.rb +17 -0
- data/lib/teamlab/modules/mail/mail_signature.rb +14 -0
- data/lib/teamlab/modules/mail/mail_tags.rb +30 -0
- data/lib/teamlab/modules/people.rb +104 -0
- data/lib/teamlab/modules/people/people_reassign.rb +26 -0
- data/lib/teamlab/modules/portals.rb +17 -0
- data/lib/teamlab/modules/project.rb +37 -0
- data/lib/teamlab/modules/projects/projects_comments.rb +34 -0
- data/lib/teamlab/modules/projects/projects_contacts.rb +18 -0
- data/lib/teamlab/modules/projects/projects_discussions.rb +46 -0
- data/lib/teamlab/modules/projects/projects_files.rb +34 -0
- data/lib/teamlab/modules/projects/projects_milestones.rb +46 -0
- data/lib/teamlab/modules/projects/projects_projects.rb +82 -0
- data/lib/teamlab/modules/projects/projects_reports.rb +18 -0
- data/lib/teamlab/modules/projects/projects_settings.rb +11 -0
- data/lib/teamlab/modules/projects/projects_tags.rb +18 -0
- data/lib/teamlab/modules/projects/projects_tasks.rb +94 -0
- data/lib/teamlab/modules/projects/projects_team.rb +30 -0
- data/lib/teamlab/modules/projects/projects_templates.rb +26 -0
- data/lib/teamlab/modules/projects/projects_time.rb +34 -0
- data/lib/teamlab/modules/settings.rb +100 -0
- data/lib/teamlab/name.rb +5 -0
- data/lib/teamlab/request.rb +79 -0
- data/lib/teamlab/response.rb +41 -0
- data/lib/teamlab/version.rb +5 -0
- metadata +140 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm files
|
5
|
+
module CrmFiles
|
6
|
+
def get_root_folder_id
|
7
|
+
@request.get(%w[files root])
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_file_list(entity_type, entity_id)
|
11
|
+
@request.get([entity_type.to_s,
|
12
|
+
entity_id.to_s,
|
13
|
+
'files'])
|
14
|
+
end
|
15
|
+
|
16
|
+
def associate_file_with_entity(entity_type, entity_id, *fileids)
|
17
|
+
@request.post([entity_type,
|
18
|
+
entity_id,
|
19
|
+
'files'],
|
20
|
+
fileids: fileids.flatten)
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_txt(entity_type, entity_id, title, content)
|
24
|
+
@request.post([entity_type.to_s,
|
25
|
+
entity_id.to_s,
|
26
|
+
'files',
|
27
|
+
'text'],
|
28
|
+
title: title,
|
29
|
+
content: content)
|
30
|
+
end
|
31
|
+
|
32
|
+
def upload_file(entity_type, entity_id, file)
|
33
|
+
@request.post([entity_type.to_s,
|
34
|
+
entity_id.to_s,
|
35
|
+
'files',
|
36
|
+
'upload'],
|
37
|
+
somefile: File.new(file))
|
38
|
+
end
|
39
|
+
|
40
|
+
def delete_file(id)
|
41
|
+
@request.delete(['files', id.to_s])
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm history
|
5
|
+
module CrmHistory
|
6
|
+
def get_event_list_by_filter(options = {})
|
7
|
+
@request.get(%w[history filter], options)
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_all_history_categories
|
11
|
+
@request.get(%w[history category])
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_event(contact_id, content, category_id, options = {})
|
15
|
+
@request.post(%w[history], { contactId: contact_id, content: content, categoryId: category_id }.merge(options))
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_history_category(title, image_name, options = {})
|
19
|
+
@request.post(%w[history category], { title: title.to_s, imageName: image_name.to_s }.merge(options))
|
20
|
+
end
|
21
|
+
|
22
|
+
def update_history_category(id, title, options = {})
|
23
|
+
@request.put(['history', 'category', id.to_s], { title: title }.merge(options))
|
24
|
+
end
|
25
|
+
|
26
|
+
def update_history_categories_order(*titles)
|
27
|
+
@request.put(%w[history category reorder], titles: titles.flatten)
|
28
|
+
end
|
29
|
+
|
30
|
+
def update_history_category_icon(id, icon_name)
|
31
|
+
@request.put(['history', 'category', id.to_s, 'icon'], imageName: icon_name.to_s)
|
32
|
+
end
|
33
|
+
|
34
|
+
def delete_event_and_related_files(id)
|
35
|
+
@request.delete(['history', id.to_s])
|
36
|
+
end
|
37
|
+
|
38
|
+
def delete_history_category(id)
|
39
|
+
@request.delete(['history', 'category', id.to_s])
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm invoices
|
5
|
+
module CrmInvoices
|
6
|
+
def get_invoice_taxes
|
7
|
+
@request.get(%w[invoice tax])
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_invoice_sample
|
11
|
+
@request.get(%w[invoice sample])
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_invoices_by_filter(options = {})
|
15
|
+
@request.get(%w[invoice filter], options)
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_invoices_settings
|
19
|
+
@request.get(%w[invoice settings])
|
20
|
+
end
|
21
|
+
alias get_settings get_invoices_settings
|
22
|
+
|
23
|
+
extend Gem::Deprecate
|
24
|
+
deprecate :get_settings, 'get_invoices_settings', 2020, 1
|
25
|
+
|
26
|
+
def get_invoice_items_by_filter(options = {})
|
27
|
+
@request.get(%w[invoiceitem filter], options)
|
28
|
+
end
|
29
|
+
|
30
|
+
def get_invoice_by_id(id)
|
31
|
+
@request.get(['invoice', id.to_s])
|
32
|
+
end
|
33
|
+
|
34
|
+
def get_entity_invoices(entity_type, entity_id)
|
35
|
+
@request.get([entity_type.to_s, 'invoicelist', entity_id.to_s])
|
36
|
+
end
|
37
|
+
|
38
|
+
def create_invoice(number, issue_date, client_id, due_date, language, currency, exchange_rate, terms, invoice_line, options = {})
|
39
|
+
@request.post(%w[invoice], { number: number, issueDate: issue_date, contactId: client_id, dueDate: due_date,
|
40
|
+
language: language, currency: currency, exchangeRate: exchange_rate, terms: terms,
|
41
|
+
invoiceLines: invoice_line }.merge(options))
|
42
|
+
end
|
43
|
+
|
44
|
+
def create_invoice_line(invoice_id, invoice_item_id, options = {})
|
45
|
+
@request.post(%w[invoiceline], { invoiceId: invoice_id, invoiceItemId: invoice_item_id }.merge(options))
|
46
|
+
end
|
47
|
+
|
48
|
+
def create_invoice_item(title, description, price, stock_keeping_unit, options = {})
|
49
|
+
@request.post(%w[invoiceitem], { title: title, description: description, price: price, sku: stock_keeping_unit.to_s }.merge(options))
|
50
|
+
end
|
51
|
+
|
52
|
+
def create_invoice_tax(name, description, options = {})
|
53
|
+
@request.post(%w[invoice tax], { name: name, description: description }.merge(options))
|
54
|
+
end
|
55
|
+
|
56
|
+
def update_invoice_item(id, title, description, price, stock_keeping_unit, options = {})
|
57
|
+
@request.put(['invoiceitem', id.to_s], { title: title, description: description, price: price, sku: stock_keeping_unit.to_s }.merge(options))
|
58
|
+
end
|
59
|
+
|
60
|
+
def update_invoice_tax(id, name, options = {})
|
61
|
+
@request.put(['invoice', 'tax', id.to_s], { name: name }.merge(options))
|
62
|
+
end
|
63
|
+
|
64
|
+
def update_invoice(id, options = {})
|
65
|
+
options[:id] = id
|
66
|
+
@request.put(['invoice', id.to_s], options)
|
67
|
+
end
|
68
|
+
|
69
|
+
def save_number_settings(options = {})
|
70
|
+
@request.put(%w[invoice settings name], options)
|
71
|
+
end
|
72
|
+
|
73
|
+
def save_terms_settings(options = {})
|
74
|
+
@request.put(%w[invoice settings terms], options)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Updates the status of invoices with the IDs specified in the request
|
78
|
+
# @param status [String] status to set
|
79
|
+
# @param invoice_ids [Array<Integer>] list of status to set
|
80
|
+
# @return [Teamlab::Response] result of update
|
81
|
+
def update_invoice_group_status(status, invoice_ids)
|
82
|
+
@request.put(['invoice', 'status', status.to_s], invoiceids: invoice_ids)
|
83
|
+
end
|
84
|
+
|
85
|
+
def update_invoice_line(invoice_line_id, invoice_id, options = {})
|
86
|
+
options[:id] = invoice_line_id
|
87
|
+
options[:invoiceId] = invoice_id
|
88
|
+
@request.put(['invoiceline', invoice_line_id], options)
|
89
|
+
end
|
90
|
+
|
91
|
+
def delete_batch_invoices(*invoice_ids)
|
92
|
+
@request.delete(%w[invoice], invoiceids: invoice_ids.flatten)
|
93
|
+
end
|
94
|
+
alias delete_invoices_bulk delete_batch_invoices
|
95
|
+
|
96
|
+
def delete_batch_items(*ids)
|
97
|
+
@request.delete(%w[invoiceitem], ids: ids.flatten)
|
98
|
+
end
|
99
|
+
alias delete_invoice_items_bulk delete_batch_items
|
100
|
+
|
101
|
+
def delete_invoice_item(id)
|
102
|
+
@request.delete(['invoiceitem', id.to_s])
|
103
|
+
end
|
104
|
+
|
105
|
+
def delete_invoice_tax(id)
|
106
|
+
@request.delete(['invoice', 'tax', id.to_s])
|
107
|
+
end
|
108
|
+
|
109
|
+
def delete_invoice(id)
|
110
|
+
@request.delete(['invoice', id.to_s])
|
111
|
+
end
|
112
|
+
|
113
|
+
def delete_invoice_line(id)
|
114
|
+
@request.delete(['invoiceline', id.to_s], id: id)
|
115
|
+
end
|
116
|
+
|
117
|
+
# @param invoice_item_id [Integer] id of invoice
|
118
|
+
# @return [Void]
|
119
|
+
def get_invoice_item_by_id(invoice_item_id)
|
120
|
+
@request.get(['invoiceitem', invoice_item_id])
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm opportunities methods
|
5
|
+
module CrmOpportunities
|
6
|
+
def get_all_opportunity_stages
|
7
|
+
@request.get(%w[opportunity stage])
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_opportunity_list(options = {})
|
11
|
+
@request.get(%w[opportunity filter], options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_opportunity_stage(stage_id)
|
15
|
+
@request.get(['opportunity', 'stage', stage_id.to_s])
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_opportunity_by_id(id)
|
19
|
+
@request.get(['opportunity', id.to_s])
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_all_opportunity_contacts(opportunity_id)
|
23
|
+
@request.get(['opportunity', opportunity_id.to_s, 'contact'])
|
24
|
+
end
|
25
|
+
|
26
|
+
def create_opportunity(stage_id, title, responsible_id, options = {})
|
27
|
+
options[:bidCurrencyAbbr] ||= 'USD'
|
28
|
+
@request.post(%w[opportunity], { stageId: stage_id, title: title, responsibleid: responsible_id }.merge(options))
|
29
|
+
end
|
30
|
+
|
31
|
+
def create_opportunity_stage(title, color, options = {})
|
32
|
+
@request.post(%w[opportunity stage], { title: title, color: color }.merge(options))
|
33
|
+
end
|
34
|
+
|
35
|
+
def add_opportunity_contact(opportunity_id, contact_id)
|
36
|
+
@request.post(['opportunity', opportunity_id.to_s, 'contact', contact_id.to_s])
|
37
|
+
end
|
38
|
+
|
39
|
+
def set_opportunity_access_rights(opportunity_ids, is_private, *users)
|
40
|
+
@request.put(%w[opportunity access], opportunityid: opportunity_ids.to_a.flatten, isPrivate: is_private, accessList: users.flatten)
|
41
|
+
end
|
42
|
+
|
43
|
+
def update_opportunity_stage(id, title, color, options = {})
|
44
|
+
@request.put(['opportunity', 'stage', id.to_s], { title: title, color: color }.merge(options))
|
45
|
+
end
|
46
|
+
|
47
|
+
def update_opportunity_stages_order(options = {})
|
48
|
+
@request.put(%w[opportunity stage reorder], options)
|
49
|
+
end
|
50
|
+
|
51
|
+
def set_opportunity_access_rights_for_users(options = {})
|
52
|
+
@request.put(%w[opportunity filter access], options)
|
53
|
+
end
|
54
|
+
|
55
|
+
def update_opportunity(opportunity_id, contact_id, title, responsible_id, stage_id, options = {})
|
56
|
+
@request.put(['opportunity', opportunity_id.to_s], { contactId: contact_id, title: title, responsibleid: responsible_id,
|
57
|
+
stageid: stage_id }.merge(options))
|
58
|
+
end
|
59
|
+
|
60
|
+
def update_opportunity_stage_color(stage_id, color)
|
61
|
+
@request.put(['opportunity', 'stage', stage_id.to_s, 'color'], color: color)
|
62
|
+
end
|
63
|
+
|
64
|
+
def set_rights_to_opportunity(opportunity_id, is_private, access_list)
|
65
|
+
@request.put(['opportunity', opportunity_id.to_s, 'access'], isPrivate: is_private, accessList: access_list)
|
66
|
+
end
|
67
|
+
|
68
|
+
def update_opportunity_to_stage(opportunity_id, stage_id)
|
69
|
+
@request.put(['opportunity', opportunity_id.to_s, 'stage', stage_id.to_s], stageid: stage_id)
|
70
|
+
end
|
71
|
+
|
72
|
+
def delete_opportunity_group(*opportunity_ids)
|
73
|
+
@request.put(%w[opportunity], opportunityids: opportunity_ids.flatten)
|
74
|
+
end
|
75
|
+
alias delete_opportunities_bulk delete_opportunity_group
|
76
|
+
|
77
|
+
def delete_opportunity_group_by_filter(options = {})
|
78
|
+
@request.delete(%w[opportunity filter], options)
|
79
|
+
end
|
80
|
+
|
81
|
+
def delete_opportunity_stage(stage_id)
|
82
|
+
@request.delete(['opportunity', 'stage', stage_id.to_s])
|
83
|
+
end
|
84
|
+
|
85
|
+
def delete_opportunity(opportunity_id)
|
86
|
+
@request.delete(['opportunity', opportunity_id.to_s])
|
87
|
+
end
|
88
|
+
|
89
|
+
def delete_opportunity_contact(opportunity_id, contact_id)
|
90
|
+
@request.delete(['opportunity', opportunity_id.to_s, 'contact', contact_id.to_s])
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm cases
|
5
|
+
module CrmOrganisation
|
6
|
+
def update_organisation_company_name(title)
|
7
|
+
@request.put(%w[settings organisation base], companyName: title)
|
8
|
+
end
|
9
|
+
|
10
|
+
def update_organisation_address(options = {})
|
11
|
+
@request.put(%w[settings organisation address], options)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm cases
|
5
|
+
module CrmTags
|
6
|
+
def get_tags_for_entity_type(entity_type)
|
7
|
+
@request.get([entity_type.to_s, 'tag'])
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_all_contact_tags(contact_id)
|
11
|
+
@request.get(['contact', contact_id.to_s, 'tag'])
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_entity_tags(entity_type, entity_id)
|
15
|
+
@request.get([entity_type.to_s, 'tag', entity_id.to_s])
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_tag(entity_type, tag_name)
|
19
|
+
@request.post([entity_type.to_s, 'tag'], tagName: tag_name)
|
20
|
+
end
|
21
|
+
|
22
|
+
def add_tag_to_case_group_by_filter(tag_name, options = {})
|
23
|
+
@request.post(%w[case filter taglist], { tagName: tag_name }.merge(options))
|
24
|
+
end
|
25
|
+
|
26
|
+
def add_tag_group_to_entity(entity_type, entity_id, tag_name)
|
27
|
+
@request.post([entity_type.to_s, 'taglist'], entityId: entity_id, tagName: tag_name)
|
28
|
+
end
|
29
|
+
|
30
|
+
def add_tag_to_opportunity_group(tag_name, options = {})
|
31
|
+
@request.post(%w[opportunity filter taglist], { tagName: tag_name }.merge(options))
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_tag(entity_type, entity_id, tag_name)
|
35
|
+
@request.post([entity_type.to_s, entity_id.to_s, 'tag'], tagName: tag_name)
|
36
|
+
end
|
37
|
+
|
38
|
+
def delete_tag(entity_type, tag_name)
|
39
|
+
@request.delete([entity_type.to_s, 'tag'], tagName: tag_name)
|
40
|
+
end
|
41
|
+
|
42
|
+
def delete_unused_tags(entity_type)
|
43
|
+
@request.delete([entity_type.to_s, 'tag', 'unused'])
|
44
|
+
end
|
45
|
+
|
46
|
+
def remove_tag(entity_type, entity_id, tag_name)
|
47
|
+
@request.delete([entity_type.to_s, entity_id.to_s, 'tag'], tagName: tag_name)
|
48
|
+
end
|
49
|
+
|
50
|
+
def add_contact_tag_to_group(entity_type, entity_id, tag)
|
51
|
+
@request.post([entity_type.to_s, entity_id.to_s, 'tag', 'group'], tagName: tag)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm tasks
|
5
|
+
module CrmTasks
|
6
|
+
def create_task(title, deadline, responsible_id, category_id, options = {})
|
7
|
+
@request.post(%w[task], { title: title, deadline: deadline, responsibleId: responsible_id, categoryId: category_id }.merge(options))
|
8
|
+
end
|
9
|
+
|
10
|
+
def update_task(task_id, title, deadline, category_id, options = {})
|
11
|
+
@request.put(['task', task_id.to_s], { title: title, deadline: deadline, categoryid: category_id }.merge(options))
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_task_list_by_filter(options = {})
|
15
|
+
@request.get(%w[task filter], options)
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_all_task_categories
|
19
|
+
@request.get(%w[task category])
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_task_by_id(task_id)
|
23
|
+
@request.get(['task', task_id.to_s])
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_task_category(category_id)
|
27
|
+
@request.get(['task', 'category', category_id.to_s])
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_task_category(title, image_name, options = {})
|
31
|
+
@request.post(%w[task category], { title: title.to_s, imageName: image_name.to_s }.merge(options))
|
32
|
+
end
|
33
|
+
|
34
|
+
def update_task_category(category_id, title, options = {})
|
35
|
+
@request.put(['task', 'category', category_id.to_s], { title: title }.merge(options))
|
36
|
+
end
|
37
|
+
|
38
|
+
def close_task(task_id)
|
39
|
+
@request.put(['task', task_id.to_s, 'close'])
|
40
|
+
end
|
41
|
+
|
42
|
+
def resume_task(task_id)
|
43
|
+
@request.put(['task', task_id.to_s, 'reopen'])
|
44
|
+
end
|
45
|
+
|
46
|
+
def update_task_categories_order(*titles)
|
47
|
+
@request.put(%w[task category reorder], titles: titles.flatten)
|
48
|
+
end
|
49
|
+
|
50
|
+
def update_task_category_icon(id, image_name)
|
51
|
+
@request.put(['task', 'category', id.to_s, 'icon'], imageName: image_name.to_s)
|
52
|
+
end
|
53
|
+
|
54
|
+
def delete_task(id)
|
55
|
+
@request.delete(['task', id.to_s])
|
56
|
+
end
|
57
|
+
|
58
|
+
def delete_task_category(category_id)
|
59
|
+
@request.delete(['task', 'category', category_id.to_s])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with crm tasks
|
5
|
+
module CrmUserFields
|
6
|
+
def get_user_field_values(entity_type, entity_id)
|
7
|
+
@request.get([entity_type.to_s, entity_id.to_s, 'customfield'])
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_user_field_list(entity_type)
|
11
|
+
@request.get([entity_type.to_s, 'customfield', 'definitions'])
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_user_field(entity_type, label, field_type, options = {})
|
15
|
+
@request.post([entity_type.to_s, 'customfield'], { fieldType: field_type, label: label }.merge(options))
|
16
|
+
end
|
17
|
+
|
18
|
+
def set_user_field_value(entity_type, entity_id, field_id, field_value)
|
19
|
+
@request.post([entity_type.to_s, entity_id.to_s, 'customfield', field_id.to_s], fieldValue: field_value)
|
20
|
+
end
|
21
|
+
|
22
|
+
def update_selected_user_field(entity_type, user_field_id, label, field_type, options = {})
|
23
|
+
@request.put([entity_type.to_s, 'customfield', user_field_id.to_s], { fieldType: field_type, label: label }.merge(options))
|
24
|
+
end
|
25
|
+
|
26
|
+
def update_user_fields_order(entity_type, *field_ids)
|
27
|
+
@request.put([entity_type.to_s, 'customfield', 'reorder'], fieldIds: field_ids.flatten)
|
28
|
+
end
|
29
|
+
|
30
|
+
def delete_user_field(entity_type, field_id)
|
31
|
+
@request.delete([entity_type.to_s, 'customfield', field_id.to_s])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|