Loading...
 
Skip to main content

Trackerlist plugin's exactvalue with field(.,.,.) expression does not work with item links

Status
Closed
Subject
Trackerlist plugin's exactvalue with field(.,.,.) expression does not work with item links
Version
5.x
Category
  • Error
  • Usability
  • Less than 30-minutes fix
  • Patch
Feature
Trackers
Resolution status
Invalid
Submitted by
Gergely
Lastmod by
Ushindi Gedeon
Rating
(0)
Description

TW5.0beta1
Tried a field($fieldid,user,$trackerid) expression, and it does not work if the $fieldid is of item link type.
Debug insight:
While field($fieldid,user,$trackerid) results in the unresolved itemid referencing to the item link domain, the

Copy to clipboard
$items = $trklib->list_items($trackerId, $tr_offset, $max, $tr_sort_mode, $passfields, $filterfield, $filtervalue, $tr_status, $tr_initial, $exactvalue, $filter, $allfields);

call does not work. Namely, $trklib->list_items(..) works with the resolved item links. Therefore, there is no match.

Solution

(1) $trklib->list_items(..) shall use the itemid references instead of the real value in my opinion. However, this must have a big impact.

(2) We could resolve the link too when processing the field(..) exactvalue parameter. This way the strange behavior of $trklib->list_items(..) can be satisfied. To do so, we may add

Copy to clipboard
$field = $trklib->get_tracker_field($matches[2]); if ($field['type'] == 'r') { $refItemId = $trklib->get_item_id($field['options_array'][0], $field['options_array'][1], $l); $l = $trklib->get_item_value($field['options_array'][0], $refItemId, $field['options_array'][3]); }


after the

Copy to clipboard
$l = $trklib->get_item_value(0, $matches[4], $matches[2]);

line.

Workaround
Importance
8
Easy to solve?
7
Priority
56
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
3139
Created
Thursday 22 April, 2010 23:17:04 UTC
by Gergely
LastModif
Tuesday 02 June, 2026 07:59:09 UTC


Show PHP error messages