projector_pws 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|