projector_pws 0.1.6 → 0.1.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 +4 -4
- data/lib/projector_pws/legacy.rb +32 -2
- data/lib/projector_pws/version.rb +1 -1
- data/lib/projector_pws.rb +41 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd3c93dc7d27baa346ccf2b0ef9f782bea615dc2
|
4
|
+
data.tar.gz: b630a5b9e6c58c2f086bce58fbcc6ba06528458b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f754744f35fbc6eb5d0a5785b266ab1640cb36727d7ed9b891a90d3b6b8b06a67cae2564f7c80a62e7b20a331af1959d4b8ac5de8e5dc11bc18009d9bad6f97f
|
7
|
+
data.tar.gz: 9b8146299124ca1db1ca403dd91de36555e1672b65aff64bd2f56b64564420481e78c62f6966ac71f34b9187d40e57fe577c99d776693f62e12bd749d5f6fb9c
|
data/lib/projector_pws/legacy.rb
CHANGED
@@ -51,8 +51,38 @@ module ProjectorPWS
|
|
51
51
|
end
|
52
52
|
|
53
53
|
# Export Resources
|
54
|
-
def self.export_resources url, username, password, account_code = nil
|
55
|
-
|
54
|
+
def self.export_resources url, username, password, account_code = nil, max_rows = nil
|
55
|
+
|
56
|
+
# Prepare Params
|
57
|
+
rparams = {}
|
58
|
+
rparams['tns:MaxRowsToReturn'] = max_rows if max_rows
|
59
|
+
|
60
|
+
with_auth(username, password, account_code, url) { |c, params| c.call(:export_resources, params.merge(message: { request: { 'Parameters' => rparams } })).body[:export_resources_response][:export_resources_result][:data][:resources][:resource] }
|
61
|
+
end
|
62
|
+
|
63
|
+
# Export Cost Cards
|
64
|
+
def self.export_cost_cards url, username, password, account_code = nil, min_date = nil, max_date = nil, max_rows = nil
|
65
|
+
|
66
|
+
# Prepare Params
|
67
|
+
rparams = {}
|
68
|
+
rparams['tns:MinIncurredDate'] = min_date.strftime '%Y-%m-%dz' if min_date
|
69
|
+
rparams['tns:MaxIncurredDate'] = max_date.strftime '%Y-%m-%dz' if max_date
|
70
|
+
rparams['tns:MaxRowsToReturn'] = max_rows if max_rows
|
71
|
+
|
72
|
+
# Make the call
|
73
|
+
with_auth(username, password, account_code, url) { |c, params| c.call(:export_cost_cards, params.merge(message: { request: { 'Parameters' => rparams } })).body[:export_cost_cards_response][:export_cost_cards_result][:data][:cost_cards][:cost_card] }
|
74
|
+
end
|
75
|
+
|
76
|
+
# Export Expense Reports
|
77
|
+
def self.export_expense_reports url, username, password, account_code = nil, numbers_after = nil, max_rows = nil
|
78
|
+
|
79
|
+
# Prepare Params
|
80
|
+
rparams = {}
|
81
|
+
rparams['tns:MaxRowsToReturn'] = max_rows if max_rows
|
82
|
+
rparams['tns:ExpenseReportNumbersAfter'] = numbers_after if numbers_after
|
83
|
+
|
84
|
+
# Make the call
|
85
|
+
with_auth(username, password, account_code, url) { |c, params| c.call(:export_expense_reports, params.merge(message: { request: { 'Parameters' => rparams } })).body[:export_expense_reports_response][:export_expense_reports_result][:data][:expense_reports][:expense_report] }
|
56
86
|
end
|
57
87
|
|
58
88
|
# Generate Service URL
|
data/lib/projector_pws.rb
CHANGED
@@ -159,6 +159,47 @@ module ProjectorPWS
|
|
159
159
|
c.call(:pws_get_resource_working_schedule, message: { 'pws:serviceRequest' => params }).body[:pws_get_resource_working_schedule_response][:pws_get_resource_working_schedule_result][:working_schedule]
|
160
160
|
end
|
161
161
|
|
162
|
+
# Get Resource Cost Cards
|
163
|
+
def self.get_resource_cost_cards c, ticket, resource_uid = nil, exclude_before = nil, flags = { approved: true }
|
164
|
+
|
165
|
+
# Prepare Params
|
166
|
+
params = { 'req:SessionTicket' => ticket }
|
167
|
+
params['tim:ExcludeApprovedCardsBefore'] = exclude_before.strftime '%Y-%m-%dz' if exclude_before
|
168
|
+
%w(approved approved_to_pay draft paid received rejected submitted transmitted).each { |f| params["tim:Include#{f.camelcase}Flag"] = flags[f.to_sym] if flags.include? f.to_sym }
|
169
|
+
params['tim:ResourceIdentity'] = { 'com:ResourceUid' => resource_uid } if resource_uid
|
170
|
+
|
171
|
+
# Fetch Resource Cost Cards
|
172
|
+
c.call(:pws_get_resource_cost_cards, message: { 'pws:serviceRequest' => params }).body[:pws_get_resource_cost_cards_response][:pws_get_resource_cost_cards_result][:cost_cards]
|
173
|
+
end
|
174
|
+
|
175
|
+
# Get Cost Centers
|
176
|
+
def self.get_cost_centers c, ticket
|
177
|
+
|
178
|
+
# Prepare Params
|
179
|
+
params = { 'req:SessionTicket' => ticket }
|
180
|
+
params['tim:IncludeEngagementCostCentersFlag'] = true
|
181
|
+
params['tim:IncludeResourceCostCentersFlag'] = true
|
182
|
+
params['tim:IncludeNonResourceNonEngagementCostCentersFlag'] = true
|
183
|
+
|
184
|
+
# Fetch Resources
|
185
|
+
c.call(:pws_get_cost_center_list, message: { 'pws:serviceRequest' => params }).body[:pws_get_cost_center_list_response][:pws_get_cost_center_list_result][:cost_centers]
|
186
|
+
end
|
187
|
+
|
188
|
+
# Get Expense Documents
|
189
|
+
def self.get_expense_documents c, ticket, reps = nil
|
190
|
+
|
191
|
+
# Prepare Params
|
192
|
+
params = { 'req:SessionTicket' => ticket }
|
193
|
+
if reps
|
194
|
+
params['tim:ExpenseDocumentIdentity'] = []
|
195
|
+
reps.each { |r| params['tim:ExpenseDocumentIdentity'] << { 'com:DocumentNumber' => r } }
|
196
|
+
end
|
197
|
+
|
198
|
+
# Fetch Expense Documents
|
199
|
+
c.call(:pws_get_expense_document, message: { 'pws:serviceRequest' => params }).body[:pws_get_expense_document_response][:pws_get_expense_document_result]
|
200
|
+
end
|
201
|
+
|
202
|
+
|
162
203
|
# Get Free Resources (non-busy) with associated minutes
|
163
204
|
def self.get_free_resources c, ticket, start_date = current_week_start, end_date = current_week_end
|
164
205
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: projector_pws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eresse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|