History: API Tracker
Preview of version: 12
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
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.
<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>
<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>
<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>
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:
tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname
(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:
tiki-tracker-update_item?trackerId=1&itemId=3¬editable[]=name¬editable[]=surname
(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.
tiki-tracker-update_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None
tiki-tracker-insert_item?trackerId=1&itemId=3&fields~name&fields~surname&fields~education=None
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:
tiki-tracker-update_item?trackerId=1&itemId=3&editable[]=name&editable[]=surname&editable[]=school&fields~education=None
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)
tiki-tracker-insert_item?trackerId=2&next=tiki-tracker-insert_item%3FtrackerId%3D3&forced~childrenIdNumber=17
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)
tiki-tracker-insert_item?trackerId=11&forced~paymentsFamilyName={$row.name|replace:' ':''}
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)
tiki-tracker-update_item?trackerId=2&itemId=178&fields~childrenIdNumber=17
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 |
tiki-tracker-insert_item?trackerId=57&editable[]=inscrContenuCmdCommande&status=closed