Loading...
 

History: Work_Custom_Pricing

Preview of version: 73

This profile is a showcase of how to setup trackers to allow defining work orders in one tracker, and linked them to billable tasks from 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.

These pages 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 feature_syntax_highlighter: y feature_jquery_tablesorter: y unified_incremental_update: y wikiplugin_tabs: y wikiplugin_button: y wikiplugin_param: y wikiplugin_tracker: y wikiplugin_trackerlist: y wikiplugin_list: y trackerfield_dropdownother: y trackerfield_autoincrement: y trackerfield_currency: y trackerfield_dynamiclist: y trackerfield_math: y ajax_inline_edit: y ajax_inline_edit_trackerlist: y


To store images associated with the tasks performed to reclaim the price for the work done.
YAML
objects: - type: file_gallery ref: work_orders_fgal_id data: name: Images from Work Orders done description: Images from the tasks performed associated to Work Orders. owner: admin archives: 0 flags: [ public, visible, lockable ] column: [ icon, name, created, creator, files ] image_max_size_x: 800 image_max_size_y: 600


Tracker 1: Work Orders

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_general data: name: General permname: general tracker: $profileobject:work_orders$ options: level: 3 toggle: o type: header order: 5 flags: - public - type: tracker_field ref: work_orders_WOID data: name: 'WO#' permname: woWOID tracker: $profileobject:work_orders$ options: samerow: 1 autocomplete: n exact: n type: text_field order: 10 flags: - list - searchable - public - mandatory - type: tracker_field ref: work_orders_name data: name: Name permname: woName tracker: $profileobject:work_orders$ options: samerow: 1 type: text_field order: 20 flags: - link - list - searchable - public - mandatory - type: tracker_field ref: work_orders_status data: name: Status permname: woStatus tracker: $profileobject:work_orders$ options: options: - 0-Received from client - 0-Received from client - 1-Confirmed by us - 2-Assigned to Account Manager - 3-Bid by contractor - 4-Assigned to contractor - 5-Work done by contractor - 6-Work accepted by our company - 7-Invoice Received from Contractor - 8-Contractor Paid - 9-Client Invoiced - 10-Client payment received type: dropdown order: 30 flags: - list - searchable - public - type: tracker_field ref: work_orders_workPrice data: name: Work Price permname: woWorkPrice tracker: $profileobject:work_orders$ options: trackerId: $profileobject:work_order_line_items$ displayFieldsList: - $profileobject:work_order_line_items_WO$ - $profileobject:work_order_line_items_WorkDescription$ - $profileobject:work_order_line_items_QtyBid$ - $profileobject:work_order_line_items_Units$ - $profileobject:work_order_line_items_Client$ - $profileobject:work_order_line_items_ClientPricePerUnit$ - $profileobject:work_order_line_items_OverridePriceForClient$ - $profileobject:work_order_line_items_KeywordsClient$ - $profileobject:work_order_line_items_Contractor$ - $profileobject:work_order_line_items_ContractorPricePerUnit$ - $profileobject:work_order_line_items_OverridePriceForContractor$ - $profileobject:work_order_line_items_KeywordsContractor$ displayFieldsListType: table status: opc addItems: Add preSelectFieldHere: $profileobject:work_orders_WOID$ preSelectFieldThere: $profileobject:work_order_line_items_WO$ preSelectFieldMethod: exact displayOneItem: multi selectMultipleValues: 1 indexRemote: - 0 type: item_link order: 40 flags: - public - type: tracker_field ref: work_orders_workPriceFinalForClient data: name: Work Price, final (Client) permname: woWorkPriceFinalForClient tracker: $profileobject:work_orders$ options: calculation: | (add (for-each (list (split-list (content woWorkPrice) (separator ,) (key id) ) ) (formula (tracker-field (object "trackeritem" id) (field woliTotalPriceForClient) ) ) ) ) recalculate: save type: math order: 50 flags: - list - searchable - public - type: tracker_field ref: work_orders_workPriceFinalForContractor data: name: Work Price, final (Contractor) permname: woWorkPriceFinalForContractor tracker: $profileobject:work_orders$ options: calculation: | (add (for-each (list (split-list (content woWorkPrice) (separator ,) (key id) ) ) (formula (tracker-field (object "trackeritem" id) (field woliTotalPriceForContractor) ) ) ) ) recalculate: save type: math order: 60 flags: - list - searchable - public - type: tracker_field ref: work_orders_location data: name: Location permname: location tracker: $profileobject:work_orders$ options: level: 3 toggle: o type: header order: 70 flags: - public - type: tracker_field ref: work_orders_address data: name: Address permname: woAddress tracker: $profileobject:work_orders$ options: samerow: 1 type: text_field order: 80 flags: - public - searchable - type: tracker_field ref: work_orders_zipCode data: name: Zip Code permname: woZipCode tracker: $profileobject:work_orders$ options: samerow: 1 type: numeric order: 90 flags: - public - searchable - type: tracker_field ref: work_orders_map data: name: Map permname: woMap 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_address$ sourceSearchEvent: indexalways type: map order: 100 flags: - public - type: tracker_field ref: work_orders_otherInfos data: name: Other infos permname: otherInfos tracker: $profileobject:work_orders$ options: level: 3 toggle: o type: header order: 200 flags: - public - type: tracker_field ref: work_orders_workOrderInstructions data: name: work order instructions permname: woWorkOrderInstructions tracker: $profileobject:work_orders$ options: distinct: n wysiwyg: n samerow: 1 type: text_area order: 210 flags: - public - searchable - type: tracker_field ref: work_orders_estimatedCompletionDate data: name: Estimated Completion Date permname: woEstimatedCompletionDate tracker: $profileobject:work_orders$ options: datetime: d blankdate: blank type: datetime order: 250 flags: - list - public - type: tracker_field ref: work_orders_user data: name: user permname: woUser tracker: $profileobject:work_orders$ options: type: user order: 300 flags: - public - searchable - 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_workOrderInstructions$


Tracker 2: Work Price Guide

YAML
objects: - type: tracker ref: work_price_guide data: name: Work Price Guide description: list_default_status: opc hide_list_empty_fields: y restrict_end: 0 form_classes: restrict_start: 0 - type: tracker_field ref: work_price_guide_workCategory data: name: Work category permname: wpgWorkCategory tracker: $profileobject:work_price_guide$ options: options: - | Appliance - remove - | Appliance - replace - Boarding - | Cap - dryer vent - | Cap - exposed drain - | Cap - exposed wire - | Cap - gas/water line - | Carpet - clean - | Clean - fireplace & chimney - | Clean - gutters - Garden work type: dropdown order: 0 flags: - list - public - type: tracker_field ref: work_price_guide_workDescription data: name: Work description permname: wpgWorkDescription tracker: $profileobject:work_price_guide$ options: samerow: 1 type: text_field order: 10 flags: - link - list - public - mandatory - type: tracker_field ref: work_price_guide_uM data: name: U/M permname: wpgUM tracker: $profileobject:work_price_guide$ options: options: - Unit - HRS type: dropdown order: 20 flags: - list - searchable - public - type: tracker_field ref: work_price_guide_clientPricePerUnit data: name: Price Per Unit (Client) permname: wpgClientPricePerUnit tracker: $profileobject:work_price_guide$ options: samerow: 1 size: 7 locale: en_US.UTF-8 currency: USD symbol: i all_symbol: 1 type: currency order: 30 description: > What you will get paid by your client for the work to do once done (that you subcontracted to a Contractor) flags: - list - public - type: tracker_field ref: work_price_guide_contractorPricePerUnit data: name: Price Per Unit (Contractor) permname: wpgContractorPricePerUnit tracker: $profileobject:work_price_guide$ options: samerow: 1 size: 7 locale: en_US.UTF-8 currency: USD symbol: i all_symbol: 1 type: currency order: 40 description: > What you will pay the contractor for the work done (subcontracted to them, based on the request of your client) flags: - list - public - type: tracker_option ref: work_price_guide_sort_default_field data: tracker: $profileobject:work_price_guide$ name: sort_default_field value: modification


Tracker 3: Work Order Line Items

YAML
objects: - type: tracker ref: > work_order_line_items data: name: > Bid/Completion Notes (Work Order Line Items) description: restrict_end: 0 form_classes: section_format: tab restrict_start: 0 - type: tracker_field ref: > work_order_line_items_WorkInfo data: name: Work Info permname: woliWorkInfo tracker: > $profileobject:work_order_line_items$ options: level: 2 toggle: o type: header order: 0 flags: - public - type: tracker_field ref: > work_order_line_items_WO data: name: WO permname: woliWO tracker: > $profileobject:work_order_line_items$ options: samerow: 1 dec_point: . thousands: , type: numeric order: 10 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_WorkDescription data: name: Work description permname: woliWorkDescription tracker: > $profileobject:work_order_line_items$ options: trackerId: $profileobject:work_price_guide$ fieldId: $profileobject:work_price_guide_workDescription$ displayFieldsList: - 0 displayFieldsListType: dropdown status: opc preSelectFieldMethod: exact displayOneItem: multi indexRemote: - 0 type: item_link order: 20 flags: - link - list - searchable - public - mandatory - type: tracker_field ref: > work_order_line_items_BidInfo data: name: Bid Info permname: woliBidInfo tracker: > $profileobject:work_order_line_items$ options: level: 2 toggle: o type: header order: 30 flags: - public - type: tracker_field ref: > work_order_line_items_Units data: name: Units permname: woliUnits tracker: > $profileobject:work_order_line_items$ options: trackerId: $profileobject:work_price_guide$ filterFieldIdThere: $profileobject:work_price_guide_workDescription$ filterFieldIdHere: > $profileobject:work_order_line_items_WorkDescription$ listFieldIdThere: $profileobject:work_price_guide_uM$ statusThere: opc hideBlank: 1 type: item_list_dynamic order: 40 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_QtyBid data: name: Qty (Bid) permname: woliQtyBid tracker: > $profileobject:work_order_line_items$ options: samerow: 1 dec_point: . thousands: , type: numeric order: 50 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_ClientSide data: name: ...Client Side permname: woliClientSide tracker: > $profileobject:work_order_line_items$ options: level: 3 toggle: o type: header order: 60 flags: - public - type: tracker_field ref: > work_order_line_items_Client data: name: Client permname: woliClient tracker: > $profileobject:work_order_line_items$ options: options: - Client 1 - Client 2 - Client 3 - other type: dropdown_other order: 70 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_ClientPricePerUnit data: name: Price Per Unit (Client) permname: woliClientPricePerUnit tracker: > $profileobject:work_order_line_items$ options: trackerId: $profileobject:work_price_guide$ filterFieldIdThere: $profileobject:work_price_guide_workDescription$ filterFieldIdHere: > $profileobject:work_order_line_items_WorkDescription$ listFieldIdThere: $profileobject:work_price_guide_clientPricePerUnit$ statusThere: opc hideBlank: 1 type: item_list_dynamic order: 80 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_OverridePriceForClient data: name: Override Price/U (Client) permname: woliOverridePriceForClient tracker: > $profileobject:work_order_line_items$ options: samerow: 1 size: 7 locale: en_US.UTF-8 currency: USD symbol: i all_symbol: 1 type: currency order: 90 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_TotalPriceForClient data: name: Total Price (Client) permname: woliTotalPriceForClient tracker: > $profileobject:work_order_line_items$ options: calculation: > (mul woliQtyBid woliOverridePriceForClient) recalculate: save type: math order: 100 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_KeywordsClient data: name: Bid Comments (Client) permname: woliKeywordsClient tracker: > $profileobject:work_order_line_items$ options: samerow: 1 autocomplete: n exact: n type: text_field order: 110 description: > Reason to Override for Client (Keywords), i.e. free text to facilitate aggregating in a later stage the work items with overidden prices to Clients due to a common reason (client, type of work, special promotion, etc.) flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_ContractorSide data: name: ...Contractor Side permname: woliContractorSide tracker: > $profileobject:work_order_line_items$ options: level: 3 toggle: o type: header order: 120 flags: - public - type: tracker_field ref: > work_order_line_items_Contractor data: name: Contractor permname: woliContractor tracker: > $profileobject:work_order_line_items$ options: options: - Contractor A - Contractor B - Contractor C - other type: dropdown_other order: 130 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_ContractorPricePerUnit data: name: Price Per Unit (Contractor) permname: woliContractorPricePerUnit tracker: > $profileobject:work_order_line_items$ options: trackerId: $profileobject:work_price_guide$ filterFieldIdThere: $profileobject:work_price_guide_workDescription$ filterFieldIdHere: > $profileobject:work_order_line_items_WorkDescription$ listFieldIdThere: $profileobject:work_price_guide_contractorPricePerUnit$ statusThere: opc hideBlank: 1 type: item_list_dynamic order: 140 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_OverridePriceForContractor data: name: Override Price/U (Contractor) permname: woliOverridePriceForContractor tracker: > $profileobject:work_order_line_items$ options: samerow: 1 size: 7 locale: en_US.UTF-8 currency: USD symbol: i all_symbol: 1 type: currency order: 150 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_TotalPriceForContractor data: name: Total Price (Contractor) permname: woliTotalPriceForContractor tracker: > $profileobject:work_order_line_items$ options: calculation: > (mul woliQtyBid woliOverridePriceForContractor) recalculate: save type: math order: 160 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_KeywordsContractor data: name: Bid Comments (Contractor) permname: woliKeywordsContractor tracker: > $profileobject:work_order_line_items$ options: samerow: 1 autocomplete: n exact: n type: text_field order: 170 description: > Reason to Override for Contractor (Keywords), i.e. free text to facilitate aggregating in a later stage the work items with overidden prices to Contractors due to a common reason (contractor, type of work, special promotion, etc.) flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_CompletionInfo data: name: Completion Info permname: woliCompletionInfo tracker: > $profileobject:work_order_line_items$ options: level: 2 toggle: o type: header order: 180 flags: - public - type: tracker_field ref: > work_order_line_items_QtyCompleted data: name: Qty (Completed) permname: woliQtyCompleted tracker: > $profileobject:work_order_line_items$ options: samerow: 1 dec_point: . thousands: , type: numeric order: 190 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_CommentsCompletion data: name: Comments (Completion) permname: woliCommentsCompletion tracker: > $profileobject:work_order_line_items$ options: distinct: n wysiwyg: n samerow: 1 type: text_area order: 200 flags: - list - searchable - public - type: tracker_field ref: > work_order_line_items_Photos data: name: ...Photos permname: woliPhotos tracker: > $profileobject:work_order_line_items$ options: level: 3 toggle: o type: header order: 210 flags: - public - type: tracker_field ref: > work_order_line_items_PhotosBefore data: name: Photos Before permname: woliPhotosBefore tracker: > $profileobject:work_order_line_items$ options: galleryId: $profileobject:work_orders_fgal_id$ displayMode: img replace: n uploadInModal: y image_x: 640 image_y: 480 type: files order: 220 flags: - list - public - type: tracker_field ref: > work_order_line_items_PhotosDuring data: name: Photos During permname: woliPhotosDuring tracker: > $profileobject:work_order_line_items$ options: galleryId: $profileobject:work_orders_fgal_id$ displayMode: img replace: n uploadInModal: y image_x: 820 image_y: 620 type: files order: 230 flags: - list - public - type: tracker_field ref: > work_order_line_items_PhotosAfter data: name: Photos After permname: woliPhotosAfter tracker: > $profileobject:work_order_line_items$ options: galleryId: $profileobject:work_orders_fgal_id$ displayMode: img replace: n uploadInModal: y type: files order: 240 flags: - list - public - type: tracker_option ref: > work_order_line_items_sort_default_field data: tracker: > $profileobject:work_order_line_items$ name: sort_default_field value: modification


Modules

YAML
objects: - type: module ref: module_menupage_wcp data: name: menupage params: pagemenu: $wcp_menupage_include groups: - Anonymous - Registered order: 2 position: left



Groups

Create a group "Clients" which has permission to view some fields related to them, but not visible by others. The other group "Contractors" will have the tracker field permision to see the other fields corresponding to them also, but not to Clients. And "Staff" will be able to edit the Work Orders and assign it to Contractors.

YAML
permissions: Staff: home: $profileobject:wcp_page$ description: Employees of your company to handle the data. They will assign work orders fro clients to contractors allow: include: [ Registered ] objects: - type: tracker id: $profileobject:work_orders$ allow: - list_trackers - view_trackers - view_trackers_pending - view_trackers_closed - modify_tracker_items - modify_tracker_items_pending - modify_tracker_items_closed - type: tracker id: $profileobject:work_price_guide$ allow: - list_trackers - view_trackers - view_trackers_pending - view_trackers_closed - modify_tracker_items - modify_tracker_items_pending - modify_tracker_items_closed - type: tracker id: $profileobject:work_order_line_items$ allow: - create_tracker_items - list_trackers - view_trackers - view_trackers_pending - view_trackers_closed - modify_tracker_items - modify_tracker_items_pending - modify_tracker_items_closed Clients: home: $profileobject:wcp_page$ description: Clients of your company. They will assign work orders to you to be done (by you or your contractors) allow: include: [ Registered ] objects: - type: tracker id: $profileobject:work_orders$ allow: - create_tracker_items - list_trackers - view_trackers - view_trackers_pending - view_trackers_closed - type: tracker id: $profileobject:work_price_guide$ allow: - list_trackers - view_trackers - type: tracker id: $profileobject:work_order_line_items$ allow: - create_tracker_items - list_trackers - view_trackers - view_trackers_pending - view_trackers_closed Contractors: home: $profileobject:wcp_page$ description: Members of the companies you request some work to be done associated with the Work Orders that you have received by your Clients. allow: include: [ Registered ] objects: - type: tracker id: $profileobject:work_orders$ allow: - list_trackers - view_trackers - modify_tracker_items - modify_tracker_items_pending - type: tracker id: $profileobject:work_price_guide$ allow: - list_trackers - view_trackers - type: tracker id: $profileobject:work_order_line_items$ allow: - list_trackers - view_trackers - modify_tracker_items - modify_tracker_items_pending



Users

Add a user to the group Members
YAML
objects: - type: user data: name: staff1 pass: staff1 email: staff1@example.com change: n groups: [ Staff ] - type: user data: name: client1 pass: client1 email: client1@example.com change: n groups: [ Clients ] - type: user data: name: contractorA pass: contractorA email: contractorA@example.com change: n groups: [ Contractors ]


Sample data

In Tracker1: Work orders

YAML
objects: - type: tracker_item ref: wo_001 data: tracker: $Work_Custom_Pricing:work_orders status: open values: - [ $Work_Custom_Pricing:work_orders_WOID, 1 ] - [ $Work_Custom_Pricing:work_orders_name, "Check current status of the abandoned house ABC (The first Work Order: take pics, etc)" ] - [ $Work_Custom_Pricing:work_orders_status, "1-Confirmed by us" ] - [ $Work_Custom_Pricing:work_orders_address, "Avinguda de Vallcarca, 118. Barcelona. Spain" ] - type: tracker_item ref: wo_002 data: tracker: $Work_Custom_Pricing:work_orders status: pending values: - [ $Work_Custom_Pricing:work_orders_WOID, 2 ] - [ $Work_Custom_Pricing:work_orders_name, "Clean the house (from corruption)" ] - [ $Work_Custom_Pricing:work_orders_status, "0-Received from client" ] - [ $Work_Custom_Pricing:work_orders_address, "Calle de Génova, 13, 28004 Madrid" ] - type: tracker_item ref: wo_003 data: tracker: $Work_Custom_Pricing:work_orders status: open values: - [ $Work_Custom_Pricing:work_orders_WOID, 3 ] - [ $Work_Custom_Pricing:work_orders_name, "Extend Rurban Gardens near the farm house XYZ" ] - [ $Work_Custom_Pricing:work_orders_status, "0-Received from client" ] - [ $Work_Custom_Pricing:work_orders_address, "Can Masdéu, 08035 Barcelona" ]


In Tracker2: Work Price Guide

YAML
objects: - type: tracker_item ref: wpg_001 data: tracker: $Work_Custom_Pricing:work_price_guide status: open values: - [ $Work_Custom_Pricing:work_price_guide_workCategory, "Appliance - remove" ] - [ $Work_Custom_Pricing:work_price_guide_workDescription, "Remove old appliances from the abandoned house" ] - [ $Work_Custom_Pricing:work_price_guide_uM, "HRS" ] - [ $Work_Custom_Pricing:work_price_guide_clientPricePerUnit, "20" ] - [ $Work_Custom_Pricing:work_price_guide_contractorPricePerUnit, "10" ] - type: tracker_item ref: wpg_002 data: tracker: $Work_Custom_Pricing:work_price_guide status: open values: - [ $Work_Custom_Pricing:work_price_guide_workCategory, "Carpet - clean" ] - [ $Work_Custom_Pricing:work_price_guide_workDescription, "Clear carpets of each room of the house" ] - [ $Work_Custom_Pricing:work_price_guide_uM, "HRS" ] - [ $Work_Custom_Pricing:work_price_guide_clientPricePerUnit, "30" ] - [ $Work_Custom_Pricing:work_price_guide_contractorPricePerUnit, "15" ] - type: tracker_item ref: wpg_003 data: tracker: $Work_Custom_Pricing:work_price_guide status: open values: - [ $Work_Custom_Pricing:work_price_guide_workCategory, "Fix structures" ] - [ $Work_Custom_Pricing:work_price_guide_workDescription, "Fix wooden fence at the garden" ] - [ $Work_Custom_Pricing:work_price_guide_uM, "HRS" ] - [ $Work_Custom_Pricing:work_price_guide_clientPricePerUnit, "16" ] - [ $Work_Custom_Pricing:work_price_guide_contractorPricePerUnit, "8" ]


In Tracker3: Work Order Line Items

YAML
objects: - type: tracker_item ref: woli_001 data: tracker: $Work_Custom_Pricing:work_order_line_items status: open values: - [ $Work_Custom_Pricing:work_order_line_items_WO, 1 ] - [ $Work_Custom_Pricing:work_order_line_items_WorkDescription, $Work_Custom_Pricing:wpg_002 ] - [ $Work_Custom_Pricing:work_order_line_items_Units, $Work_Custom_Pricing:wpg_002 ] - [ $Work_Custom_Pricing:work_order_line_items_ClientPricePerUnit, $Work_Custom_Pricing:wpg_002 ] - [ $Work_Custom_Pricing:work_order_line_items_QtyBid, 5 ] - [ $Work_Custom_Pricing:work_order_line_items_Client, Client 1 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForClient, "28" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsClient, "lower price after delay" ] - [ $Work_Custom_Pricing:work_order_line_items_Contractor, Contractor A ] - [ $Work_Custom_Pricing:work_order_line_items_ContractorPricePerUnit, $Work_Custom_Pricing:wpg_002 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForContractor, "16" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsContractor, "special deal 2016 Fall" ] - type: tracker_item ref: woli_002 data: tracker: $Work_Custom_Pricing:work_order_line_items status: open values: - [ $Work_Custom_Pricing:work_order_line_items_WO, 1 ] - [ $Work_Custom_Pricing:work_order_line_items_WorkDescription, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_Units, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_ClientPricePerUnit, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_QtyBid, 2 ] - [ $Work_Custom_Pricing:work_order_line_items_Client, Client 1 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForClient, "15" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsClient, "lower price after delay" ] - [ $Work_Custom_Pricing:work_order_line_items_Contractor, Contractor A ] - [ $Work_Custom_Pricing:work_order_line_items_ContractorPricePerUnit, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForContractor, "10" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsContractor, "friends" ] - type: tracker_item ref: woli_003 data: tracker: $Work_Custom_Pricing:work_order_line_items status: open values: - [ $Work_Custom_Pricing:work_order_line_items_WO, 2 ] - [ $Work_Custom_Pricing:work_order_line_items_WorkDescription, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_Units, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_ClientPricePerUnit, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_QtyBid, 8 ] - [ $Work_Custom_Pricing:work_order_line_items_Client, Client 1 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForClient, "12" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsClient, "campaign to get more clients" ] - [ $Work_Custom_Pricing:work_order_line_items_Contractor, Contractor B ] - [ $Work_Custom_Pricing:work_order_line_items_ContractorPricePerUnit, $Work_Custom_Pricing:wpg_003 ] - [ $Work_Custom_Pricing:work_order_line_items_OverridePriceForContractor, "7" ] - [ $Work_Custom_Pricing:work_order_line_items_KeywordsContractor, "adjusted prices during campaign to get more clients" ]



Wiki pages

Add a page to allow adding items, and the instructions page

This will include: Profile_Work_Custom_Pricing_page

YAML
instructions: Work Custom Pricing Instructions preferences: enable: [ feature_wiki ] objects: - type: wiki_page ref: wcp_page data: name: Work Orders description: Interface to manage work orders lang: en mode: create_or_update content: wikicontent:Profile_Work_Custom_Pricing_page - type: wiki_page ref: wcp_instructions_page data: name: Work Custom Pricing Instructions description: Instructions on how to use this profile lang: en mode: create_or_update content: wikicontent:Profile_Work_Custom_Pricing_instructions_page - type: wiki_page ref: wcp_menupage_include data: name: Menu from WCP description: Custom Wiki Menu for the Work Custom Pricing Profile lang: en mode: create_or_update content: wikicontent:Profile_Work_Custom_Pricing_menupage_include



History

Advanced
Information Version
Fri 21 of Oct, 2016 15:59 GMT-0000 Xavier de Pedro added another WO, 2 more users, and assigned WO to users (client 1 or 2 and contractor 1 or 2 respectively), and added client and contractor to WO tracker 85
Fri 21 of Oct, 2016 15:46 GMT-0000 Xavier de Pedro fixed the crossSelect method for item link multiple values pre-matching to work 84
Thu 20 of Oct, 2016 21:04 GMT-0000 Xavier de Pedro fixed some perm names and change the obtain location from at indexing time to at saving time if empty 83
Wed 19 of Oct, 2016 20:28 GMT-0000 Xavier de Pedro fixed values of users in sample data 82
Wed 19 of Oct, 2016 20:19 GMT-0000 Xavier de Pedro fixed a few minor things 81
Wed 19 of Oct, 2016 20:15 GMT-0000 Xavier de Pedro fixed label 80
Wed 19 of Oct, 2016 20:12 GMT-0000 Xavier de Pedro fixed type of tracker field for contractor and client in the woli tracker 79
Wed 19 of Oct, 2016 19:56 GMT-0000 Xavier de Pedro added feature_fullscreen 78
Wed 19 of Oct, 2016 19:53 GMT-0000 Xavier de Pedro fixed refs 77
Wed 19 of Oct, 2016 19:51 GMT-0000 Xavier de Pedro added diff homepages for each group 76
Wed 19 of Oct, 2016 19:36 GMT-0000 Xavier de Pedro added visible by and editable by info 75
Wed 19 of Oct, 2016 19:03 GMT-0000 Xavier de Pedro added group homepage 74
Wed 19 of Oct, 2016 12:49 GMT-0000 Xavier de Pedro fixed homepage refs to use currently existing page for the time being 73
Wed 19 of Oct, 2016 12:43 GMT-0000 Xavier de Pedro added gruops, users, and local perms for the 3 trackers 72
Wed 19 of Oct, 2016 11:52 GMT-0000 Xavier de Pedro added default file gal resize params (x, y) and modified tracker files field so that one resizes to lower than file gal, one to higher than file gal settings, and one forces the resize to happen at th 71
Wed 19 of Oct, 2016 11:47 GMT-0000 Xavier de Pedro added default resizing for all the tracker field files 70
Wed 19 of Oct, 2016 11:45 GMT-0000 Xavier de Pedro added $profileobject:work_orders_fgal_id$ to the tracker fields photos 69
Wed 19 of Oct, 2016 11:42 GMT-0000 Xavier de Pedro testing a hypothesis to stop getting the error applying the profile 68
Wed 19 of Oct, 2016 11:40 GMT-0000 Xavier de Pedro testing a hypothesis to stop getting the error applying the profile 67
Wed 19 of Oct, 2016 11:39 GMT-0000 Xavier de Pedro re-added file gall (testing) 66
Sat 15 of Oct, 2016 03:10 GMT-0000 Xavier de Pedro fixed formulas (uses total price and not price per unit) 65
Sat 15 of Oct, 2016 03:05 GMT-0000 Xavier de Pedro added a few fields as displayed from woWork Price, and attempting to pre-select values by exact match between tracker WO and WOLI 64
Sat 15 of Oct, 2016 02:44 GMT-0000 Xavier de Pedro added more info from most fields from the sample data for woli tracker 63
Sat 15 of Oct, 2016 02:30 GMT-0000 Xavier de Pedro removed code section to avoid getting parsed by the profile code 62
Sat 15 of Oct, 2016 02:29 GMT-0000 Xavier de Pedro disable file gallery to allow the profile to be applied in 16.x and trunk (hopefully) 61