Skip to content

Commit

Permalink
fix(dropdownfield): root and limit miscomputations
Browse files Browse the repository at this point in the history
Signed-off-by: Thierry Bugier <tbugier@teclib.com>
  • Loading branch information
btry committed Oct 9, 2019
1 parent c4d4792 commit 9e8cc73
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions inc/fields/dropdownfield.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -224,20 +224,25 @@ public function displayField($canEdit = true) {
}
}

// Apply max depth if defined (CommonTreeDropdown)
if (isset($decodedValues['show_ticket_categories_depth'])
&& $decodedValues['show_ticket_categories_depth'] > 0) {
$dparams_cond_crit['level'] = ['<=', $decodedValues['show_ticket_categories_depth']];
}

// Set specific root if defined (CommonTreeDropdown)
$baseLevel = 0;
if (isset($decodedValues['show_ticket_categories_root'])
&& (int) $decodedValues['show_ticket_categories_root'] > 0) {
$sons = (new DBUtils)->getSonsOf(
ItilCategory::getTable(),
$itemtype::getTable(),
$decodedValues['show_ticket_categories_root']
);
$dparams_cond_crit['id'] = $sons;
$rootItem = new $itemtype();
if ($rootItem->getFromDB($decodedValues['show_ticket_categories_root'])) {
$baseLevel = $rootItem->fields['level'];
}
}

// Apply max depth if defined (CommonTreeDropdown)
if (isset($decodedValues['show_ticket_categories_depth'])
&& $decodedValues['show_ticket_categories_depth'] > 0) {
$dparams_cond_crit['level'] = ['<=', $decodedValues['show_ticket_categories_depth'] + $baseLevel];
}

$dparams['condition'] = $dparams_cond_crit;
Expand Down

0 comments on commit 9e8cc73

Please sign in to comment.