History: API Tracker
Source of version: 12
Copy to clipboard
! API Tracker Tiki supports URL arguments and they can be used to interact with the Trackers and the plugins displaying or creating items. For example you can define a default value for a field in a customSearch or force the insertion of a value when creating an item. !! Examples ~tc~ This displayed only the field childrenIdNumber in the create item form. Needs a fix ? !!! To set a link that will create a new item and insert a value in a field Here we use it to create an item with a specific value for field. (replace "childrenIdNumber" with your category field permaname) {CODE()} tiki-tracker-insert_item?trackerId=2&next=tiki-tracker-insert_item%3FtrackerId%3D3&field~childrenIdNumber=17 {CODE}~/tc~ !!! Allow creation, edition and deletion of tracker items in a modal pop-up This is the html syntax for use in a smarty template file. {CODE(caption="Creation of an item in tracker 1")} <a class="click-modal tips" title=":Create new item" data-role="button" data-inline="true" href="tiki-tracker-insert_item?trackerId=1">Create new item</a> {CODE} {CODE(caption="Edition of item 3 in tracker 1")} <a class="click-modal tips" title=":Edit item" data-role="button" data-inline="true" href="tiki-tracker-update_item?trackerId=1&itemId=3">Edit item 3</a> {CODE} {CODE(caption="Deletion of item 3 in tracker 1")} <a class="click-modal tips" title=":Remove item" data-role="button" data-inline="true" href="tiki-tracker-remove_item?trackerId=1&itemId=3">Remove item 3</a> {CODE} !!! Create/Update some fields of an item using ''editable'' If you want to update two fields which permanentNames are ''name'' and ''surname'' and leave the other fields unchanged: {CODE(caption="Edition of two fields of item 3 in tracker 1")} tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname {CODE} (same principle for item creation) !!! Hide some fields of an item on the creation/edition using ''noteditable'' If you want to hide two fields which permanentNames are name and surname and edit the other fields: {CODE(caption="Hiding of two fields of item 3 in tracker 1")} tiki-tracker-update_item?trackerId=1&itemId=3¬editable[]=name¬editable[]=surname {CODE} (same principle for item creation) !!! Pre-fill field values using ''fields'' Note: once you use ''fields'', only the fields which you specifically mention will be available for edition. {CODE(caption="Edition of three fields of item 3 in tracker 1 with a prefilled value")} tiki-tracker-update_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None {CODE} {CODE(caption="Creation of item 3 in tracker 1 with a prefilled value and two extra fields")} tiki-tracker-insert_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None {CODE} This will prefill the "education" field and it will display fields ''name'' and ''surname'' as empty fields. It is probably perfect for creating a new item but not what you would expect for editing an existing item (loss of previous values). A better solution which does not lose previously entered content: {CODE(caption="Edition of three fields of item 3 in tracker 1 with one prefilled value")} tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname&editable[]=school&fields~education=None {CODE} !!! To set a link that will create a new item and force-insert and hide a value for a field Here we use it to create an item with a specific category Id. (replace "childrenIdNumber" with your category field permaname) {CODE()} tiki-tracker-insert_item?trackerId=2&next=tiki-tracker-insert_item%3FtrackerId%3D3&forced~childrenIdNumber=17 {CODE} All fields can be edited except the one which is forced which will not be shown. This can be used with a variable like a field from a plugin list. Here we prefill the (user)name and hide it.''The smarty replace modifier is required to remove extra space(s) added to the value(s)'' {CODE()} tiki-tracker-insert_item?trackerId=11&forced~paymentsFamilyName={$row.name|replace:' ':''} {CODE} !!! To set a link that will open the update modal for an existing item and insert a value for a field Here we use it to create an item with a specific category Id. (replace "permaname" with your category field permaname) {CODE()} tiki-tracker-update_item?trackerId=2&itemId=178&fields~childrenIdNumber=17 {CODE} !!! Status control with tiki-tracker-insert_item and tiki-tracker-update_item || code | status of saved item | is status selector displayed in pop-up window? status=open | open | yes status=pending | pending | yes status=closed | closed | yes status=0 | default value in tracker properties | No nothing about status | default value in tracker properties | only if "show status" is set in tracker properties || {CODE(caption="Example" theme="default")}tiki-tracker-insert_item?trackerId=57&editable[]=inscrContenuCmdCommande&status=closed{CODE} !! Updating a tracker field using POST ((API Tracker Update Demo))