This profile is a showcase of how to setup trackers to allow defining work orders in one tracker, and linked them to billable tasks frmo another one, allowing to define a custom price aside of the guide and get some of the items selected summed in another field of tracker1. The tracker also demonstrates how item link field currently allows to create and link items in a second tracker on the fly and get them stored while adding the new item in the first tracker.
This page will be created:
Some tracker items are created for the price guide to ease the usage of the system.
YAML
permissions:
preferences:
feature_trackers: y
feature_search: y
feature_search_fulltext: n
feature_wiki_argvariable: y
unified_incremental_update: y
wikiplugin_tabs: y
wikiplugin_trackerlist: y
wikiplugin_list: y
trackerfield_dropdownother: y
instructions: Profile_Work_Custom_Pricing_Instructions_page
Tracker 1
YAML
objects:
-
type: tracker
ref: work_orders
data:
name: Work orders
description: >
This is where the work orders are stored
sort_default_order: desc
list_default_status: opc
hide_list_empty_fields: y
restrict_end: 0
form_classes:
section_format: tab
restrict_start: 0
show:
- status
-
type: tracker_field
ref: work_orders_WOID
data:
name: 'WO#'
permname: wcpWOID
tracker: $profileobject:work_orders$
options:
samerow: 1
autocomplete: n
exact: n
type: text_field
order: 0
flags:
- link
- list
- searchable
- public
- mandatory
-
type: tracker_field
ref: work_orders_status
data:
name: Status
permname: wcpStatus
tracker: $profileobject:work_orders$
options:
options:
- 0-Received from client
- 0-Received from client
- 1-Confirmed by us
- 2-Assigned to A.M.
- 3-Bid by contractor
- 4-Assigned to contractor
- 5-Work done by contractor
- 6-Work accepted by PPM
- 7-Invoice Received from Contractor
- 8-Contractor Paid
- 9-Client Invoiced
- 10-Client payment received
type: dropdown
order: 10
flags:
- list
- public
-
type: tracker_field
ref: work_orders_acctManager
data:
name: Acct. Manager
permname: wcpAcctManager
tracker: $profileobject:work_orders$
options:
options:
- Tom Smith
- Alice Brown
- John Brady
- Peter Green
type: dropdown
order: 20
flags:
- list
- public
-
type: tracker_field
ref: work_orders_readyForField
data:
name: Ready for Field?
permname: wcpReadyForField
tracker: $profileobject:work_orders$
options:
type: checkbox
order: 30
flags:
- list
- public
-
type: tracker_field
ref: work_orders_acceptedRejected
data:
name: accepted / rejected by contractor
permname: wcpAcceptedRejected
tracker: $profileobject:work_orders$
options:
options:
- **IN-FIELD**
- **IN-FIELD**
- ✔ accepted
- ✘ rejected
type: dropdown
order: 40
flags:
- list
- public
-
type: tracker_field
ref: work_orders_estimatedCompletionDate
data:
name: Estimated Completion Date
permname: estimatedCompletionDate
tracker: $profileobject:work_orders$
options:
datetime: d
blankdate: blank
type: datetime
order: 50
flags:
- link
- list
- public
-
type: tracker_field
ref: work_orders_projectBid
data:
name: Project bid
permname: projectBid
tracker: $profileobject:work_orders$
options:
samerow: 1
size: 7
locale: en_US
currency: USD
symbol: n
all_symbol: 1
type: currency
order: 60
flags:
- list
- public
-
type: tracker_field
ref: work_orders_pCRForm
data:
name: PCR form
permname: pCRForm
tracker: $profileobject:work_orders$
options:
relation: nfrworkorders.related.pcrform
filter: tracker_id=$unknownobject:57e44e39a642b$
display: list
type: relation
order: 70
flags:
- list
- public
-
type: tracker_field
ref: work_orders_rFO
data:
name: RFO
permname: rFO
tracker: $profileobject:work_orders$
options:
options:
- yes
- no
type: dropdown
order: 80
flags:
- list
- public
-
type: tracker_field
ref: work_orders_address
data:
name: Address
permname: address
tracker: $profileobject:work_orders$
options:
samerow: 1
type: text_field
order: 90
flags:
- list
- public
-
type: tracker_field
ref: work_orders_zipCode
data:
name: Zip Code
permname: zipCode
tracker: $profileobject:work_orders$
options:
samerow: 1
type: numeric
order: 100
flags:
- list
- public
-
type: tracker_field
ref: work_orders_map
data:
name: Map
permname: map
tracker: $profileobject:work_orders$
options:
use_as_item_location: 1
list_width: 200
list_height: 200
item_width: 500
item_height: 400
sourceFieldsList:
- >
$profileobject:work_orders_SITEADDRESS$
sourceSearchEvent: indexalways
type: map
order: 110
flags:
- list
- public
-
type: tracker_field
ref: work_orders_workPrice
data:
name: Work Price
permname: workPrice
tracker: $profileobject:work_orders$
options:
trackerId: $unknownobject:57e44e39a7006$
displayFieldsList:
- $unknownobject:57e44e39a7089$
- $unknownobject:57e44e39a70ef$
- $unknownobject:57e44e39a715c$
displayFieldsListType: table
status: opc
addItems: Add
preSelectFieldMethod: exact
displayOneItem: multi
selectMultipleValues: 1
indexRemote:
- 0
type: item_link
order: 130
flags:
- list
- public
-
type: tracker_field
ref: work_orders_workPriceFinal
data:
name: Work Price, final
permname: workPriceFinal
tracker: $profileobject:work_orders$
options:
calculation: |
(add
(for-each
(list
(split-list
(content workPrice)
(separator ,)
(key id)
)
)
(formula
(tracker-field
(object "trackeritem" id)
(field overridePrice)
)
)
)
)
recalculate: save
type: math
order: 140
flags:
- list
- public
-
type: tracker_field
ref: work_orders_contractor
data:
name: Contractor
permname: contractor
tracker: $profileobject:work_orders$
options:
trackerId: $unknownobject:57e44e39a761d$
fieldId: $unknownobject:57e44e39a770e$
displayFieldsList:
- 0
status: opc
preSelectFieldMethod: exact
displayOneItem: one
indexRemote:
- 0
type: item_link
order: 150
flags:
- list
- public
-
type: tracker_field
ref: work_orders_NFRMTGCO
data:
name: MTG CO
permname: NFRMTGCO
tracker: $profileobject:work_orders$
options:
samerow: 1
autocomplete: n
exact: n
type: text_field
order: 170
flags:
- list
- searchable
- public
-
type: tracker_field
ref: work_orders_NFRACCOUNTNUMBER
data:
name: 'ACCOUNT #'
permname: NFRACCOUNTNUMBER
tracker: $profileobject:work_orders$
options:
samerow: 1
autocomplete: n
exact: n
type: text_field
order: 180
flags:
- list
- searchable
- public
-
type: tracker_field
ref: work_orders_name
data:
name: Name
permname: name
tracker: $profileobject:work_orders$
options:
samerow: 1
type: text_field
order: 190
flags:
- public
-
type: tracker_field
ref: work_orders_NFRLOANTYPE
data:
name: LOAN TYPE
permname: NFRLOANTYPE
tracker: $profileobject:work_orders$
options:
samerow: 1
autocomplete: n
exact: n
type: text_field
order: 200
flags:
- searchable
- public
-
type: tracker_field
ref: work_orders_workOrderInstructions
data:
name: work order instructions
permname: workOrderInstructions
tracker: $profileobject:work_orders$
options:
distinct: n
wysiwyg: n
samerow: 1
type: text_area
order: 210
flags:
- public
-
type: tracker_field
ref: work_orders_NFRNOTES
data:
name: NOTES
permname: NFRNOTES
tracker: $profileobject:work_orders$
options:
height: 50
distinct: n
wysiwyg: n
samerow: 1
type: text_area
order: 220
flags:
- searchable
- public
-
type: tracker_field
ref: work_orders_SITEADDRESS
data:
name: ADDRESS
permname: SITEADDRESS
tracker: $profileobject:work_orders$
options:
height: 2
distinct: n
wysiwyg: n
samerow: 1
type: text_area
order: 230
flags:
- list
- searchable
- public
-
type: tracker_field
ref: work_orders_workCategory_1
data:
name: Work category 1
permname: workCategory_1
tracker: $profileobject:work_orders$
options:
samerow: 1
type: text_field
order: 240
flags:
- public
-
type: tracker_field
ref: work_orders_amount
data:
name: amount 1
permname: amount
tracker: $profileobject:work_orders$
options:
samerow: 1
dec_point: .
thousands: ,
type: numeric
order: 250
flags:
- public
-
type: tracker_field
ref: work_orders_workCategory_2
data:
name: Work category 2
permname: workCategory_2
tracker: $profileobject:work_orders$
options:
samerow: 1
type: text_field
order: 260
flags:
- public
-
type: tracker_field
ref: work_orders_amount_2
data:
name: amount 2
permname: amount_2
tracker: $profileobject:work_orders$
options:
samerow: 1
size: 7
locale: en_US
currency: USD
symbol: n
type: currency
order: 270
flags:
- public
-
type: tracker_field
ref: work_orders_workCategory_3
data:
name: Work category 3
permname: workCategory_3
tracker: $profileobject:work_orders$
options:
samerow: 1
type: text_field
order: 280
flags:
- public
-
type: tracker_field
ref: work_orders_amount_3
data:
name: amount 3
permname: amount_3
tracker: $profileobject:work_orders$
options:
samerow: 1
size: 7
locale: en_US
currency: USD
symbol: n
type: currency
order: 290
flags:
- public
-
type: tracker_field
ref: work_orders_totAmount
data:
name: Tot. Amount
permname: totAmount
tracker: $profileobject:work_orders$
options:
calculation: (round(add amount amount_2 amount_3)2)
recalculate: save
type: math
order: 300
flags:
- public
-
type: tracker_field
ref: work_orders_user
data:
name: user
permname: user
tracker: $profileobject:work_orders$
options:
type: user
order: 310
flags:
- public
-
type: tracker_field
ref: work_orders_clientPaymentReceived
data:
name: Client payment received?
permname: clientPaymentReceived
tracker: $profileobject:work_orders$
options:
options:
- yes
- no
type: dropdown
order: 320
flags:
- public
-
type: tracker_field
ref: work_orders_contractorSentPayment
data:
name: Contractor sent payment?
permname: contractorSentPayment
tracker: $profileobject:work_orders$
options:
options:
- yes
- no
type: dropdown
order: 330
flags:
- public
-
type: tracker_option
ref: work_orders_sort_default_field
data:
tracker: $profileobject:work_orders$
name: sort_default_field
value: >
$profileobject:work_orders_WOID$
-
type: tracker_option
ref: work_orders_popup_fields
data:
tracker: $profileobject:work_orders$
name: popup_fields
value: >
$profileobject:work_orders_NFRNOTES$,$profileobject:work_orders_amount$,$profileobject:work_orders_amount_2$,$profileobject:work_orders_amount_3$,$profileobject:work_orders_workCategory_1$,$profileobject:work_orders_workCategory_2$,$profileobject:work_orders_workCategory_3$
Sample data
YAML
objects:
-
type: tracker_item
ref: event_001
data:
tracker: $Work_Custom_Pricing:wcp_work_orders
status: open
values:
- [ $Work_Custom_Pricing:wcp_summary, "Welcome Party" ]
- [ $Work_Custom_Pricing:wcp_location, hall (100 seats) ]
-
type: tracker_item
ref: event_002
data:
tracker: $Work_Custom_Pricing:wcp_work_orders
status: pending
values:
- [ $Work_Custom_Pricing:wcp_summary, "Welcome Party" ]
- [ $Work_Custom_Pricing:wcp_location, hall (100 seats) ] -
type: tracker_item
ref: event_003
data:
tracker: $Work_Custom_Pricing:wcp_work_orders
status: open
values:
- [ $Work_Custom_Pricing:wcp_summary, "Welcome Party" ]
- [ $Work_Custom_Pricing:wcp_location, hall (100 seats) ]
Add a page to allow adding items
This will include:
Profile_Work_Custom_Pricing_page
YAML
instructions: Work_Custom_Pricing
preferences:
enable: [ feature_wiki ]
objects:
-
type: wiki_page
ref: wcp_page
data:
name: Work_Custom_Pricing
description: Interface to manage work orders
lang: en
content: wikicontent:Profile_Work_Custom_Pricing